Skip to content

Instantly share code, notes, and snippets.

@austinogilvie
Created April 19, 2014 22:18
Show Gist options
  • Select an option

  • Save austinogilvie/11099346 to your computer and use it in GitHub Desktop.

Select an option

Save austinogilvie/11099346 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:bb2bdbf31566f4fe3cfb9d392f919cd64b4f6fce22593068ea45fdba7a086656"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from ggplot import meat\n",
"from statsmodels.nonparametric.smoothers_lowess import lowess\n",
" \n",
"x = meat.beef.values\n",
"y = meat.veal.values\n",
" \n",
"# Combine data into DataFrame, sort values by x\n",
"df = pd.DataFrame({'x': x, 'y': y, 'x_lowess': None, 'y_lowess': None}) \n",
"df = df.sort(columns=['x']).reset_index(drop=True) \n",
"\n",
"# Fit lowess to data, using 1/3 at a time.\n",
"df[['x_lowess','y_lowess']] = lowess(y, x, frac=1/3.)\n",
"\n",
"def bootstrap_loess(df, num_samples=500):\n",
" y_values = np.empty((num_samples, df.shape[0]))\n",
" for i in range(num_samples):\n",
" indices = np.random.choice(range(len(x)), len(x))\n",
" x_sample = df.ix[indices].x\n",
" y_sample = df.ix[indices].y\n",
" boot_df = pd.DataFrame({'x': x_sample, 'y': y_sample, 'x_lowess': None, 'y_lowess': None})\n",
" boot_df = boot_df.sort(columns=['x']).reset_index(drop=True)\n",
" boot_df[['x_lowess', 'y_lowess']] = lowess(y_sample, x_sample, frac=1/3.)\n",
" y_values[i, :] = boot_df.y_lowess.values\n",
" return y_values"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Predicted y values for each of the bootstrapped samples\n",
"boot_y = bootstrap_loess(df, 200)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ci = np.empty((df.shape[0], 2))\n",
"for i in range(boot_y.shape[1]):\n",
" ci[i, 0] = np.percentile(boot_y[:, i], 1)\n",
" ci[i, 1] = np.percentile(boot_y[:, i], 99)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ci_df = pd.DataFrame(ci)\n",
"ci_df = ci_df.rename(columns={0: 'y_low', 1: 'y_high'})\n",
"ci_df['x'] = df.x"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.plot(df.x, df.y, '.', color='black')\n",
"plt.plot(df.x_lowess, df.y_lowess, lw=1, color='blue')\n",
"plt.fill_between(ci_df.x, ci_df.y_low, ci_df.y_high, facecolor='blue', alpha=0.2, interpolate=True)\n",
"plt.show(1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x104b81b50>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment