{ "cells": [ { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Example toy problem\n", "*******************\n", "\n", "This is a toy problem meant to demonstrate how one would use the ML Uncertainty toolbox. The problem being solved is a linear regression problem and has an uncertainty that can already be calculated analytically.\n", "\n", "Imports\n", "=======" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:02.825478Z", "start_time": "2019-05-17T18:48:02.202469Z" } }, "outputs": [], "source": [ "%matplotlib inline\n", "import scipy as sp\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import sklearn.linear_model as sklm\n", "import sklearn.model_selection as skcv\n", "import ml_uncertainty as plu" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Data and Metadata\n", "=================\n", "\n", "Data for the toy problem\n", "------------------------\n", "\n", "Here's some X data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:02.838808Z", "start_time": "2019-05-17T18:48:02.827783Z" } }, "outputs": [], "source": [ "xdata = np.array([[4.00],\n", "[4.20],\n", "[4.30],\n", "[4.47],\n", "[4.58],\n", "[4.60],\n", "[4.61],\n", "[4.82],\n", "[5.05],\n", "[5.24],\n", "[5.43],\n", "[5.58],\n", "[5.82],\n", "[5.91],\n", "[5.92],\n", "[6.03],\n", "[6.32],\n", "[6.45],\n", "[6.67],\n", "[6.68],\n", "[6.91],\n", "[7.04],\n", "[7.09],\n", "[7.35],\n", "[7.49],\n", "[7.62],\n", "[7.81],\n", "[7.94]])\n" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Here's some Y data" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:02.952512Z", "start_time": "2019-05-17T18:48:02.841056Z" } }, "outputs": [], "source": [ "yfull = np.array([[3.70,3.53,4.12,5.03,],\n", "[2.96,4.69,6.44,7.36,],\n", "[4.69,3.68,5.86,5.70,],\n", "[4.28,4.22,5.32,6.33,],\n", "[4.86,5.27,5.61,5.57,],\n", "[4.77,4.61,5.38,4.91,],\n", "[4.74,4.45,6.34,5.71,],\n", "[4.76,4.40,6.51,5.62,],\n", "[5.01,5.52,5.85,6.92,],\n", "[5.59,5.81,5.86,7.98,],\n", "[5.17,4.67,5.58,8.38,],\n", "[6.02,6.04,5.70,6.87,],\n", "[6.68,5.94,5.78,8.10,],\n", "[6.91,5.97,5.68,7.80,],\n", "[6.14,5.74,6.30,7.65,],\n", "[5.67,5.78,4.97,8.98,],\n", "[6.89,6.41,6.40,8.08,],\n", "[6.57,6.46,6.44,8.43,],\n", "[7.34,6.31,6.14,8.55,],\n", "[6.62,5.98,5.78,9.17,],\n", "[7.22,6.59,5.99,8.95,],\n", "[8.05,6.85,6.78,10.92,],\n", "[7.11,7.29,6.19,9.74,],\n", "[6.43,7.40,6.45,9.39,],\n", "[7.02,7.14,7.34,10.13,],\n", "[7.27,7.37,6.12,10.04,],\n", "[7.29,7.07,5.65,10.91,],\n", "[8.29,8.39,6.57,11.78,]])\n", "\n", "ydata = yfull[:,0]" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Sklearn models\n", "--------------\n", "\n", "Make some sklearn models that we'll use for regression." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:03.047408Z", "start_time": "2019-05-17T18:48:02.956026Z" } }, "outputs": [], "source": [ "regr = sklm.LinearRegression()\n", "cv = skcv.KFold(n_splits=6,shuffle=True)" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Regression\n", "==========\n", "\n", "Recall the generic for for the linear regression problem and the way to calculate the coefficients. Here, `Y` is the array of dependent variable measurements and `X` is the array of independent variable measurements. To account for the constant term, `X` must be prepended by a column consisting of all ones." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$Y = X\\beta$$\n", "$$\\beta = (X^TX)^{-1}X^TY$$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:03.144685Z", "start_time": "2019-05-17T18:48:03.050775Z" } }, "outputs": [], "source": [ "regr.fit(xdata,ydata)\n", "ypred = regr.predict(xdata)\n", "y_cv = skcv.cross_val_predict(regr,xdata,y=ydata,cv=cv)\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:03.322898Z", "start_time": "2019-05-17T18:48:03.148437Z" } }, "outputs": [ { "data": { "image/png": "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0J65UqqoO34cpk+3VmaePWuVtW4NY8fC7beDMbzzzju8+OKLnDx5kttuu40FCxbQsWNH97bbyTSYK6WKpiNHrKGUd9+Fc+essk6drOGUDh04+s8/XJOaSokSJUhOTqZ169aMHj2aFi7MMe5KOsyilCpaDh78d1efKVOsQN61K/z8M/zwA/vr1OH/hg8nKCiIhQsXAvD000/z5Zdfemwgh2IezGNjY6lfv/4lZS+99JI9cZajOnToQNbNqnMTFhbGkiVLcnyNs9LfxsbG5vmm7fTp00m8uJch1nx7pdzi4q4+tWtfvqvPN9+wp3JlBg0aRJ06dZg5cyZ9+/a1rxNxZfZCdynWwdxd0tLSHHqds9Lf5hTMc1v6nzWYK+VyMTEwYMDlu/ps326lpW3SBBGhd+/efPzxxzz++OPs3buXuXPnUrduXXe33mU0mOegQ4cOjBw5kubNm3PDDTfY09ImJSXRp08fgoODefDBBy9JObty5UpatmxJ48aN6d27tz0dQFBQEP/5z39o06YNixcvtr/+hx9+4N5777U//u6777jvvvvs5xw/fjzHNLcbN24kODiYli1b8txzz132TQNg1KhRREdHExISwrRp05g3bx69e/eme/fu3H777axevZpu3brZXz9s2DDmzZvHm2++yd9//03Hjh0vuVkUERFBw4YNadGiBUePHnXGr1qpy+3YAQ89BDffDPPmWWX9+8POnbBoERuSk+nbty9nz57FGMPcuXOJjY3l7bffxmazubXp7lCognmHDh0uO2bMmAFAYmJits/Py/gjHz9+/LLnnCE1NZUNGzYwffp0Xn75ZQDeffdd/P39+e2334iIiGDz5s32NowfP57vv/+eLVu20LRpU6ZOnWqvy9fXl7Vr19KnTx97WadOndi1axfHMubDfvDBBwwYMOCyduzZs4ehQ4fyxx9/UL58eT777DMABgwYwMyZM/nll1+uOLXq1VdfpW3btmzbto0RI0YA8Msvv/Dhhx/y448/XvG9Dx8+nGrVqrFq1SpWrVoFwLlz52jRogXbt2+nXbt2zJ492+HfpXKNqKgogoKC8PLyIigoiKioKHc36eps3Qq9elm5UxYutHb1eewx+N//kA8/ZNXhw3Tu3Jlbb72VlStX8vvvvwNWyosqVaq4ufHuU6iCuatdaRwtc/nFXnLm1LJr1qyhX79+AAQH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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#with plt.xkcd():\n", "fig,ax = plt.subplots(1,1)\n", "\n", "p1 = plt.scatter(xdata,ydata,color='k',label='Measurement')\n", "p2 = plt.plot(xdata,ypred,color='r',lw=2,label='Regression')\n", "p3 = plt.plot(xdata,xdata,color='k',ls='--',label='Underlying truth')\n", "\n", "handles, labels = ax.get_legend_handles_labels()\n", "\n", "plt.legend([handles[i] for i in [2,0,1]],[labels[i] for i in [2,0,1]])\n", "ax.set_xlabel('The X values',size=15)\n", "ax.set_ylabel('The Y values',size=15)\n", "ax.set_xticks([])\n", "ax.set_yticks([])\n", "ax.spines['right'].set_visible(False)\n", "ax.spines['top'].set_visible(False)\n", "ax.set_ylabel\n", "\n", "t = 1" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Uncertainty Calculation\n", "=======================\n", "\n", "Traditional uncertainty calculation\n", "-----------------------------------\n", "\n", "This is the equation for the 95% confidence interval for a new prediction :math:`X_{new}` (in linear regression)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ Y_{new} = X_{new}\\beta + \\epsilon$$\n", "\n", "$$ \\delta Y_{new} = t(0.95,n-2)\\Bigg\\{\n", " \\frac{Y^TY-\\beta^TX^TY}{n-2}\\Bigg[X_{new}(X^TX)^{-1}X_{new}^T+1\\Bigg]\n", " \\Bigg\\}^{1/2}$$" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Here, :math:`t` is the 95th percentile of the one-sided Student's T distribution with :math:`n` - 2 degrees of freedom, with :math:`n` being the number of samples in the regression (i.e. number of rows of :math:`X`). \n", "\n", "Calculate the values for the :math:`t` distribution and the SSE term." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:03.340004Z", "start_time": "2019-05-17T18:48:03.325129Z" } }, "outputs": [], "source": [ "#Create the linear regression X matrix\n", "xmatrix_first = np.ones_like(xdata) #Constant term\n", "xmatrix = np.concatenate((xmatrix_first,xdata),axis=1) #Add in the linear term\n", "\n", "cov = np.dot(xmatrix.T,xmatrix) #Covariance matrix\n", "icov = np.linalg.inv(cov) #Inverse covariance matrix\n", "xty = np.dot(xmatrix.T,ydata[:,np.newaxis,]) #XTy\n", "\n", "beta = np.dot(icov,xty) #Coefficients\n", "\n", "dof = len(xmatrix_first) - 2 #Degrees of freedom\n", "tdist = sp.stats.t(dof) #T distribution\n", "#T premultiplier, only one standard deviation because n is large. Squared because of how pred_unc is defined below\n", "tmult = tdist.ppf(0.95) ** 2 \n", "\n", "sse = (np.dot(ydata.T,ydata) - np.dot(ypred.T,ydata))/(dof) #mean squared error\n", "\n", "var_premult = tmult * sse " ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Calculate the uncertainty in the predicted values" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:03.494531Z", "start_time": "2019-05-17T18:48:03.341867Z" }, "scrolled": false }, "outputs": [ { "data": { "image/png": "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HTt2pEaNGmzdupVSpUoxceLEzBVy+bI5HvyTT+D6dejWDXx94eGHs1U3SfrVahgGq1ev5tVXX6VXr164u7szfvz4bJWd1/JVMN+2bZvtsYuLS4rnbm5uKZ6XK1cuxfNKlSqleP6f//zHrnOOHDnS9lPqtddeo3r16gApAvKoUaNsgSmZiDBt2jRWrFjB888/z1tvvUVQUBAff/xxisVsRSTVcafJf1SpuT2lrT1L0KV1jqFDh/Lee+/d8ZqLi4vtmIzOkV45abGnfKvVSvny5W3ZJG93azrhVq1acfr0acLCwli7dq0tX/XYsWOZMGECjz76KNu2bePNN9+0u46Flb+/P76+voSEhODu7o6fn1+OL+V248YNvvrqK5577jmcnJxYsGABNWvWzHxB//xjrmr/2WdmXvG+fc3kVw5ImXH69GkeffRRPvzwQ7p168aoUaMYOHCg7f/5gq5I95kDXLp0CYCQkBDWrFlj68s7f/687T3ffvst9evXT3Hc4sWLba3g6OhonJyccHJyumOFoPvvv59//vmHP/74A4CIiAhbBkV/f38AAgICCAkJoU6dOlm6hlvL+vHHH7l27RpgtvBXr15tu8arV68SHBycblkdO3Zk7ty5gDmZ48aNG1kqJy1lypQhIiICMH+leHp6smrVKsD80jh06FCqxxmGQe/evZkwYQJ169alYsWKgDnlO3ma9+LFi7NUp8LE398fHx8fgoODERGCg4Px8fGx/X3klB9++IGxY8fa7rG0bds2c0EyKAiefRY8Pc0WeZ8+5ljx1auzFcgDAgJsffXu7u54enri6uoKmA3CwhLIQYM5ffv2pV69evTq1Ys5c+bYuihefvllGjRoQMOGDdm6dWuKRSmio6NZvHgxzz33HAATJkygb9++TJ48mWeffTZF+a6urqxYsYKxY8fi5eVFp06diI2N5bnnniMxMZEGDRowYMAAFi1alOXpv1OnTmX79u00adKETZs24e7uDphdNNOmTaNz5840bNiQTp06pfiSSs2sWbPYunUrDRo0oGnTphw7dixL5aRl4MCBTJ8+ncaNGxMYGIi/vz/z58/Hy8uLBx54gO+++y7NYwcMGMDSpUtTrOb05ptv0q9fP9q0aUOlSpWyVKfCxNfX944GRXR0NL6+vg49T2JiIl9++SXffPMNYP67HjhwgNatW2euoL/+gmHD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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "yl = []\n", "yu = []\n", "for row in xmatrix:\n", "\n", " yp = np.dot(row,beta)\n", " pred_unc = np.sqrt(var_premult*(np.dot(np.dot(row,icov),row.T)))\n", "\n", " yl += [yp - pred_unc]\n", " yu += [yp + pred_unc]\n", "\n", " #print(pred)\n", "\n", " #print(pred,pred_lower,pred_upper)\n", "lower = np.concatenate(yl)\n", "upper = np.concatenate(yu)\n", "\n", "yunc = np.concatenate((yl,yu),axis=1)\n", "\n", "fig,ax = plt.subplots()\n", "\n", "ax.plot(xdata,ypred,color='r',label='Regression')\n", "ax.plot(xdata,yunc,ls=':',color='k',label='95% confidence interval')\n", "ax.scatter(xdata,ydata,color='k',label='Measurement')\n", "\n", "handles, labels = ax.get_legend_handles_labels()\n", "\n", "ax.legend([handles[i] for i in [3,0,1]],[labels[i] for i in [3,0,1]])\n", "\n", "ax.set_xlabel('The X values',size=15)\n", "ax.set_ylabel('The Y values',size=15)\n", "ax.set_xticks([])\n", "ax.set_yticks([])\n", "ax.spines['right'].set_visible(False)\n", "ax.spines['top'].set_visible(False)\n", "#plt.legend()" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Bootstrap uncertainty calculation\n", "---------------------------------\n", "\n", "Use the residual bootstrap of `Almeida `_ This method assumes that the residuals are representative of the uncertainty (which is really the same assumption made by linear regression uncertainty, when you think about it).\n", "\n", "Calculate the mean squared error and the cross-validation error in the regression, then calculate the pseudo-degrees of freedom and the residual weighting that will be bootstrapped. This is a large data set and cross-validation doesnt give us much more information, so the bootstrap weighting is close to 1." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:03.513902Z", "start_time": "2019-05-17T18:48:03.496358Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.9373050564598135\n" ] } ], "source": [ "residual,err,mse = plu.get_residual_stats(ydata,ypred)\n", "residual_cv,err_cv,msecv = plu.get_residual_stats(ydata,y_cv)\n", "\n", "num_train = len(xdata)\n", "\n", "pseudo_dof = num_train * (1 - np.sqrt(mse/msecv))\n", "bootstrap_weight = np.sqrt(1 - pseudo_dof/num_train)\n", "\n", "print(bootstrap_weight)\n", "\n", "residual_weighted = residual / bootstrap_weight" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "As an easily demonstrated example, just do bootstraps with 5 samples.\n", "\n", "First generate the bootstrap `Y` values that will be passed to the models." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:03.603817Z", "start_time": "2019-05-17T18:48:03.515757Z" } }, "outputs": [], "source": [ "samples = 5\n", "\n", "residual_boot,boot_indices = plu.bootstrap_data(residual_weighted,samples=samples)\n", "residual_boot = np.squeeze(residual_boot)\n", "\n", "boot_data = (residual_boot + ypred).T #boot_data now has the new Y values with shuffled residuals" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Create some plots, generate and plot five regressions. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:04.038763Z", "start_time": "2019-05-17T18:48:03.607045Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,axes = plt.subplots(1,samples,figsize=(3*samples,3),sharey=True,\n", " gridspec_kw=dict(wspace=0),subplot_kw=dict(frameon=False))\n", "fig2,ax2=plt.subplots(1,1)\n", "\n", "colors = '0.6','b','r','k','c'\n", "ax2.plot(xdata,ypred,color='r',lw=2,zorder=100,label='Regression')\n", "ax2.plot(xdata,xdata,color='k',ls='--',lw=2,zorder=99,label='Underlying truth')\n", "\n", "ax2.set_xticks([])\n", "ax2.set_yticks([])\n", "\n", "ax2.set_xlabel('The X values',size=15)\n", "ax2.set_ylabel('The Y values',size=15)\n", "\n", "ax2.spines['right'].set_visible(False)\n", "ax2.spines['top'].set_visible(False)\n", "\n", "for ax in axes:\n", " ax.spines['right'].set_visible(False)\n", " ax.spines['left'].set_visible(False)\n", " ax.spines['top'].set_visible(False)\n", "axes[0].spines['left'].set_visible(True)\n", "\n", "for plot_num,(color,yboot) in enumerate(zip(colors,boot_data.T)):\n", " \n", " yb = yboot[:,np.newaxis]\n", " \n", " #fig,ax = plt.subplots(1,1)\n", " regr.fit(xdata,yb)\n", " ypb = regr.predict(xdata)\n", " \n", " #print('{},{}'.format(plot_num-1,plot_num+1))\n", " \n", " for ax in axes[[plot_num-1,plot_num]]:\n", " ax.scatter(xdata,yb,color=color)\n", " ax.plot(xdata,ypb,color=color)\n", " ax.set_xticks([])\n", " if color=='k':\n", " ax2.plot(xdata,ypb,color=color,ls=':',label='Bootstrap regression')\n", " else:\n", " ax2.plot(xdata,ypb,color=color,ls=':')\n", "\n", "ax = axes[0]\n", "ax.set_yticks([])\n", "ax.set_ylabel('The Y values')\n", "ax = axes[2]\n", "ax.set_xlabel('The X values')\n", "\n", "\n", "ax2.legend()\n" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Using the toolbox\n", "-----------------\n", "\n", "Now do the same thing with 1000 samples. This time we'll just use the :py:func:`.bootstrap` function, and we can just drop the data straight in." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:04.531192Z", "start_time": "2019-05-17T18:48:04.045397Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "No transform function, skipping scores\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9864e4566c404de198f7373e83cfb6e9", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(IntProgress(value=0, max=1000), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "samples = 1000\n", "\n", "lbt_out = plu.bootstrap(xdata=xdata,ydata=np.squeeze(ydata),\n", " PLS_model=regr,cv_object=cv,samples=samples)\n", "rcv,ecv,msecv,cpb,cpt = lbt_out" ] }, { "cell_type": "raw", "metadata": { "raw_mimetype": "text/restructuredtext" }, "source": [ "Plot the bootstrap results and show that the bootstrap uncertainty exactly reproduces the results of the linear regression uncertainty." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T18:48:06.941223Z", "start_time": "2019-05-17T18:48:04.533485Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig2,ax2=plt.subplots(1,1)\n", "\n", "for ypb in cpb.T:\n", " ax2.plot(xdata,ypb,color='0.6',ls=':',zorder=0)\n", "\n", "\n", "intervals = np.array([np.percentile(cpb,97.5,axis=1), np.percentile(cpb,2.5,axis=1)])\n", "\n", "ax2.plot(xdata,ypred,color='r',lw=3,label='Regression',zorder=3)\n", "ax2.plot(xdata,yunc,ls='--',color='r',lw=3,label='95% CI (regression)',zorder=3)\n", "ax2.plot(xdata,ypb,color='0.6',ls=':',label='Bootstrap',zorder=-1)\n", "\n", "ax2.plot(xdata,intervals.T,ls=':',color='k',lw=3,label='95% CI (boot)',zorder=4)\n", "\n", "ax2.scatter(xdata,ydata,color='k',label='Measurement',zorder=5)\n", "\n", "ax2.set_xlabel('The X values',size=15)\n", "ax2.set_ylabel('The Y values',size=15)\n", "\n", "ax2.set_xticks([])\n", "ax2.set_yticks([])\n", "\n", "\n", "ax2.spines['right'].set_visible(False)\n", "ax2.spines['top'].set_visible(False)\n", "\n", "#ax2.legend()\n", "\n", "handles, labels = ax2.get_legend_handles_labels()\n", "\n", "ax2.legend([handles[i] for i in [0,3,1,4,6]],[labels[i] for i in [0,3,1,4,6]])\n", "\n", "t = 1" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T20:10:33.269196Z", "start_time": "2019-05-17T20:10:33.261786Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.05517332, -0.07119444],\n", " [ 0.04859221, -0.07239128],\n", " [ 0.04367514, -0.07150052],\n", " [ 0.03899877, -0.06750441],\n", " [ 0.03571097, -0.06393831],\n", " [ 0.03378349, -0.06408298],\n", " [ 0.03268463, -0.0641478 ],\n", " [ 0.0320849 , -0.05605043],\n", " [ 0.02810861, -0.05347956],\n", " [ 0.02607774, -0.04879635],\n", " [ 0.02441205, -0.04826689],\n", " [ 0.02056211, -0.04383436],\n", " [ 0.02974614, -0.03918142],\n", " [ 0.03018288, -0.03818425],\n", " [ 0.02962705, -0.0386364 ],\n", " [ 0.03222273, -0.03462113],\n", " [ 0.02910533, -0.04496108],\n", " [ 0.02638041, -0.04974504],\n", " [ 0.02177912, -0.06107879],\n", " [ 0.0221806 , -0.06052196],\n", " [ 0.02193362, -0.07153582],\n", " [ 0.02760917, -0.07829497],\n", " [ 0.02603908, -0.08102588],\n", " [ 0.03044203, -0.07441155],\n", " [ 0.03120508, -0.08133688],\n", " [ 0.03661673, -0.08065974],\n", " [ 0.04128581, -0.09088041],\n", " [ 0.04174182, -0.09245988]])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(yunc-intervals[::-1].T)/np.array()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T20:12:13.623175Z", "start_time": "2019-05-17T20:12:13.615689Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[3.71767288, 4.37933362],\n", " [3.94497224, 4.55768536],\n", " [4.05829695, 4.6471862 ],\n", " [4.25035031, 4.79993627],\n", " [4.37415123, 4.89924345],\n", " [4.39661578, 4.91734401],\n", " [4.40784259, 4.92639976],\n", " [4.64267299, 5.11750301],\n", " [4.89739123, 5.32928352],\n", " [5.10528299, 5.50676031],\n", " [5.31028956, 5.68712228],\n", " [5.46970686, 5.83194329],\n", " [5.71961028, 6.0688212 ],\n", " [5.81155514, 6.15941933],\n", " [5.82171001, 6.16954701],\n", " [5.93260462, 6.28176051],\n", " [6.21808602, 6.58447319],\n", " [6.34309684, 6.72313558],\n", " [6.55113315, 6.96131548],\n", " [6.56049628, 6.97223491],\n", " [6.77396972, 7.22526023],\n", " [6.89325358, 7.36964958],\n", " [6.93890941, 7.42540652],\n", " [7.17465814, 7.71700421],\n", " [7.30064121, 7.87497691],\n", " [7.41714376, 8.02214758],\n", " [7.58672167, 8.2379382 ],\n", " [7.70234924, 8.38598384]])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "yunc" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T20:12:29.464048Z", "start_time": "2019-05-17T20:12:29.456844Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[4.45052806, 3.66249957],\n", " [4.63007664, 3.89638003],\n", " [4.71868672, 4.01462181],\n", " [4.86744068, 4.21135154],\n", " [4.96318176, 4.33844026],\n", " [4.98142699, 4.36283229],\n", " [4.99054756, 4.37515796],\n", " [5.17355344, 4.61058809],\n", " [5.38276308, 4.86928262],\n", " [5.55555665, 5.07920525],\n", " [5.73538917, 5.28587751],\n", " [5.87577766, 5.44914475],\n", " [6.10800262, 5.68986414],\n", " [6.19760358, 5.78137226],\n", " [6.20818341, 5.79208296],\n", " [6.31638164, 5.90038189],\n", " [6.62943427, 6.18898069],\n", " [6.77288062, 6.31671643],\n", " [7.02239427, 6.52935402],\n", " [7.03275687, 6.53831568],\n", " [7.29679604, 6.75203609],\n", " [7.44794454, 6.86564441],\n", " [7.5064324 , 6.91287033],\n", " [7.79141576, 7.14421611],\n", " [7.95631379, 7.26943614],\n", " [8.10280731, 7.38052702],\n", " [8.32881861, 7.54543586],\n", " [8.47844373, 7.66060742]])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "intervals.T" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T20:36:49.251749Z", "start_time": "2019-05-17T20:36:49.245348Z" } }, "outputs": [], "source": [ "samples = 1000\n", "\n", "residual_boot,boot_indices = plu.bootstrap_data(residual_weighted,samples=samples)\n", "residual_boot = np.squeeze(residual_boot)\n", "\n", "boot_data = (residual_boot + ypred).T \n", "#boot_data now has the new Y values with shuffled residuals" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T20:37:01.858458Z", "start_time": "2019-05-17T20:37:01.852630Z" } }, "outputs": [ { "data": { "text/plain": [ "(1000, 28)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "boot_data.T.shape" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T20:38:07.834845Z", "start_time": "2019-05-17T20:38:04.862012Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for row in boot_data.T:\n", " plt.scatter(xdata,row,s=1,color='k')" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "ExecuteTime": { "end_time": "2019-05-17T20:44:33.388535Z", "start_time": "2019-05-17T20:44:33.378933Z" } }, "outputs": [ { "data": { "text/plain": [ "array([0.56608812, 0.54231047, 0.55901546, 0.5459315 , 0.54492867,\n", " 0.53924983, 0.55297044, 0.58156724, 0.56166797, 0.54072041,\n", " 0.56269115, 0.55057405, 0.53003111, 0.53496418, 0.54839079,\n", " 0.54699388, 0.57489016, 0.56853126, 0.56764148, 0.55301693,\n", " 0.5538737 , 0.56604773, 0.56193022, 0.55383506, 0.55399726,\n", " 0.55522476, 0.5622612 , 0.55939004])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "boot_data.T.std(axis=0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "celltoolbar": "Raw Cell Format", "kernelspec": { "display_name": "Python [conda env:py3]", "language": "python", "name": "conda-env-py3-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }