{ "metadata": { "name": "optimization" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "In this tutorial, we will learn how to use non-linear optimization routines in `scipy.optimize` to model data and examine a practical example, using some data from psychophysical experiments that I did in collaboration with [Ayelet Landau](http://www.esi-frankfurt.de/research/fries-lab/dr-ayelet-landau/). The code and data for generating this entire page are available in [this github repo](http://github.com/arokem/teach_optimization)\n", "\n", "This tutorial assumes that you know some python. Specifically, I am going to assume that you know how to define a function in python and that you have some acquaintance with the basics of `numpy`, `scipy` and `matplotlib` and that you know what to do with an `ipython` notebook. To get all of these installed on your own computer, your best bet is to head over to the [Enthought Python Distribution](http://www.enthought.com/products/epd_free.php). I will assume that you have started the ipython notebook session with the `--pylab=inline` flag, so that some of the needed modules are already imported and we are ready to display images inline as we go along. I will also assume that you know a little bit of statistics and that terms such *dependent* and *independent variable* are not completeley foreign to you. \n", "\n", "## Goals of this tutorial\n", "\n", "- Define modeling and understand why models are useful. \n", "- Learn about different strategies for fitting models.\n", "- Learn how to fit a simple model to empirical data using an iterative least-squares routine. \n", "- Learn about model selection and learn how to use cross-validation for model selection.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Why model? \n", "\n", "Let's consider a data-set taken from an experiment in visual neuroscience. In this experiment, participants viewed a stimulus that contained a grating. In each trial two gratings were displayed. To show these stimuli, let's import some stuff from IPython: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.display import display, Image" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first grating that was shown was surrounded by another grating: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "display(Image(filename='images/surrounded.png'))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAS8AAAEvCAYAAAAU3kfYAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGF\nVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8\nAUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWa\nGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJP\nwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzY\nZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0\nHPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgj\nONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyo\nBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrY\nBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiE\nhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrB\nDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfS\nPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1c\nAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0n\nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8e\nk6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWW\ning6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8O\nokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/\nwjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83\nGv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAdVpVFh0WE1MOmNv\nbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1w\ndGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3Lncz\nLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiBy\nZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90\naWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj4xPC90aWZmOkNvbXByZXNzaW9u\nPgogICAgICAgICA8dGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPjI8L3RpZmY6UGhvdG9t\nZXRyaWNJbnRlcnByZXRhdGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpP\ncmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94Onht\ncG1ldGE+CuSSjykAABt2SURBVHgB7Z19iFTV/8eP6/qQj5uiuCZp+ayZgkhhhFGhYGqKuYmGyGp/\nlPmUVqKmKCpbWppm/vHVxSJlM8PHFowURRRDDEx8TE3NVlHM9Wnz2R/n9rvTzOzM7tyZe8+cc+7r\nwjDnnnsePp/XZ/a9Z86ce26N8ePHPxIcEIAABAwjkGOYvZgLAQhAwCGAePFBgAAEjCSAeBkZNoyG\nAAQQLz4DEICAkQQQLyPDhtEQgADixWcAAhAwkgDiZWTYMBoCEEC8+AxAAAJGEkC8jAwbRkMAAogX\n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\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The second grating was not surrounded: \n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "display(Image(filename='images/comparison.png'))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAS8AAAEvCAYAAAAU3kfYAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGF\nVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8\nAUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWa\nGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJP\nwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzY\nZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0\nHPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgj\nONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyo\nBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrY\nBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiE\nhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrB\nDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfS\nPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1c\nAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0n\nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8e\nk6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWW\ning6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8O\nokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/\nwjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83\nGv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAdVpVFh0WE1MOmNv\nbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1w\ndGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3Lncz\nLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiBy\nZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90\naWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj4xPC90aWZmOkNvbXByZXNzaW9u\nPgogICAgICAgICA8dGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPjI8L3RpZmY6UGhvdG9t\nZXRyaWNJbnRlcnByZXRhdGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpP\ncmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94Onht\ncG1ldGE+CuSSjykAABCxSURBVHgB7d15j9tUFwfgzEuX71iKClQsEkxVARKLihgEgiIBf7QgsYhS\nROl37Kahjl4Hj48n29jxPfYTqUpy4+Xc51z/mplmpkfHx8enCzcCBAgkE/hfsnqVS4AAgaWA8LIQ\nCBBIKSC8UrZN0QQICC9rgACBlALCK2XbFE2AgPCyBggQSCkgvFK2TdEECAgva4AAgZQCwitl2xRN\ngIDwsgYIEEgpILxStk3RBAgIL2uAAIGUAsIrZdsUTYCA8LIGCBBIKSC8UrZN0QQICC9rgACBlALC\n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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Participants had to say which interval had higher *contrast*. That is, in which interval the amplitude of the modulation between the dark stripes and the light stripes in the grating was larger. This is a way for us to measure the effects of the presencee of a surround on contrast perception. For example, it is well known that the relative orientation of the surround affects the degree to which the surround reduces the perceived contrast of the central patch (e.g., see [recent work from Kosovicheva et al.](http://www.frontiersin.org/Behavioral_Neuroscience/10.3389/fnbeh.2012.00061/abstract) using a similar experimental paradigm). \n", "\n", "Let's look at some experimental data. We have two files from one subject in csv files, `ortho.csv` and `para.csv`. As their names suggest they come from two different runs of the experiment: one in which the surrounding stimulus was oriented in the parallel orientation relative to the center stimulus (also sometimes called 'co-linear') and one in which the surrounding stimulus was orthogonal to the center stimulus. The files contain three columns: `contrast1` is the contrast in the first interval, `contrast2` is the contrast in the second interval and `answer` is what the participant thought had higher contrast. We will use the function `mlab.csv2rec` to read the data into a `numpy recarray`: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "ortho = mlab.csv2rec('data/ortho.csv') \n", "para = mlab.csv2rec('data/para.csv')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you take a look at the data you will see that the contrast in the second interval was always 0.3 (30% contrast), so we can safely ignore that column altogether and only look at the contrast in the first interval. Let's take a look at the data. First, we are just going to plot the raw data as it is. We will consider the contrasts as our independent variable, and the responses as the dependent variables." ] }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1)\n", "# We apply a small vertical jitter to each point, just to show that there are multiple points at each location:\n", "ax.plot(ortho['contrast1'], ortho['answer'] + np.random.randn(len(ortho)) * 0.02 , '*')\n", "ax.plot(para['contrast1'], para['answer'] + np.random.randn(len(para)) * 0.02 , '+')\n", "ax.set_ylim([0.9, 2.1])\n", "ax.set_xlabel('Contrast 1')\n", "ax.set_ylabel('Which stimulus had higher contrast? (1 or 2)')\n", "\n", "fig.set_size_inches([8,8])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "There seems to be a trend in the data: the larger the contrast in the first interval, the more likely the subject was to press the '1' button. That's a reasonable thing to do, but it's hard to see and hard to quantify in this form. Instead, we will transform this data into a plot in which the independent variable is the contrast in interval 1 and the dependent variable is the proportion of trials for which the subject pressed the '1' key for each contrast. Let's define a function that will do that for us: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "def transform_data(data): \n", " \"\"\" \n", " Function that takes experimental data and gives us the dependent/independent variables for analysis\n", "\n", " Parameters\n", " ----------\n", "\n", " data : rec array \n", " The data with records: `contrast1`, `contrast2` and `answer`\n", "\n", " Returns\n", " -------\n", " x : The unique contrast differences. \n", " y : The proportion of '2' answers in each contrast difference\n", " n : The number of trials in each x,y condition \n", " \"\"\"\n", " contrast1 = data['contrast1']\n", " answers = data['answer']\n", " \n", " x = np.unique(contrast1)\n", " y = []\n", " n = []\n", "\n", " for c in x:\n", " idx = np.where(contrast1 == c)\n", " n.append(float(len(idx[0])))\n", " answer1 = len(np.where(answers[idx] == 1)[0])\n", " y.append(answer1 / n[-1])\n", "\n", " return x,y,n\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "x_ortho, y_ortho, n_ortho = transform_data(ortho)\n", "x_para, y_para, n_para = transform_data(para) " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1)\n", "# To plot each point with size proportional to the number of trials in that condition:\n", "for x,y,n in zip(x_ortho, y_ortho, n_ortho):\n", " ax.plot(x, y, 'bo', markersize=n)\n", "\n", "for x,y,n in zip(x_para, y_para, n_para):\n", " ax.plot(x, y, 'go', markersize=n)\n", "\n", "ax.set_xlabel('Contrast in interval 1')\n", "ax.set_ylabel('Proportion answers `1`')\n", "ax.set_ylim([-0.1, 1.1])\n", "ax.set_xlim([-0.1, 1.1])\n", "ax.grid('on')\n", "fig.set_size_inches([8,8])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nHLMSI2NObN42unLlit4lSINZiWFOYpiTOGYlRsac2LyJiIgkw+Zto7S0NL1LkAazEsOcxDAnccxK\njIw5SXOpGBERUW1SXXt2tmMdNpPg3xdERER2w8PmREREkmHzJiIikgybNxERkWTYvC1ISEhAYGAg\n/P398f7771e6zKRJk+Dv74/27dvjxx9/tHOFxmEpq9WrV6N9+/YIDQ1FWFgYjh07pkOV+hPZpgDg\n+++/h7OzM7755hs7VmccIjklJibi0UcfRUhICMLDw+1boIFYyio3NxcDBgxAhw4dEBISgi+//NL+\nRRrAqFGj0KJFC7Rr167KZaT5ea5QlYqLi5U2bdoo586dU27duqW0b99eSU1NrbDMf//7X2XgwIGK\noijKwYMHla5du+pRqu5Estq/f79y5coVRVEUZevWrbUyK5GcSpd78sknlaefflrZsGGDDpXqSySn\nP/74QwkODlYyMjIURVGUy5cv61Gq7kSyeuutt5QZM2YoilKS04MPPqgUFRXpUa6u9uzZoxw+fFgJ\nCQmp9H2Zfp5zz7saKSkp8PPzg6+vL1xcXBAVFYWNGzdWWGbTpk2Ijo4GAHTt2hVXrlzBxYsX9ShX\nVyJZdevWDY0bNwZQklVmZqYepepKJCcA+OSTTxAZGYlmzZrpUKX+RHL66quvMGTIEHh7ewMAmjZt\nqkepuhPJysPDA9euXQMAXLt2DQ899BCcnaW42EhVTzzxBB544IEq35fp5zmbdzWysrLg4+NT9trb\n2xtZWVkWl6mNTUkkq/KWL1+OQYMG2aM0QxHdpjZu3Ijx48cDqJ33ORDJ6fTp0/j999/x5JNPonPn\nzoiLi7N3mYYgktXYsWNx8uRJeHp6on379vj444/tXaYUZPp5Xvv+6WUF0R+ayj3XodfGH7bW/Jl3\n7dqFzz//HPv27dOwImMSyWny5MmYO3du2fN8792+agORnIqKinD48GF89913KCgoQLdu3fD444/D\n39/fDhUah0hW7733Hjp06IDExET8+uuv6Nu3L44ePQp3d3c7VCgXWX6es3lXw8vLCxkZGWWvMzIy\nyg7RVbVMZmYmvLy87FajUYhkBQDHjh3D2LFjkZCQUO3hK0clktOhQ4cQFRUFoOREo61bt8LFxQWD\nBw+2a616EsnJx8cHTZs2Rf369VG/fn307NkTR48erXXNWySr/fv344033gAAtGnTBo888ghOnTqF\n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\nVmX+AOdhsEK3eGA8AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Obviously there is a systematic relationship between the contrast and the chances that this subject thought that the first interval had the higher contrast. For example, when the contrast was much higher in interval 1 (e.g. 0.9), this person never said that the second interval had higher contrast. Likewise, when the contrast was very low, this person almost never said that the contrast in interval 1 had been higher. In the middle, there seems to be a monotonic relationship between the variables. Also, notive that the two sets of data (orthogonal and parallel) seem to be slightly different. \n", "\n", "Can we say something more precise? For example, we might be interested in the contrast in which 50% of the answers would have been '1' and 50% of the answers would have been '2'. This is known as the point of subjective equality (or PSE) and we can use it to compare different conditions in this experiment and in other experiments, between different subjects, etc. \n", "\n", "In order to derive this quantity, we will have to fit a model to the data. \n", "\n", "*Note: If were doing this in earnest, we would take into account the number of trials that was performed at each contrast (especially given that there are more trials in some conditions). For the purpose of this tutorial, we will ignore that.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Models and why we like them\n", "\n", "Models derived from data are useful for several reasons: \n", "\n", "- **They allow you to explain the data you have**: summary statistics of the data, such as the mean of some variable, or the variance of this variable, are often not the best explanation of the data you have observed, in terms of the theory. For example, in the data we have observed in our experiment, a useful quantity is the PSE, which telss us what the *perceived contrast* of the surrounding grating was. This quantity is not readily present in summary statistics of the data. A *functional form* of a model is a mathematical formula that relates systematic changes in measured dependent variables, based on experimental manipulations of the independent variables. The functional form of the model varies with changes in *model parameters*. In the typical case, parameters are variables specificied in the model, that are neither your dependent variables nor your independent variables. If the model parameters correspond to theoretically meaningful quantities (such as the PSE), that can make the model useful in explaining the data and help test hypotheses about the theory behind the experiment.\n", "\n", "- **They allow you to predict data you haven't collected**: In many cases, assuming that the parameters don't change with changes in the independent variables, models allow us to interpolate and predict what the dependent variables would have been like in other values of the independent variables. Even extrapolate to conditions that have not measured. For example, because measuring in these conditions is difficult for practical reasons. \n", "\n", "- **They allow us to build theories**: By applying a modeling approach to data, we can hope to build an incremental knowledge abouth the domain we are studying. For example, [Newton's law of gravitation](http://en.wikipedia.org/wiki/Newton's_law_of_universal_gravitation) provides us with a quantitative prediction on the behavior of any two bodies. The observation that this model does not perform well in all conditions, led to [Einstein's theory of general relativity](http://en.wikipedia.org/wiki/General_relativity), which provides a generalization of this law (model).\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Different kinds of models\n", "\n", "## Linear models\n", "The main distinction we will make here is between *linear* models and *non-linear* models. Linear models are models that can be described by the following functional form: \n", "\n", "$\\bf{y} = \\beta_0 + \\beta_1 \\bf{x}_1 + \\beta_2 \\bf{x}_2 + ... + \\beta_n \\bf{x}_n + \\epsilon$, \n", "\n", "where $\\bf{y}$ denotes the dependent variable or variables (that's why it's bold-faced: it could be a vector!) in your experiment. $\\bf{x}_i$ are sets of dependent variables (also, possibly vectors) and $\\beta_i$ are parameters. Finally, $\\epsilon$ is the noise in the experiment. You can also think about $\\epsilon$ as all the things that your model doesn't know about. For example, in the visual experiment described, changes in participants wakefulness might affect performance in a systematic way, but unless we explicitely measure wakefulness and add it as an independent variable to our analysis (as another $\\bf{x}$), we don't know it's value on each trial and it goes into the noise. \n", "\n", "Linear models are easy to fit. Under some fairly generic assumptions (for example that $\\epsilon$ has a zero-mean normal distribution), there is actually an analytic solution to this problem. That is, you can plug it into a formula and get the exact solution: the set of $\\beta$ that give you the smallest sum-of-squared-errors (SSE) between the data you collected and the function defined by the parameters (we will assume that this is your objective, though variataions on this do exist). This is the reason that if you can transform your data somehow to get it into a linear form, you should definitely do that. \n", "\n", "Let's fit a linear model to our data. In our case, a linear model would simply be a straight line: \n", "\n", "$y = \\beta_0 + \\beta_1 x$\n", "\n", "These kind of equations (*polynomials*) can be solved using `np.polyfit`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Note that the coefficients go in the other direction than my equation above (the constant comes last):\n", "beta1_ortho, beta0_ortho = np.polyfit(x_ortho, y_ortho, 1)\n", "beta1_para, beta0_para = np.polyfit(x_para, y_para, 1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "# Let's show the data and the model fit, \n", "# polyval evaluates the model at an arbitrary set of x values:\n", "x = np.linspace(np.min([x_ortho, x_para]), np.max([x_ortho, x_para]), 100)\n", "fig, ax = plt.subplots(1)\n", "ax.plot(x, np.polyval([beta1_ortho, beta0_ortho], x))\n", "ax.plot(x_ortho, y_ortho, 'bo')\n", "ax.plot(x, np.polyval([beta1_para, beta0_para], x))\n", "ax.plot(x_para, y_para, 'go')\n", "ax.set_xlabel('Contrast 1')\n", "ax.set_ylabel('Proportion responses `1`')\n", "ax.set_ylim([-0.1, 1.1])\n", "ax.set_xlim([-0.1, 1.1])\n", "ax.grid('on')\n", "fig.set_size_inches([8,8])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "#Let's quantify the fit by calculating the sum of squared errors relative to the actual data: \n", "SSE_ortho = np.sum((y_ortho - np.polyval([beta1_ortho, beta0_ortho], x_ortho))**2)\n", "SSE_para = np.sum((y_para - np.polyval([beta1_para, beta0_para], x_para))**2)\n", "print(SSE_ortho + SSE_para)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.435568123024\n" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, to derive the PSE, we need to do a little bit of algebra. We set y=0.5 (that's the definition of the PSE) and solve for x:\n", "\n", "$0.5 = \\beta_0 + \\beta_1 x$\n", "\n", "$ \\Rightarrow 0.5 - \\beta_0 = \\beta_1 x$ \n", "\n", "$ \\Rightarrow x = \\frac{0.5- \\beta_0}{\\beta1}$\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print('PSE for the orthogonal condition is:%s'%((0.5 - beta0_ortho)/beta1_ortho))\n", "print('PSE for the parallel condition is:%s'%((0.5 - beta0_para)/beta1_para))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "PSE for the orthogonal condition is:0.42841372023\n", "PSE for the parallel condition is:0.559650372242\n" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK - this model seems to capture some aspects of the data rather well. For one, it is monotonically increasing. And the SSE doesn't seem too bad (though that's hard to assess just by looking at this number). This model tells us that the PSE is at approximately 0.43 for orthogonal condition and approximately 0.56 for the parallel condition. That is, the contrast in the first interval has to be higher than the contrast in the second interval to appear exactly the same. By how much? For the orthogonal condition it's about 13% and for the parallel condition it's about 26% (considering that the comparison contrast is always 30%). This makes sense: more suppression for the parallel relative to the orthogonal condition. But there are a few problems with this model: It seems to miss a lot of the points. That could be because the data is very noisy, but we can see that the model systematically overshoot the fit for high values of x and systematically undershoots for low values of x. This indicates that another model might be better for this data. Another problem is that it seems to produce non-sensical values for some conditions. For example, it sometimes predicts values larger than 1.0 for large contrasts and values smaller than 0.0 for small contrasts. These values are meaningless, because proportion of responses can never be outside the range 0-1. We need to find a different model. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Non-linear models:\n", "\n", "Unfortunately, linear models don't always fit our data. As shown above, they might produce large and systematic fit error, or they might produce values that don't make sense. In these cases, we might need to fit a non-linear model to our data. Non-linear models cannot be described as above and are generally described by the following functional form: \n", "\n", "$\\bf{y} = f(\\bf{x}_1, \\bf{x}_2, ... \\bf{x}_n, \\bf{\\beta}) + \\epsilon$, \n", "\n", "Where $f()$ can be almost any function you can think of that takes $x$'s and $\\beta$'s as input. The problem is that there is no formula that you can just plug your function into and derive the values of the parameters. One way to find the value of the parameters for a given functional form is to use optimization. In this process, the computer systematically tries out different values of $\\beta$ and finds a set of these values that minimizes the SSE relative to the data. There are many different optimization algorithms and we will use one, a variant of the Levenberg-Marquardt algorithm, implemented in `scipy.optimize` as `leastsq`.\n", "\n", "## Step 1 : define the function\n", "To perform optimization, we need to define the functional form of our model. For this kind of data, a common model to use (e.g in [work by Yu and Levi](http://ww.journalofvision.org/content/2/3/4.full)) is a cumulative Gaussian function. The Gaussian distribution is parameterized by 2 numbers, the mean and the variance, so as in the linear model shown above, this model has 2 parameters: \n", "\n", "$y(x) = \\frac{1}{2}[1 + erf(\\frac{x-\\mu}{\\sigma \\sqrt{2} })]$, \n", "\n", "where $erf$ is the so-called 'error function', implemented in `scipy.special`\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.special import erf\n", "def cumgauss(x, mu, sigma):\n", " \"\"\"\n", " The cumulative Gaussian at x, for the distribution with mean mu and\n", " standard deviation sigma. \n", "\n", " Parameters\n", " ----------\n", " x : float or array\n", " The values of x over which to evaluate the cumulative Gaussian function\n", "\n", " mu : float \n", " The mean parameter. Determines the x value at which the y value is 0.5\n", " \n", " sigma : float \n", " The variance parameter. Determines the slope of the curve at the point of \n", " Deflection\n", " \n", " Returns\n", " -------\n", "\n", " Notes\n", " -----\n", " Based on:\n", " http://en.wikipedia.org/wiki/Normal_distribution#Cumulative_distribution_function\n", "\n", " \"\"\"\n", " return 0.5 * (1 + erf((x-mu)/(np.sqrt(2)*sigma)))\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The doc-string specifies one reason that we might want to use this function for this kind of data: one of the parameters of the function (mu) is simply the definition of the PSE. So, if we find this parameter, we already have the PSE in hand, without having to do any extra algebra. \n", "\n", "Let's plot a few exemplars of this function, just to get a feel for them:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1)\n", "ax.plot(x, cumgauss(x, 0.5, 0.25), label=r'$\\mu=0, \\sigma=0.25$')\n", "ax.plot(x, cumgauss(x, 0.5, 0.5), label=r'$\\mu=0, \\sigma=0.5$')\n", "ax.plot(x, cumgauss(x, 0.5, 0.75), label=r'$\\mu=0, \\sigma=0.75$')\n", "ax.plot(x, cumgauss(x, 0.3, 0.25), label=r'$\\mu=0.3, \\sigma=0.25$')\n", "ax.plot(x, cumgauss(x, 0.7, 0.25), label=r'$\\mu=0.3, \\sigma=0.25$')\n", "ax.set_ylim([-0.1, 1.1])\n", "ax.set_xlim([-0.1, 1.1])\n", "ax.grid('on')\n", "fig.set_size_inches([8,8])\n", "plt.legend(loc='lower right')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 14, "text": [ "" ] }, { "output_type": "display_data", "png": "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\nsv8HFqa5P+0ptpEAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, these are monotonically increasing functions. For different values of $\\mu$, the function moves left or right. As it is derived from the Gaussian function, it asymptotes at 0 and 1 at $-\\infty$ and $+\\infty$ respectively, and the rate at which it approaches these asymptotes on either side is determined by $\\sigma$. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 2 : define an error function\n", "\n", "The next step in the optimization procedure is to define an error-function, which can take this function, a particular set of data and a particular set of parameters and calculates the errors in fitting the function, relative to the data, given a particular set of parameters. These errors are also sometimes referred to as the *marginals* of the fitting proedure. In our optimization procedure, we will aim to minimize the sum of the squares of these marginals. If you want to optimize another cost-function (for example, sometimes you might want to minimize the *sum of the absolute error*, instead of the SSE), this is where you would implement this variation" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def err_func(params, x, y, func):\n", " \"\"\"\n", " Error function for fitting a function\n", " \n", " Parameters\n", " ----------\n", " params : tuple\n", " A tuple with the parameters of `func` according to their order of input\n", "\n", " x : float array \n", " An independent variable. \n", " \n", " y : float array\n", " The dependent variable. \n", " \n", " func : function\n", " A function with inputs: `(x, *params)`\n", " \n", " Returns\n", " -------\n", " The marginals of the fit to x/y given the params\n", " \"\"\"\n", " return y - func(x, *params)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that we are passing a function as an input to this function. This might be a pattern that you have never seen before, but when you think about it, there's nothing special about a function that doesn't allow us to pass it around as an object (well, that's not entirely true, functions are special, but bear with me). Note also that we have implemented this function to take *any* function as input and the `params` can be any tuple of parameters with any length. This will allow us to reuse this function later on for other models with a different number of parameters. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 3 : optimize!\n", "\n", "We import the `scipy.optimize` module and deploy `leastsq`: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "import scipy.optimize as opt\n", "# Let's guess the inital conditions: \n", "initial = 0,0.5\n", "# We get the params, and throw away the second output of leastsq:\n", "params_ortho, _ = opt.leastsq(err_func, initial, args=(x_ortho, y_ortho, cumgauss))\n", "params_para, _ = opt.leastsq(err_func, initial, args=(x_para, y_para, cumgauss))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 4 : evaluate\n", "\n", "Let's compare this to the data: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "plot(x, cumgauss(x, params_ortho[0], params_ortho[1]))\n", "plot(x, cumgauss(x, params_para[0], params_para[1]))\n", "plot(x_ortho, y_ortho, 'bo')\n", "plot(x_para, y_para, 'go')\n", "ax.set_ylim([-0.1, 1.1])\n", "ax.set_xlim([-0.1, 1.1])\n", "ax.grid('on')\n", "fig.set_size_inches([8,8])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "SSE_ortho = np.sum((y_ortho - cumgauss(x_ortho, *params_ortho))**2)\n", "SSE_para = np.sum((y_para - cumgauss(x_para, *params_para))**2)\n", "print(SSE_ortho + SSE_para)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.101687231561\n" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 5 : interpert\n", "\n", "In this case, one of the parameters is simply the PSE:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print('PSE for the orthogonal condition is:%s'%params_ortho[0])\n", "print('PSE for the parallel condition is:%s'%params_para[0])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "PSE for the orthogonal condition is:0.464386434318\n", "PSE for the parallel condition is:0.574567347471\n" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that we have managed to reduce the sum-of-squared error substantially relative to the linear model presented above, but it's still not perfect. How about trying a more complicated model, with more parameters. Another function that is often used to fit psychometric data is the Weibull cumulative distribution function, named after the great Swedish mathematician and engineer [Waloddi Weibull](http://en.wikipedia.org/wiki/Waloddi_Weibull)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def weibull(x,threshx,slope,guess,flake):\n", " \"\"\" \n", " The Weibull cumulative distribution function\n", "\n", " Parameters \n", " ---------- \n", " x : float or array\n", " The values of x over which to evaluate the cumulative Weibull function\n", " \n", " threshx : float\n", " The value of x at the deflection point of the function. For a guess set to 0.5, this is at approximately 0.81 \n", "\n", " slope : float\n", " The slope of the function at the deflection point. \n", "\n", " guess : float\n", " The guess rate. Between 0 and 1. For example, for a two-alternative forced-choice experiment, this would be 0.5\n", " \n", " flake : float \n", " The upper asymptote of the function. Often thought of as indicative of lapses in performance ('flake rate')\n", " \"\"\"\n", " threshy = 1 - (1 - guess) * np.exp(-1)\n", " flake = 1 - flake \n", " k = (-np.log((1 - threshy) / (1 - guess))) ** (1 / slope)\n", " return (flake - (flake - guess) * np.exp(-(k * x / threshx) ** slope))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1)\n", "ax.plot(x, weibull(x, 0.5, 3.5, 0.5, 0.05), label='threshx=0.5, slope=3.5, guess=0.5, flake=0.05')\n", "ax.plot(x, weibull(x, 0.5, 3.5, 0, 0.05), label='threshx=0.5, slope=3.5, guess=0, flake=0.05')\n", "ax.plot(x, weibull(x, 0.5, 3.5, 0, 0.15), label='threshx=0.5, slope=3.5, guess=0, flake=0.15')\n", "ax.plot(x, weibull(x, 0.25, 3.5, 0.5, 0.05), label='threshx=0.25, slope=3.5, guess=0.5, flake=0.05')\n", "ax.plot(x, weibull(x, 0.75, 3.5, 0, 0.15), label='threshx=0.75, slope=3.5, guess=0, flake=0.15')\n", "ax.set_ylim([-0.1, 1.1])\n", "ax.set_xlim([-0.1, 1.1])\n", "ax.grid('on')\n", "fig.set_size_inches([8,8])\n", "plt.legend(loc='lower right')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 36, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n+Hnz5sHd3R0ajQbBwcE4d+5cs+U2b96M/v37Q6/XY9y4ccjNzZW2qVQqrF27FgaDAW5ubliwYIFs\nQH7//fcxcOBA6HQ6jBw5ssW7fGsEBQXB3t5eWlar1Vbz1bIuaUybjwHU6fEvf/kL3Nzc4Ofnh3Xr\n1smmO/r06SO7q2z8iPbEiRMYOnQotFotQkJCZHdfW7duhcFggLOzM/z8/BAfHw+gdVtsjbS0NJw5\ncwZLlixBjx498Pvf/x7BwcFISEhote6UKVOwfft2rFy5Es7OzkhKSmritJ577jl4eHjAxcUF4eHh\nVm2ktLQUJpMJr7zyCgDgwoULePrpp6HX62E0GrF79+42tQuoy4s7f/58eHp6wtPTE/Pnz7eaH97e\n3h5z5szB448/3mzazTuxi7tOi2kX7hLtdBhBG+no/dKnTx9ZZpb61GUvvPACKyoqmJKSwh49evDC\nhQsk61IK2tvbMzExkSRZXl7OZ599li+++CJv3brFa9eucfDgwdy4cSPJunRi9Zm6Kisr+d1330nH\nsrOz49ixY1lcXMzMzEy6ublx//79JMlbt27R39+fW7du5ZEjR+jq6ipl+Lly5QpdXFys/uqzpsyZ\nM4ezZs2StTcoKIgJCQmt6sVkMnHJkiVN9OLl5UVvb29OnTrVaiq5xuzfv5+PPvooi4uLSdal7svN\nzSVZl9WoPqVgUlISXV1deebMGVZWVnL27NkcNmyYTF9PPvmklFLQ39+f//rXv0jWpa/r16+flJ7t\n73//O4cOHSprtzV9vfTSSzJ5R48ezQceeIAODg5SPzdHXFwcNRoNdTodAwICuH79ekX6IOuyVA0c\nOFBKKTh8+HBZ1p7GdhkXFydljcrOzqZer+e+fftI1qXN0+v1LCgoYFlZGZ2dnZmWlkaSzMvLk9Is\ntmSLSvSzZ88eDhgwQNaO2bNnc/bs2Yra3DiDVeP0nFu2bGFZWRmrqqr4yiuvMCQkpEndgoIC/vrX\nv5b2U1ZWRm9vb27dupU1NTU8c+YMXV1dpZR9//jHP6y2S6vVSvvXaDRS2kGSPH36NJ2cnFptk7e3\nt5Q+tJ47sQtrWBtHWxtfhfPtwrTWL4dw6K78bhdrzrdhKrvBgwdLKQJff/11hoeHS9vy8vLYo0cP\nlpeXS+vi4+NpMplIkpMmTeILL7zA7OzsJse2s7OTDYDjx4/nG2+8IS0nJydTq9Wyd+/e/PDDD9vc\n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\noX/2MHOGCgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, this function has more parameters, so it can probably account for more different shapes of data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# We guess the inital conditions again: \n", "initial = 0.5,3.5,0,0\n", "# fit again with leastsq, this time passing weibull as the input:\n", "params_ortho, _ = opt.leastsq(err_func, initial, args=(x_ortho, y_ortho, weibull))\n", "params_para, _ = opt.leastsq(err_func, initial, args=(x_para, y_para, weibull))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(1)\n", "ax.plot(x, weibull(x, *params_ortho))\n", "ax.plot(x, weibull(x, *params_para))\n", "ax.plot(x_ortho, y_ortho, 'bo')\n", "ax.plot(x_para, y_para, 'go')\n", "ax.set_ylim([-0.1, 1.1])\n", "ax.set_xlim([-0.1, 1.1])\n", "ax.grid('on')\n", "fig.set_size_inches([8,8])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "SSE_ortho = np.sum((y_ortho - weibull(x_ortho, *params_ortho))**2)\n", "SSE_para = np.sum((y_para - weibull(x_para, *params_para))**2)\n", "print(SSE_ortho + SSE_para)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.0864875981874\n" ] } ], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Wow! This looks great - we've managed to reduce the SSE even more! But maybe this is too good to be true? One thing to worry about is that this model has more parameters. That is, as we noted above, it has more freedom to fit a variety of different sets of data more closely.\n", "\n", "To understand this problem, let's consider an extreme case: consider fitting a model which is a polynomial of degree 7 to this data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "beta_ortho = np.polyfit(x_ortho, y_ortho, 7)\n", "beta_para = np.polyfit(x_para, y_para, 7)\n", "\n", "fig, ax = plt.subplots(1)\n", "ax.plot(x, np.polyval(beta_ortho, x))\n", "ax.plot(x_ortho, y_ortho, 'bo')\n", "ax.plot(x, np.polyval(beta_para, x))\n", "ax.plot(x_para, y_para, 'go')\n", "ax.set_ylim([-0.1, 1.5])\n", "ax.set_xlim([-0.1, 1.1])\n", "ax.grid('on')\n", "fig.set_size_inches([8,8])\n", "\n", "SSE_ortho = np.sum((y_ortho - np.polyval(beta_ortho, x_ortho))**2)\n", "SSE_para = np.sum((y_para - np.polyval(beta_para, x_para))**2)\n", "print(SSE_ortho + SSE_para)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.0393895514125\n" ] }, { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the SSE is even lower, but the parameters are adjusted to fit not only the underlying trends in the data, but also the idiosyncratic characteristics of the noise in this sample, to the point where you might reach some absurd conclusions fitting this data (for example, note the deflections of the model around a contrast of 0.8) \n", "\n", "This model has almost as many parameters as we have data points in our data. The result is *overfitting*. How can we be sure that we were not overfitting when we fit the Weibull function to our data? \n", "\n", "## Model selection\n", "\n", "Model selection refers to a process through which different models are compared to each other and one is selected over others. \n", "\n", "There are two general ways of doing this: \n", "\n", "- **Formal/parametric model comparison**: An F-test can be used to compare models that are *nested*. That is, a model in which an additional set of (one or more) parameters is added to an existing model. In addition, a few metrics have been developed to compare different models (also models that are not nested) based on the SSE and the number of parameters. [These](http://en.wikipedia.org/wiki/Bayesian_information_criterion) [metrics](http://en.wikipedia.org/wiki/Akaike_information_criterion) generally penalize a model for having many parameters and reward it for getting small SSE. However, these methods generally have some underlying assumptions and are not that transparent to understand. For a nice exposition on how to use these methods see [this paper]() (excuse the paywall...). Also, if you are interested in more on this topic, [The stats stack exchange website](http://stats.stackexchange.com/questions/20729/best-approach-for-model-selection-bayesian-or-cross-validation) is an excellent resource.\n", "\n", "\n", "- **Cross-validation**: The method we will focus on here is cross-validation. In this method, the accuracy of a model in fitting the data is assessed by fitting the parameters on part of the data (also referred to as the *training set*) and then testing it on another, held out data set (the *testing set*). In this case, overfitting is no longer a problem, because just looking at the training set, you can't possibly fit to the idiosyncratic noise present in the testing set. Let's see how that works for the comparison of the cumulative Gaussian and the Weibull functions. \n", "\n", "\n", "\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Split the data into testing and training sets:\n", "x_ortho_1 = x_ortho[1::2]\n", "y_ortho_1 = y_ortho[1::2]\n", "x_ortho_2 = x_ortho[::2]\n", "y_ortho_2 = y_ortho[::2]\n", "\n", "x_para_1 = x_para[1::2]\n", "y_para_1 = y_para[1::2]\n", "x_para_2 = x_para[::2]\n", "y_para_2 = y_para[::2]\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "initial = 0,0.5\n", "# Fit to the training data\n", "params_ortho_1, _ = opt.leastsq(err_func, initial, args=(x_ortho_1, y_ortho_1, cumgauss))\n", "params_para_1, _ = opt.leastsq(err_func, initial, args=(x_para_1, y_para_1, cumgauss))\n", "# Check SSE on the testing data:\n", "SSE_cumgauss = (np.sum((y_ortho_2 - cumgauss(x_ortho_2, *params_ortho_1))**2) + \n", " np.sum((y_para_2 - cumgauss(x_para_2, *params_para_1))**2))\n", "\n", "\n", "# Do this again, reversing training and testing data sets: \n", "params_ortho_2, _ = opt.leastsq(err_func, initial, args=(x_ortho_2, y_ortho_2, cumgauss))\n", "params_para_2, _ = opt.leastsq(err_func, initial, args=(x_para_2, y_para_2, cumgauss))\n", "# Check SSE on the testing data:\n", "SSE_cumgauss += (np.sum((y_ortho_1 - cumgauss(x_ortho_1, *params_ortho_2))**2) + \n", " np.sum((y_para_1 - cumgauss(x_para_1, *params_para_2))**2))\n", "\n", "print(\"For the cumulative Gaussian SSE=%s\"%SSE_cumgauss)\n", "\n", "# Let's do the same for the Weibull:\n", "initial = 0.5,3.5,0,0\n", "params_ortho_1, _ = opt.leastsq(err_func, initial, args=(x_ortho_1, y_ortho_1, weibull))\n", "params_para_1, _ = opt.leastsq(err_func, initial, args=(x_para_1, y_para_1, weibull))\n", "SSE_weibull = (np.sum((y_ortho_2 - weibull(x_ortho_2, *params_ortho_1))**2) + \n", " np.sum((y_para_2 - weibull(x_para_2, *params_para_1))**2))\n", "\n", "params_ortho_2, _ = opt.leastsq(err_func, initial, args=(x_ortho_2, y_ortho_2, weibull))\n", "params_para_2, _ = opt.leastsq(err_func, initial, args=(x_para_2, y_para_2, weibull))\n", "SSE_weibull += (np.sum((y_ortho_1 - weibull(x_ortho_1, *params_ortho_2))**2) + \n", " np.sum((y_para_1 - weibull(x_para_1, *params_para_2))**2))\n", "\n", "\n", "print(\"For the Weibull SSE=%s\"%SSE_weibull)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "For the cumulative Gaussian SSE=0.255651125042\n", "For the Weibull SSE=0.288565594471\n" ] } ], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the SSE we calculated are evaluated each time on a completely separate, non-overlapping set of data. This means that over-fitting could no longer occur, no matter how many parameters you fit. Therefore, this approach does not require counting of the number of parameters. In this case, the cumulative Gaussian seems to perform marginally better than the Weibull function, even though the Weibull has more parameters." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Summary\n", "\n", "This tutorial focused on fitting models to data. We examined an example of data from a psychophysical data and used the `scipy.optimize` function `leastsq` to perform an iterative fit of a non-linear model to this data. Finally, we used cross-validation to select among different models. \n", "\n", "This approach is, of course, not limited to psychophysical data and can be easily applied to other kinds of data. \n", "\n", "# Get the code\n", "\n", "If you want to try this out for yourself, the code is in [this github repo](https://github.com/arokem/teach_optimization). Comments, feedback and pull requests most welcome. " ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }