{ "metadata": { "name": "simplest_glm" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Here we try the simplest possible general linear model on some example data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.kernel.zmq.pylab.backend_inline].\n", "For more information, type 'help(pylab)'.\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You are used to seeing these now:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "import nibabel as nib" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's get the data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "HOME = os.path.expanduser('~')\n", "DATA_PATH = os.path.join(HOME, 'data')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "img_fname = os.path.join(DATA_PATH, 'ds105', 'sub001', 'BOLD', 'task001_run001', 'bold.nii.gz')\n", "img = nib.load(img_fname)\n", "n_vols = img.shape[-1]\n", "n_vols" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "121" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's get the task. There were blocks of different types of objects in an on-off pattern. We'll pool the objects to get just 'on-off':" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# from sub001/model/model001/onsets/task001_run001\n", "block_starts_seconds = np.array([12, 48, 84, 120, 156, 192, 228, 264])\n", "block_length_seconds = 22\n", "TR = 2.5" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Same in scans:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "block_starts_scans = block_starts_seconds / TR\n", "block_length_scans = block_length_seconds / TR\n", "block_starts_scans" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "array([ 4.8, 19.2, 33.6, 48. , 62.4, 76.8, 91.2, 105.6])" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make a regressor. Let's give the HRF a delay of 2 scans or so." ] }, { "cell_type": "code", "collapsed": false, "input": [ "delay = 2\n", "regressor = np.zeros((n_vols,))\n", "for start in block_starts_scans:\n", " start_tr = round(start + delay)\n", " end_tr = round(start + delay + block_length_scans)\n", " regressor[start_tr:end_tr+1] = 1\n", " print start_tr, end_tr\n", "plt.plot(regressor)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "7.0 16.0\n", "21.0 30.0\n", "36.0 44.0\n", "50.0 59.0\n", "64.0 73.0\n", "79.0 88.0\n", "93.0 102.0\n", "108.0 116.0\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make the design:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "X = np.column_stack((regressor, np.ones((n_vols,))))\n", "Y = img.get_data()\n", "slice_size = np.prod(Y.shape[:-1])\n", "print slice_size\n", "Y = np.reshape(Y, (slice_size, n_vols)).T\n", "Y.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "163840\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "(121, 163840)" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "X" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "array([[ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 1., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.],\n", " [ 0., 1.]])" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fit the model!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "B = np.linalg.pinv(X).dot(Y)\n", "Pinv = np.linalg.pinv(X)\n", "B = Pinv.dot(Y)\n", "B = np.dot(Pinv, Y)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "B.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "(2, 163840)" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make B into an image again:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "B = np.reshape(B, (2,) + img.shape[:-1])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "B.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "(2, 40, 64, 64)" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have a look at the image:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.imshow(B[0, :, :, 40], cmap='gray')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nd/3T6Oiofec737Hf/e539uKLL9rDDz9sR44cGVqZNmzYYAcOHLD5+Xk7fPiwHThwwJ5//vmhlQfp\nwQcftKmpqe4N/GGWqdPp2LPPPmuHDh2yl19+2cyGW54vf/nL9rGPfcyOHDlihw8ftmuuuWZ95GkG\nSC+88EJzyy23dL/v2bOn2bNnzyC7HAgdPXq0ue6667rfr7766mZpaalpmqZZXFxsrr766vPF2lnT\n7bff3uzfv/+/QqYTJ040c3NzzW9/+9uhl2dhYaHZsWNH88wzzzQf//jHm6YZbru74oormmPHjvVc\nG1Z5jh8/3mzZsmXV9fWQZ6AZ9uuvv26XX3559/vk5KS9/vrrg+xyXWh5ednGx8fNzGx8fNyWl5fP\nM0dro9dee80OHTpkN9xww1DLtLKyYjMzMzY+Pt5d7hlmeczMvvrVr9oDDzzQ84cTwyxTp9Oxm266\nyebm5uzRRx81s+GV5+jRo7Zp0ya7++67bfv27fb5z3/eTpw4sS7yDBSw/xf2Yg/yMflB0j//+U+7\n88477cEHH7SLL76457dhk2lkZMTm5+ftT3/6k/3yl7+0AwcO9Pw+bPL89Kc/tcsuu8xmZ2fTx9+H\nSaZf/epXdujQIXv66aft4Ycftueee67n92GS5+2337aDBw/aF7/4RTt48KBddNFFq5Y/BiXPQAH7\nve99ry0sLHS/Lyws2OTk5CC7XBcaHx+3paUlM/v3S3kuu+yy88xRf3T69Gm78847bffu3faJT3zC\nzIZfJjOzSy65xG699Vb7zW9+M9TyvPDCC/aTn/zEtmzZYp/61KfsmWeesd27dw+1TBMTE2ZmtmnT\nJrvjjjvs5ZdfHlp5JicnbXJy0t7//vebmdldd91lBw8etM2bNw9cnoEC9tzcnP3hD3+w1157zU6d\nOmVPPfWU3XbbbYPscl3otttus8cff9zMzB5//PEu6A0DNU1jn/3sZ21qasq+8pWvdK8Pq0zHjh3r\n3o1/8803bf/+/TY7Ozu08piZ3XfffbawsGBHjx61H/7wh/aRj3zEnnzyyaGV6V//+pf94x//MDOz\nEydO2M9//nObnp4eWnk2b95sl19+ub3yyitmZvaLX/zCtm7dart27Rq8POd8VZzoZz/7WXPVVVc1\n73vf+5r77rtv0N2dc/rkJz/ZTExMNKOjo83k5GTz/e9/v/nLX/7S7Nixo7nyyiubnTt3Nn/729/O\nN5vV9NxzzzWdTqfZtm1bMzMz08zMzDRPP/300Mp0+PDhZnZ2ttm2bVszPT3d3H///U3TNEMrD9Oz\nzz7b7Nq1q2ma4ZXp1VdfbbZt29Zs27at2bp1axcHhlWepmma+fn5Zm5urrn++uubO+64ozl+/Pi6\nyDOwd4m01FJLLbV0bql90rGlllpqaUioBeyWWmqppSGhFrBbaqmlloaEWsBuqaWWWhoSagG7pZZa\namlIqAXsllpqqaUhof8DLpf3IFTcn1QAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "B_selected = B[:, 19, 12, 40]\n", "B_selected" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "array([ 14.78175313, 540.37209302])" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "Yselected = img.get_data()[19, 12, 40]\n", "Yselected.shape" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "(121,)" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "Bselected = np.linalg.pinv(X).dot(Yselected)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "Bselected" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "array([ 14.78175313, 540.37209302])" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(Yselected - np.mean(Yselected))\n", "plt.plot(regressor * 40, 'r')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nr1oAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "Xp = np.linalg.pinv(X)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "Xp_again = np.linalg.inv(X.T.dot(X)).dot(X.T)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "np.allclose(Xp - Xp_again, 0)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": [ "True" ] } ], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "X2 = np.column_stack((X, X.dot([0.5, 0.5])))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 }, { "cell_type": "code", "collapsed": false, "input": [ "# print X2" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "np.linalg.inv(X2.T.dot(X2))" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "LinAlgError", "evalue": "Singular matrix", "output_type": "pyerr", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mLinAlgError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlinalg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minv\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mX2\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mT\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mX2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;32m/home/jb/.local/lib/python2.7/site-packages/numpy/linalg/linalg.pyc\u001b[0m in \u001b[0;36minv\u001b[1;34m(a)\u001b[0m\n\u001b[0;32m 443\u001b[0m \"\"\"\n\u001b[0;32m 444\u001b[0m \u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mwrap\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_makearray\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 445\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mwrap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msolve\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0midentity\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 446\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 447\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/jb/.local/lib/python2.7/site-packages/numpy/linalg/linalg.pyc\u001b[0m in \u001b[0;36msolve\u001b[1;34m(a, b)\u001b[0m\n\u001b[0;32m 326\u001b[0m \u001b[0mresults\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlapack_routine\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn_eq\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn_rhs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn_eq\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpivots\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn_eq\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 327\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mresults\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'info'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 328\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mLinAlgError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Singular matrix'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 329\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mone_eq\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 330\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mwrap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mravel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresult_t\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mLinAlgError\u001b[0m: Singular matrix" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "pinvX2 = np.linalg.pinv(X2)\n", "print pinvX2.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(3, 121)\n" ] } ], "prompt_number": 36 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }