{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import statsmodels.api as sm\n", "\n", "import pandas as pd\n", "\n", "from patsy import dmatrices" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "df = sm.datasets.get_rdataset(\"Guerry\", \"HistData\").data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
deptCrime_persCrime_propLiteracyDonationsInfantsSuicidesWealthCommerceClergyCrime_parentsInfanticideDonation_clergyLotteryDesertionInstructionProstitutesDistanceAreaPop1831
count86.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.000000
mean46.88372119754.4069777843.05814039.2558147075.54651219049.90697736522.60465143.50000042.80232643.43023343.50000043.51162843.50000043.50000043.50000043.127907141.872093207.9531406146.988372378.628721
std30.4261577504.7030733051.35283917.3640515834.5952168820.23354631312.53264924.96998225.02837024.99954924.96998224.94829724.96998224.96998224.96998224.799809520.969318109.3208371398.246620148.777230
min1.0000002199.0000001368.00000012.0000001246.0000002660.0000003460.0000001.0000001.0000001.0000001.0000001.0000001.0000001.0000001.0000001.0000000.0000000.000000762.000000129.100000
25%24.25000014156.2500005933.00000025.0000003446.75000014299.75000015463.00000022.25000021.25000022.25000022.25000022.25000022.25000022.25000022.25000023.2500006.000000121.3830005400.750000283.005000
50%45.50000018748.5000007595.00000038.0000005020.00000017141.50000026743.50000043.50000042.50000043.50000043.50000043.50000043.50000043.50000043.50000041.50000033.000000200.6160006070.500000346.165000
75%66.75000025937.5000009182.25000051.7500009446.75000022682.25000044057.50000064.75000063.75000064.75000064.75000064.75000064.75000064.75000064.75000064.750000113.750000289.6705006816.500000444.407500
max200.00000037014.00000020235.00000074.00000037015.00000062486.000000163241.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.00000086.0000004744.000000539.21300010000.000000989.940000
\n", "
" ], "text/plain": [ " dept Crime_pers Crime_prop Literacy Donations \\\n", "count 86.000000 86.000000 86.000000 86.000000 86.000000 \n", "mean 46.883721 19754.406977 7843.058140 39.255814 7075.546512 \n", "std 30.426157 7504.703073 3051.352839 17.364051 5834.595216 \n", "min 1.000000 2199.000000 1368.000000 12.000000 1246.000000 \n", "25% 24.250000 14156.250000 5933.000000 25.000000 3446.750000 \n", "50% 45.500000 18748.500000 7595.000000 38.000000 5020.000000 \n", "75% 66.750000 25937.500000 9182.250000 51.750000 9446.750000 \n", "max 200.000000 37014.000000 20235.000000 74.000000 37015.000000 \n", "\n", " Infants Suicides Wealth Commerce Clergy \\\n", "count 86.000000 86.000000 86.000000 86.000000 86.000000 \n", "mean 19049.906977 36522.604651 43.500000 42.802326 43.430233 \n", "std 8820.233546 31312.532649 24.969982 25.028370 24.999549 \n", "min 2660.000000 3460.000000 1.000000 1.000000 1.000000 \n", "25% 14299.750000 15463.000000 22.250000 21.250000 22.250000 \n", "50% 17141.500000 26743.500000 43.500000 42.500000 43.500000 \n", "75% 22682.250000 44057.500000 64.750000 63.750000 64.750000 \n", "max 62486.000000 163241.000000 86.000000 86.000000 86.000000 \n", "\n", " Crime_parents Infanticide Donation_clergy Lottery Desertion \\\n", "count 86.000000 86.000000 86.000000 86.000000 86.000000 \n", "mean 43.500000 43.511628 43.500000 43.500000 43.500000 \n", "std 24.969982 24.948297 24.969982 24.969982 24.969982 \n", "min 1.000000 1.000000 1.000000 1.000000 1.000000 \n", "25% 22.250000 22.250000 22.250000 22.250000 22.250000 \n", "50% 43.500000 43.500000 43.500000 43.500000 43.500000 \n", "75% 64.750000 64.750000 64.750000 64.750000 64.750000 \n", "max 86.000000 86.000000 86.000000 86.000000 86.000000 \n", "\n", " Instruction Prostitutes Distance Area Pop1831 \n", "count 86.000000 86.000000 86.000000 86.000000 86.000000 \n", "mean 43.127907 141.872093 207.953140 6146.988372 378.628721 \n", "std 24.799809 520.969318 109.320837 1398.246620 148.777230 \n", "min 1.000000 0.000000 0.000000 762.000000 129.100000 \n", "25% 23.250000 6.000000 121.383000 5400.750000 283.005000 \n", "50% 41.500000 33.000000 200.616000 6070.500000 346.165000 \n", "75% 64.750000 113.750000 289.670500 6816.500000 444.407500 \n", "max 86.000000 4744.000000 539.213000 10000.000000 989.940000 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "vars = ['Department', 'Lottery', 'Literacy', 'Wealth', 'Region']" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DepartmentLotteryLiteracyWealthRegion
80Vendee682856W
81Vienne402568W
82Haute-Vienne551367C
83Vosges146282E
84Yonne514730C
\n", "
" ], "text/plain": [ " Department Lottery Literacy Wealth Region\n", "80 Vendee 68 28 56 W\n", "81 Vienne 40 25 68 W\n", "82 Haute-Vienne 55 13 67 C\n", "83 Vosges 14 62 82 E\n", "84 Yonne 51 47 30 C" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.dropna()[vars]\n", "df[-5:]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "y, X = dmatrices('Lottery ~ Literacy + Wealth + Region', data=df, return_type='dataframe')\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Lottery
041.0
138.0
266.0
380.0
479.0
......
8068.0
8140.0
8255.0
8314.0
8451.0
\n", "

85 rows × 1 columns

\n", "
" ], "text/plain": [ " Lottery\n", "0 41.0\n", "1 38.0\n", "2 66.0\n", "3 80.0\n", "4 79.0\n", ".. ...\n", "80 68.0\n", "81 40.0\n", "82 55.0\n", "83 14.0\n", "84 51.0\n", "\n", "[85 rows x 1 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
InterceptRegion[T.E]Region[T.N]Region[T.S]Region[T.W]LiteracyWealth
01.01.00.00.00.037.073.0
11.00.01.00.00.051.022.0
21.00.00.00.00.013.061.0
31.01.00.00.00.046.076.0
41.01.00.00.00.069.083.0
........................
801.00.00.00.01.028.056.0
811.00.00.00.01.025.068.0
821.00.00.00.00.013.067.0
831.01.00.00.00.062.082.0
841.00.00.00.00.047.030.0
\n", "

85 rows × 7 columns

\n", "
" ], "text/plain": [ " Intercept Region[T.E] Region[T.N] Region[T.S] Region[T.W] Literacy \\\n", "0 1.0 1.0 0.0 0.0 0.0 37.0 \n", "1 1.0 0.0 1.0 0.0 0.0 51.0 \n", "2 1.0 0.0 0.0 0.0 0.0 13.0 \n", "3 1.0 1.0 0.0 0.0 0.0 46.0 \n", "4 1.0 1.0 0.0 0.0 0.0 69.0 \n", ".. ... ... ... ... ... ... \n", "80 1.0 0.0 0.0 0.0 1.0 28.0 \n", "81 1.0 0.0 0.0 0.0 1.0 25.0 \n", "82 1.0 0.0 0.0 0.0 0.0 13.0 \n", "83 1.0 1.0 0.0 0.0 0.0 62.0 \n", "84 1.0 0.0 0.0 0.0 0.0 47.0 \n", "\n", " Wealth \n", "0 73.0 \n", "1 22.0 \n", "2 61.0 \n", "3 76.0 \n", "4 83.0 \n", ".. ... \n", "80 56.0 \n", "81 68.0 \n", "82 67.0 \n", "83 82.0 \n", "84 30.0 \n", "\n", "[85 rows x 7 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: Lottery R-squared: 0.338\n", "Model: OLS Adj. R-squared: 0.287\n", "Method: Least Squares F-statistic: 6.636\n", "Date: Tue, 19 Apr 2022 Prob (F-statistic): 1.07e-05\n", "Time: 00:05:57 Log-Likelihood: -375.30\n", "No. Observations: 85 AIC: 764.6\n", "Df Residuals: 78 BIC: 781.7\n", "Df Model: 6 \n", "Covariance Type: nonrobust \n", "===============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "-------------------------------------------------------------------------------\n", "Intercept 38.6517 9.456 4.087 0.000 19.826 57.478\n", "Region[T.E] -15.4278 9.727 -1.586 0.117 -34.793 3.938\n", "Region[T.N] -10.0170 9.260 -1.082 0.283 -28.453 8.419\n", "Region[T.S] -4.5483 7.279 -0.625 0.534 -19.039 9.943\n", "Region[T.W] -10.0913 7.196 -1.402 0.165 -24.418 4.235\n", "Literacy -0.1858 0.210 -0.886 0.378 -0.603 0.232\n", "Wealth 0.4515 0.103 4.390 0.000 0.247 0.656\n", "==============================================================================\n", "Omnibus: 3.049 Durbin-Watson: 1.785\n", "Prob(Omnibus): 0.218 Jarque-Bera (JB): 2.694\n", "Skew: -0.340 Prob(JB): 0.260\n", "Kurtosis: 2.454 Cond. No. 371.\n", "==============================================================================\n", "\n", "Notes:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] } ], "source": [ "mod = sm.OLS(y, X) # Describe model\n", "res = mod.fit() # Fit model\n", "print(res.summary()) # Summarize model, like df.describe() " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Intercept 38.651655\n", "Region[T.E] -15.427785\n", "Region[T.N] -10.016961\n", "Region[T.S] -4.548257\n", "Region[T.W] -10.091276\n", "Literacy -0.185819\n", "Wealth 0.451475\n", "dtype: float64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.params" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3379508691928823" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.rsquared" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Rainbow test for linearity\n", "\n", " The null hypothesis is the fit of the model using full sample is the same\n", " as using a central subset. The alternative is that the fits are difference.\n", " The rainbow test has power against many different forms of nonlinearity.\n", "\n", " Parameters\n", " ----------\n", " res : RegressionResults\n", " A results instance from a linear regression.\n", " frac : float, default 0.5\n", " The fraction of the data to include in the center model.\n", " order_by : {ndarray, str, List[str]}, default None\n", " If an ndarray, the values in the array are used to sort the\n", " observations. If a string or a list of strings, these are interpreted\n", " as column name(s) which are then used to lexicographically sort the\n", " data.\n", " use_distance : bool, default False\n", " Flag indicating whether data should be ordered by the Mahalanobis\n", " distance to the center.\n", " center : {float, int}, default None\n", " If a float, the value must be in [0, 1] and the center is center *\n", " nobs of the ordered data. If an integer, must be in [0, nobs) and\n", " is interpreted as the observation of the ordered data to use.\n", "\n", " Returns\n", " -------\n", " fstat : float\n", " The test statistic based on the F test.\n", " pvalue : float\n", " The pvalue of the test.\n", "\n", " Notes\n", " -----\n", " This test assumes residuals are homoskedastic and may reject a correct\n", " linear specification if the residuals are heteroskedastic.\n", " \n" ] } ], "source": [ "sm.stats.linear_rainbow(res)\n", "print(sm.stats.linear_rainbow.__doc__)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "eval_env: 1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sm.graphics.plot_partregress('Lottery', 'Wealth', ['Region', 'Literacy'],\n", " ....: data=df, obs_labels=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.7.0" } }, "nbformat": 4, "nbformat_minor": 4 }