{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Regression diagnostics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example file shows how to use a few of the ``statsmodels`` regression diagnostic tests in a real-life context. You can learn about more tests and find out more information about the tests here on the [Regression Diagnostics page.](https://www.statsmodels.org/stable/diagnostic.html)\n", "\n", "Note that most of the tests described here only return a tuple of numbers, without any annotation. A full description of outputs is always included in the docstring and in the online ``statsmodels`` documentation. For presentation purposes, we use the ``zip(name,test)`` construct to pretty-print short descriptions in the examples below." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Estimate a regression model" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:10.530055Z", "iopub.status.busy": "2022-11-02T17:11:10.529422Z", "iopub.status.idle": "2022-11-02T17:11:11.024088Z", "shell.execute_reply": "2022-11-02T17:11:11.023404Z" } }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:11.029702Z", "iopub.status.busy": "2022-11-02T17:11:11.028458Z", "iopub.status.idle": "2022-11-02T17:11:11.881650Z", "shell.execute_reply": "2022-11-02T17:11:11.880991Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Lottery R-squared: 0.348\n", "Model: OLS Adj. R-squared: 0.333\n", "Method: Least Squares F-statistic: 22.20\n", "Date: Wed, 02 Nov 2022 Prob (F-statistic): 1.90e-08\n", "Time: 17:11:11 Log-Likelihood: -379.82\n", "No. Observations: 86 AIC: 765.6\n", "Df Residuals: 83 BIC: 773.0\n", "Df Model: 2 \n", "Covariance Type: nonrobust \n", "===================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-----------------------------------------------------------------------------------\n", "Intercept 246.4341 35.233 6.995 0.000 176.358 316.510\n", "Literacy -0.4889 0.128 -3.832 0.000 -0.743 -0.235\n", "np.log(Pop1831) -31.3114 5.977 -5.239 0.000 -43.199 -19.424\n", "==============================================================================\n", "Omnibus: 3.713 Durbin-Watson: 2.019\n", "Prob(Omnibus): 0.156 Jarque-Bera (JB): 3.394\n", "Skew: -0.487 Prob(JB): 0.183\n", "Kurtosis: 3.003 Cond. No. 702.\n", "==============================================================================\n", "\n", "Notes:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "from statsmodels.compat import lzip\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import statsmodels.formula.api as smf\n", "import statsmodels.stats.api as sms\n", "import matplotlib.pyplot as plt\n", "\n", "# Load data\n", "url = \"https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/HistData/Guerry.csv\"\n", "dat = pd.read_csv(url)\n", "\n", "# Fit regression model (using the natural log of one of the regressors)\n", "results = smf.ols(\"Lottery ~ Literacy + np.log(Pop1831)\", data=dat).fit()\n", "\n", "# Inspect the results\n", "print(results.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Normality of the residuals" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Jarque-Bera test:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:11.886898Z", "iopub.status.busy": "2022-11-02T17:11:11.885732Z", "iopub.status.idle": "2022-11-02T17:11:11.895384Z", "shell.execute_reply": "2022-11-02T17:11:11.894826Z" } }, "outputs": [ { "data": { "text/plain": [ "[('Jarque-Bera', 3.393608024843173),\n", " ('Chi^2 two-tail prob.', 0.1832683123166331),\n", " ('Skew', -0.4865803431122342),\n", " ('Kurtosis', 3.0034177578816346)]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "name = [\"Jarque-Bera\", \"Chi^2 two-tail prob.\", \"Skew\", \"Kurtosis\"]\n", "test = sms.jarque_bera(results.resid)\n", "lzip(name, test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Omni test:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:11.899973Z", "iopub.status.busy": "2022-11-02T17:11:11.898878Z", "iopub.status.idle": "2022-11-02T17:11:11.906824Z", "shell.execute_reply": "2022-11-02T17:11:11.906265Z" } }, "outputs": [ { "data": { "text/plain": [ "[('Chi^2', 3.713437811597192), ('Two-tail probability', 0.15618424580304746)]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "name = [\"Chi^2\", \"Two-tail probability\"]\n", "test = sms.omni_normtest(results.resid)\n", "lzip(name, test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Influence tests\n", "\n", "Once created, an object of class ``OLSInfluence`` holds attributes and methods that allow users to assess the influence of each observation. For example, we can compute and extract the first few rows of DFbetas by:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:11.911260Z", "iopub.status.busy": "2022-11-02T17:11:11.910151Z", "iopub.status.idle": "2022-11-02T17:11:11.946246Z", "shell.execute_reply": "2022-11-02T17:11:11.945567Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[-0.00301154, 0.00290872, 0.00118179],\n", " [-0.06425662, 0.04043093, 0.06281609],\n", " [ 0.01554894, -0.03556038, -0.00905336],\n", " [ 0.17899858, 0.04098207, -0.18062352],\n", " [ 0.29679073, 0.21249207, -0.3213655 ]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from statsmodels.stats.outliers_influence import OLSInfluence\n", "\n", "test_class = OLSInfluence(results)\n", "test_class.dfbetas[:5, :]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Explore other options by typing ``dir(influence_test)``\n", "\n", "Useful information on leverage can also be plotted:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:11.951363Z", "iopub.status.busy": "2022-11-02T17:11:11.950142Z", "iopub.status.idle": "2022-11-02T17:11:12.204721Z", "shell.execute_reply": "2022-11-02T17:11:12.204087Z" } }, "outputs": [ { "data": { "image/png": "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zg4BAQEQBEH5sXFubi4uXLiA+/fvl/mY6nzwwQcoLCzEZ599pnLc2toaPXr0wM8//6zSrunu3btYt24dOnTooPx4vSJZW1ur/NyAZ63ais++aSMlJQVvvPEGRo4ciWnTpqkdo+37rVevXigqKsLSpUuVt8tkMixevFjnup4XHh4OV1dXzJs3T2VpgILivZWbm4u8vDyV2/z9/eHi4qK2xZhCr169cOfOHZUd9XJzc9UuQfL398fRo0dVugLs2rULt27dUhmn7e9XcTKZrMQyAE9PT9SoUaPU56DNea1bt0b16tWxbNkylfpXrVpVItgq/sh4/noAmUxW4jVR9zwFQcBXX31V6vN8nmIpjWIZ1/OKioqUtYWFhcHW1haLFy9WebziXWmIdMUZXiIdfP/990hISChxfNq0aZg/fz7279+PkJAQjB07FgEBAXj48CGSkpKwZ88ePHz4UOWciIgIjBw5Et9++y3Cw8NRtWpVldtnzJiBHTt2oE+fPhg9ejRatWqFnJwcnDlzBps3b8b169dVlkCo06dPH2zduhUDBw5E7969ce3aNSxbtgwBAQF48uSJctyAAQMQHByMt99+G1euXEGjRo2wY8cOZc3Pz15988036NChA5o2bYqxY8eiXr16uHv3LhITE3H79m38/fffZb6OERERWLx4MWJiYtC0aVM0btxY5fYePXrA29sb7du3h5eXF86fP48lS5agd+/eyrZdx48fx4svvoiYmBh8+OGHZT5mcYpZ3h9++KHEbXPnzsXu3bvRoUMHvPnmm7CxscHy5cuRn59fIiBXlD59+mD16tWQSqUICAhQLkVwd3fX+b4UvY87depUYga0Xbt2qFevntbvt759+6J9+/aYOXMmrl+/joCAAGzdulXvdcUKrq6uWLp0KV599VW0bNkSQ4cORfXq1XHz5k388ssvaN++PZYsWYJLly6hW7duGDJkCAICAmBjY4Nt27bh7t27KhcIFjd27FgsWbIEo0aNwqlTp+Dj44PVq1erbe/2xhtvYPPmzejZsyeGDBmCq1evYs2aNcqAqKDt71dx2dnZqFWrFgYPHozmzZvD2dkZe/bswYkTJ1Rm9PU5z9bWFnPnzsX48ePRtWtXRERE4Nq1a1i5cmWJNbxNmjRB27ZtMWvWLDx8+BBubm5Yv359iT+mGzVqBH9/f0yfPh2pqalwdXXF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c+di2bJlWLFiBWxtbZXH27dvj6SkJIMVR0RERERUXnoF3osXL6JTp04ljkulUjx+/Li8NRERERERGYxegdfb2xtXrlwpcfzw4cOoV69euYsiIiIiIjIUvQLv2LFjMW3aNBw7dgwSiQR37tzB2rVrMX36dEycONHQNRIRERER6c1Gn5NmzpwJuVyObt26ITc3F506dYK9vT2mT5+OKVOmGLpGIiIiIiK9SQRBEPQ9uaCgAFeuXMGTJ08QEBAAZ2dnQ9YmmqysLEilUmRmZsLV1VXscoiIiIioGF3yml4zvAp2dnYICAgoz10QEREREVUovQLvwIEDIZFIShyXSCRwcHBA/fr1MXz4cDRs2LDcBRIRERERlYdeF61JpVLs27cPSUlJkEgkkEgkOH36NPbt24eioiJs2LABzZs3x19//VXmfX3zzTfw8/ODg4MDQkJCcPz48VLHb9q0CY0aNYKDgwOaNm2KX3/9VeX2J0+eYPLkyahVqxYcHR0REBCAZcuW6fM0iYiIiMgC6N2WbPjw4fj333+xZcsWbNmyBVevXsXIkSPh7++P8+fPIzIyEu+++26p97NhwwZER0cjJiYGSUlJaN68OcLDw5GRkaF2/JEjRzBs2DC8/vrrOH36NAYMGIABAwYgJSVFOSY6OhoJCQlYs2YNzp8/j6ioKEyePBk7duzQ56kSERERkZnT66K16tWr46+//sILL7ygcvzSpUto164d7t+/jzNnzqBjx46lbkQREhKCNm3aYMmSJQAAuVwOX19fTJkyBTNnziwxPiIiAjk5Odi1a5fyWNu2bREUFKScxQ0MDERERARmz56tHNOqVSu89NJLmDt3rto68vPzldsjA88WQfv6+vKiNSIiIiITpctFa3rN8BYVFeHChQsljl+4cAEymQwA4ODgoHadr0JBQQFOnTqFsLCw/4qxskJYWBgSExPVnpOYmKgyHgDCw8NVxrdr1w47duxAamoqBEHA/v37cenSJfTo0UNjLbGxsZBKpcovX19fjWOJiIiIyLzoddHaq6++itdffx3vvfce2rRpAwA4ceIE5s2bh1GjRgEADh48iCZNmmi8j/v370Mmk8HLy0vluJeXl9owDQDp6elqx6enpyu/X7x4McaNG4datWrBxsYGVlZWWLFihdqtkBVmzZqF6Oho5feKGV4iIiIiMn96Bd4vv/wSXl5e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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from statsmodels.graphics.regressionplots import plot_leverage_resid2\n", "\n", "fig, ax = plt.subplots(figsize=(8, 6))\n", "fig = plot_leverage_resid2(results, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Other plotting options can be found on the [Graphics page.](https://www.statsmodels.org/stable/graphics.html)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multicollinearity\n", "\n", "Condition number:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:12.209892Z", "iopub.status.busy": "2022-11-02T17:11:12.208768Z", "iopub.status.idle": "2022-11-02T17:11:12.216609Z", "shell.execute_reply": "2022-11-02T17:11:12.216065Z" } }, "outputs": [ { "data": { "text/plain": [ "702.1792145490066" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.cond(results.model.exog)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Heteroskedasticity tests\n", "\n", "Breush-Pagan test:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:12.221252Z", "iopub.status.busy": "2022-11-02T17:11:12.220141Z", "iopub.status.idle": "2022-11-02T17:11:12.230995Z", "shell.execute_reply": "2022-11-02T17:11:12.230062Z" } }, "outputs": [ { "data": { "text/plain": [ "[('Lagrange multiplier statistic', 4.893213374093985),\n", " ('p-value', 0.08658690502352087),\n", " ('f-value', 2.5037159462564538),\n", " ('f p-value', 0.08794028782672857)]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "name = [\"Lagrange multiplier statistic\", \"p-value\", \"f-value\", \"f p-value\"]\n", "test = sms.het_breuschpagan(results.resid, results.model.exog)\n", "lzip(name, test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Goldfeld-Quandt test" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:12.236994Z", "iopub.status.busy": "2022-11-02T17:11:12.235321Z", "iopub.status.idle": "2022-11-02T17:11:12.245320Z", "shell.execute_reply": "2022-11-02T17:11:12.244747Z" } }, "outputs": [ { "data": { "text/plain": [ "[('F statistic', 1.100242243637814), ('p-value', 0.38202950686925286)]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "name = [\"F statistic\", \"p-value\"]\n", "test = sms.het_goldfeldquandt(results.resid, results.model.exog)\n", "lzip(name, test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linearity\n", "\n", "Harvey-Collier multiplier test for Null hypothesis that the linear specification is correct:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2022-11-02T17:11:12.250103Z", "iopub.status.busy": "2022-11-02T17:11:12.248957Z", "iopub.status.idle": "2022-11-02T17:11:12.258064Z", "shell.execute_reply": "2022-11-02T17:11:12.257481Z" } }, "outputs": [ { "data": { "text/plain": [ "[('t value', -1.0796490077761558), ('p value', 0.2834639247568444)]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "name = [\"t value\", \"p value\"]\n", "test = sms.linear_harvey_collier(results)\n", "lzip(name, test)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.10.8" } }, "nbformat": 4, "nbformat_minor": 4 }