Skip to content

Instantly share code, notes, and snippets.

@darribas
Created July 17, 2015 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darribas/0495ddec8f6ab6e242c9 to your computer and use it in GitHub Desktop.
Save darribas/0495ddec8f6ab6e242c9 to your computer and use it in GitHub Desktop.
Main Effect Plots
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Main Effect Plots"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* Dani Arribas-Bel ([@darribas](http://twitter.com/darribas))\n",
"* David Folch (<http://davidfolch.org>)\n",
"\n",
"Main Effect Plots are graphical devices used to visualize the fitted relationship between an independent variable and the dependent one in a regression model. They can be used in any setup, but they're particularly useful when non-linear specifications are used.\n",
"\n",
"In this notebook, we'll walk through an example to visualize a simple model with two explanaory variables, where one of them enters the model with both a linear and a squared term."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import pysal as ps\n",
"\n",
"np.random.seed(123)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* **DGP**:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"xs = ['x1', 'x1a', 'x2']\n",
"\n",
"db = pd.DataFrame(np.random.random((1000, 2)), columns=['x1', 'x2'])\n",
"db['x1a'] = db['x1']**2\n",
"db['c'] = 1\n",
"db['y'] = np.dot(db[['c']+xs].values, np.array([[1., 1., 2., 1.]]).T) \\\n",
" + np.random.normal(size=(1000, 1), scale=0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* **Model**:\n",
"\n",
"$$\n",
"y = \\alpha + \\beta_{1a} X_1 + \\beta_{1a} X_1^2 + \\beta_2 X_2 + \\epsilon\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"REGRESSION\n",
"----------\n",
"SUMMARY OF OUTPUT: ORDINARY LEAST SQUARES\n",
"-----------------------------------------\n",
"Data set : unknown\n",
"Dependent Variable : dep_var Number of Observations: 1000\n",
"Mean dependent var : 2.6528 Number of Variables : 4\n",
"S.D. dependent var : 1.0374 Degrees of Freedom : 996\n",
"R-squared : 0.7745\n",
"Adjusted R-squared : 0.7738\n",
"\n",
"------------------------------------------------------------------------------------\n",
" Variable Coefficient Std.Error t-Statistic Probability\n",
"------------------------------------------------------------------------------------\n",
" CONSTANT 1.0049370 0.0526550 19.0853071 0.0000000\n",
" x1 0.9428275 0.2136614 4.4127185 0.0000113\n",
" x1a 2.0536484 0.2085346 9.8480001 0.0000000\n",
" x2 1.0178299 0.0526472 19.3330262 0.0000000\n",
"------------------------------------------------------------------------------------\n",
"================================ END OF REPORT =====================================\n"
]
}
],
"source": [
"ols = ps.spreg.OLS(db[['y']].values, db[xs].values, \\\n",
" name_x=xs, nonspat_diag=False)\n",
"print ols.summary"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* **Plots**"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x108e92c10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rng = np.linspace(db['x1'].min(), db['x1'].max(), 100)\n",
"h = (rng * ols.betas[1]) + (rng**2 * ols.betas[2]) + db.x2.mean()*ols.betas[3] + ols.betas[0]\n",
"plt.plot(rng, h, c='red')\n",
"plt.scatter(db['x1'], db['y'], c='k', s=0.5)\n",
"plt.xlabel('$X_1$')\n",
"plt.ylabel('Y')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x109692490>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rng = np.linspace(db['x2'].min(), db['x2'].max(), 100)\n",
"h = (rng * ols.betas[3]) + db.x1.mean()*ols.betas[1] + \\\n",
" (db.x1**2).mean()*ols.betas[2] + ols.betas[0]\n",
"plt.plot(rng, h, c='red')\n",
"plt.scatter(db['x2'], db['y'], c='k', s=0.5)\n",
"plt.xlabel('$X_2$')\n",
"plt.ylabel('Y')\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment