{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 第6章『回帰分析』"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## p.101"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:29:26.133702Z",
"start_time": "2019-04-14T17:29:25.326491Z"
}
},
"outputs": [],
"source": [
"\"\"\" R自体に mtcarsというデータセットがビルトインされているが、Pythonではビルトインされていないので、今回はGithubに掲載されているmtcarsをインポートする。 \"\"\"\n",
"\n",
"import pandas as pd\n",
"mtcars = pd.read_csv('https://gist.githubusercontent.com/ZeccaLehn/4e06d2575eb9589dbe8c365d61cb056c/raw/64f1660f38ef523b2a1a13be77b002b98665cdfe/mtcars.csv')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:29:32.134619Z",
"start_time": "2019-04-14T17:29:32.114802Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" mpg | \n",
" cyl | \n",
" disp | \n",
" hp | \n",
" drat | \n",
" wt | \n",
" qsec | \n",
" vs | \n",
" am | \n",
" gear | \n",
" carb | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Mazda RX4 | \n",
" 21.0 | \n",
" 6 | \n",
" 160.0 | \n",
" 110 | \n",
" 3.90 | \n",
" 2.620 | \n",
" 16.46 | \n",
" 0 | \n",
" 1 | \n",
" 4 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" Mazda RX4 Wag | \n",
" 21.0 | \n",
" 6 | \n",
" 160.0 | \n",
" 110 | \n",
" 3.90 | \n",
" 2.875 | \n",
" 17.02 | \n",
" 0 | \n",
" 1 | \n",
" 4 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" Datsun 710 | \n",
" 22.8 | \n",
" 4 | \n",
" 108.0 | \n",
" 93 | \n",
" 3.85 | \n",
" 2.320 | \n",
" 18.61 | \n",
" 1 | \n",
" 1 | \n",
" 4 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" Hornet 4 Drive | \n",
" 21.4 | \n",
" 6 | \n",
" 258.0 | \n",
" 110 | \n",
" 3.08 | \n",
" 3.215 | \n",
" 19.44 | \n",
" 1 | \n",
" 0 | \n",
" 3 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" Hornet Sportabout | \n",
" 18.7 | \n",
" 8 | \n",
" 360.0 | \n",
" 175 | \n",
" 3.15 | \n",
" 3.440 | \n",
" 17.02 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 mpg cyl disp hp drat wt qsec vs am gear \\\n",
"0 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 \n",
"1 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 \n",
"2 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 \n",
"3 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 \n",
"4 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 \n",
"\n",
" carb \n",
"0 4 \n",
"1 4 \n",
"2 1 \n",
"3 1 \n",
"4 2 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mtcars.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## p.105"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:30:10.481879Z",
"start_time": "2019-04-14T17:30:10.462697Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"OLS Regression Results\n",
"\n",
" Dep. Variable: | mpg | R-squared: | 0.718 | \n",
"
\n",
"\n",
" Model: | OLS | Adj. R-squared: | 0.709 | \n",
"
\n",
"\n",
" Method: | Least Squares | F-statistic: | 76.51 | \n",
"
\n",
"\n",
" Date: | Sat, 25 Jan 2020 | Prob (F-statistic): | 9.38e-10 | \n",
"
\n",
"\n",
" Time: | 17:38:34 | Log-Likelihood: | -82.105 | \n",
"
\n",
"\n",
" No. Observations: | 32 | AIC: | 168.2 | \n",
"
\n",
"\n",
" Df Residuals: | 30 | BIC: | 171.1 | \n",
"
\n",
"\n",
" Df Model: | 1 | | | \n",
"
\n",
"\n",
" Covariance Type: | nonrobust | | | \n",
"
\n",
"
\n",
"\n",
"\n",
" | coef | std err | t | P>|t| | [0.025 | 0.975] | \n",
"
\n",
"\n",
" Intercept | 29.5999 | 1.230 | 24.070 | 0.000 | 27.088 | 32.111 | \n",
"
\n",
"\n",
" disp | -0.0412 | 0.005 | -8.747 | 0.000 | -0.051 | -0.032 | \n",
"
\n",
"
\n",
"\n",
"\n",
" Omnibus: | 3.368 | Durbin-Watson: | 1.250 | \n",
"
\n",
"\n",
" Prob(Omnibus): | 0.186 | Jarque-Bera (JB): | 3.049 | \n",
"
\n",
"\n",
" Skew: | 0.719 | Prob(JB): | 0.218 | \n",
"
\n",
"\n",
" Kurtosis: | 2.532 | Cond. No. | 558. | \n",
"
\n",
"
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
],
"text/plain": [
"\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: mpg R-squared: 0.718\n",
"Model: OLS Adj. R-squared: 0.709\n",
"Method: Least Squares F-statistic: 76.51\n",
"Date: Sat, 25 Jan 2020 Prob (F-statistic): 9.38e-10\n",
"Time: 17:38:34 Log-Likelihood: -82.105\n",
"No. Observations: 32 AIC: 168.2\n",
"Df Residuals: 30 BIC: 171.1\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept 29.5999 1.230 24.070 0.000 27.088 32.111\n",
"disp -0.0412 0.005 -8.747 0.000 -0.051 -0.032\n",
"==============================================================================\n",
"Omnibus: 3.368 Durbin-Watson: 1.250\n",
"Prob(Omnibus): 0.186 Jarque-Bera (JB): 3.049\n",
"Skew: 0.719 Prob(JB): 0.218\n",
"Kurtosis: 2.532 Cond. No. 558.\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"\"\"\""
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\" Pythonでは、回帰分析の際には、sklearn.linear_model を利用する場合があるが、statmodelsの方が分析結果が一覧できる。 \"\"\"\n",
"import statsmodels.formula.api as sm\n",
"kaiki1 = sm.ols(formula='mpg ~ disp', data=mtcars)\n",
"kaiki1_fitted = kaiki1.fit()\n",
"kaiki1_fitted.summary()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:30:13.360608Z",
"start_time": "2019-04-14T17:30:13.355004Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([-4.89220065, -2.20219093, -0.96308564, 1.62715468, 7.23054027])"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"np.quantile(kaiki1_fitted.resid, [0, 0.25, 0.5, 0.75, 1]) # 四分位を出力"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:30:15.651873Z",
"start_time": "2019-04-14T17:30:15.231826Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import seaborn as sns\n",
"sns.regplot(x='disp', y='mpg', data=mtcars)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:30:39.105426Z",
"start_time": "2019-04-14T17:30:39.097885Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"0 25.478343\n",
"dtype: float64"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kaiki1_fitted.predict(pd.DataFrame({\"disp\": [100]})) # dispの値が100の場合"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## p.108, 109"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:30:49.192222Z",
"start_time": "2019-04-14T17:30:49.174576Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"OLS Regression Results\n",
"\n",
" Dep. Variable: | mpg | R-squared: | 0.760 | \n",
"
\n",
"\n",
" Model: | OLS | Adj. R-squared: | 0.743 | \n",
"
\n",
"\n",
" Method: | Least Squares | F-statistic: | 45.81 | \n",
"
\n",
"\n",
" Date: | Sat, 25 Jan 2020 | Prob (F-statistic): | 1.06e-09 | \n",
"
\n",
"\n",
" Time: | 17:38:34 | Log-Likelihood: | -79.573 | \n",
"
\n",
"\n",
" No. Observations: | 32 | AIC: | 165.1 | \n",
"
\n",
"\n",
" Df Residuals: | 29 | BIC: | 169.5 | \n",
"
\n",
"\n",
" Df Model: | 2 | | | \n",
"
\n",
"\n",
" Covariance Type: | nonrobust | | | \n",
"
\n",
"
\n",
"\n",
"\n",
" | coef | std err | t | P>|t| | [0.025 | 0.975] | \n",
"
\n",
"\n",
" Intercept | 34.6610 | 2.547 | 13.609 | 0.000 | 29.452 | 39.870 | \n",
"
\n",
"\n",
" disp | -0.0206 | 0.010 | -2.007 | 0.054 | -0.042 | 0.000 | \n",
"
\n",
"\n",
" cyl | -1.5873 | 0.712 | -2.230 | 0.034 | -3.043 | -0.131 | \n",
"
\n",
"
\n",
"\n",
"\n",
" Omnibus: | 3.200 | Durbin-Watson: | 1.596 | \n",
"
\n",
"\n",
" Prob(Omnibus): | 0.202 | Jarque-Bera (JB): | 2.660 | \n",
"
\n",
"\n",
" Skew: | 0.701 | Prob(JB): | 0.264 | \n",
"
\n",
"\n",
" Kurtosis: | 2.822 | Cond. No. | 1.27e+03 | \n",
"
\n",
"
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 1.27e+03. This might indicate that there are
strong multicollinearity or other numerical problems."
],
"text/plain": [
"\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: mpg R-squared: 0.760\n",
"Model: OLS Adj. R-squared: 0.743\n",
"Method: Least Squares F-statistic: 45.81\n",
"Date: Sat, 25 Jan 2020 Prob (F-statistic): 1.06e-09\n",
"Time: 17:38:34 Log-Likelihood: -79.573\n",
"No. Observations: 32 AIC: 165.1\n",
"Df Residuals: 29 BIC: 169.5\n",
"Df Model: 2 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept 34.6610 2.547 13.609 0.000 29.452 39.870\n",
"disp -0.0206 0.010 -2.007 0.054 -0.042 0.000\n",
"cyl -1.5873 0.712 -2.230 0.034 -3.043 -0.131\n",
"==============================================================================\n",
"Omnibus: 3.200 Durbin-Watson: 1.596\n",
"Prob(Omnibus): 0.202 Jarque-Bera (JB): 2.660\n",
"Skew: 0.701 Prob(JB): 0.264\n",
"Kurtosis: 2.822 Cond. No. 1.27e+03\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"[2] The condition number is large, 1.27e+03. This might indicate that there are\n",
"strong multicollinearity or other numerical problems.\n",
"\"\"\""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import statsmodels.formula.api as sm\n",
"kaiki2 = sm.ols(formula='mpg ~ disp + cyl', data=mtcars)\n",
"kaiki2_fitted = kaiki2.fit()\n",
"kaiki2_fitted.summary()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:31:10.653356Z",
"start_time": "2019-04-14T17:31:10.649514Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([-4.42126787, -2.17223578, -0.63623117, 1.18986716, 7.05160883])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.quantile(kaiki2_fitted.resid, [0, 0.25, 0.5, 0.75, 1]) # 四分位を出力"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:31:14.648738Z",
"start_time": "2019-04-14T17:31:14.643629Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"0 21.843953\n",
"1 21.843953\n",
"2 26.088855\n",
"3 19.826756\n",
"4 14.552672\n",
"5 20.506016\n",
"6 14.552672\n",
"7 25.292268\n",
"8 25.413712\n",
"9 21.687517\n",
"10 21.687517\n",
"11 16.285814\n",
"12 16.285814\n",
"13 16.285814\n",
"14 12.247305\n",
"15 12.494309\n",
"16 12.905982\n",
"17 26.691956\n",
"18 26.753706\n",
"19 26.848391\n",
"20 25.839793\n",
"21 15.417185\n",
"22 15.705356\n",
"23 14.758509\n",
"24 13.729327\n",
"25 26.685780\n",
"26 25.835676\n",
"27 26.354384\n",
"28 14.737925\n",
"29 22.152707\n",
"30 15.767107\n",
"31 25.821268\n",
"dtype: float64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kaiki2_fitted.fittedvalues"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:31:20.035211Z",
"start_time": "2019-04-14T17:31:20.030244Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"0 -0.843953\n",
"1 -0.843953\n",
"2 -3.288855\n",
"3 1.573244\n",
"4 4.147328\n",
"5 -2.406016\n",
"6 -0.252672\n",
"7 -0.892268\n",
"8 -2.613712\n",
"9 -2.487517\n",
"10 -3.887517\n",
"11 0.114186\n",
"12 1.014186\n",
"13 -1.085814\n",
"14 -1.847305\n",
"15 -2.094309\n",
"16 1.794018\n",
"17 5.708044\n",
"18 3.646294\n",
"19 7.051609\n",
"20 -4.339793\n",
"21 0.082815\n",
"22 -0.505356\n",
"23 -1.458509\n",
"24 5.470673\n",
"25 0.614220\n",
"26 0.164324\n",
"27 4.045616\n",
"28 1.062075\n",
"29 -2.452707\n",
"30 -0.767107\n",
"31 -4.421268\n",
"dtype: float64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kaiki2_fitted.resid"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:31:27.088215Z",
"start_time": "2019-04-14T17:31:27.076591Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" mpg | \n",
" kaiki2_fitted | \n",
"
\n",
" \n",
" \n",
" \n",
" mpg | \n",
" 1.000000 | \n",
" 0.871531 | \n",
"
\n",
" \n",
" kaiki2_fitted | \n",
" 0.871531 | \n",
" 1.000000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" mpg kaiki2_fitted\n",
"mpg 1.000000 0.871531\n",
"kaiki2_fitted 0.871531 1.000000"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame({\n",
" \"mpg\": mtcars[\"mpg\"], \n",
" \"kaiki2_fitted\": kaiki2_fitted.fittedvalues\n",
"}).corr()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:31:32.369733Z",
"start_time": "2019-04-14T17:31:32.257521Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib\n",
"%matplotlib inline\n",
"matplotlib.pyplot.scatter(mtcars[\"mpg\"], kaiki2_fitted.fittedvalues)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:31:44.920485Z",
"start_time": "2019-04-14T17:31:44.912208Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"0 15.78769\n",
"dtype: float64"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kaiki2_fitted.predict(pd.DataFrame({\"disp\": [300.0,], \"cyl\": [8]})) # dispの値が300、cylが8の場合"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## p.112"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:31:56.193866Z",
"start_time": "2019-04-14T17:31:56.074711Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(array([ 1., 10., 8., 5., 4., 1., 3.]),\n",
" array([-6., -4., -2., 0., 2., 4., 6., 8.]),\n",
" )"
]
},
"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": [
"import matplotlib\n",
"%matplotlib inline\n",
"matplotlib.pyplot.hist(kaiki1_fitted.resid, range=(-6, 8), bins=7)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:32:02.589917Z",
"start_time": "2019-04-14T17:32:02.475045Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(array([2., 7., 9., 8., 1., 4., 1.]),\n",
" array([-6., -4., -2., 0., 2., 4., 6., 8.]),\n",
" )"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib\n",
"%matplotlib inline\n",
"# https://matplotlib.org/api/_as_gen/matplotlib.pyplot.hist.html\n",
"matplotlib.pyplot.hist(kaiki2_fitted.resid, range=(-6, 8), bins=7)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:32:07.769328Z",
"start_time": "2019-04-14T17:32:07.757032Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"OLS Regression Results\n",
"\n",
" Dep. Variable: | mpg | R-squared: | 0.760 | \n",
"
\n",
"\n",
" Model: | OLS | Adj. R-squared: | 0.743 | \n",
"
\n",
"\n",
" Method: | Least Squares | F-statistic: | 45.81 | \n",
"
\n",
"\n",
" Date: | Sat, 25 Jan 2020 | Prob (F-statistic): | 1.06e-09 | \n",
"
\n",
"\n",
" Time: | 17:38:35 | Log-Likelihood: | -79.573 | \n",
"
\n",
"\n",
" No. Observations: | 32 | AIC: | 165.1 | \n",
"
\n",
"\n",
" Df Residuals: | 29 | BIC: | 169.5 | \n",
"
\n",
"\n",
" Df Model: | 2 | | | \n",
"
\n",
"\n",
" Covariance Type: | nonrobust | | | \n",
"
\n",
"
\n",
"\n",
"\n",
" | coef | std err | t | P>|t| | [0.025 | 0.975] | \n",
"
\n",
"\n",
" Intercept | 34.6610 | 2.547 | 13.609 | 0.000 | 29.452 | 39.870 | \n",
"
\n",
"\n",
" disp | -0.0206 | 0.010 | -2.007 | 0.054 | -0.042 | 0.000 | \n",
"
\n",
"\n",
" cyl | -1.5873 | 0.712 | -2.230 | 0.034 | -3.043 | -0.131 | \n",
"
\n",
"
\n",
"\n",
"\n",
" Omnibus: | 3.200 | Durbin-Watson: | 1.596 | \n",
"
\n",
"\n",
" Prob(Omnibus): | 0.202 | Jarque-Bera (JB): | 2.660 | \n",
"
\n",
"\n",
" Skew: | 0.701 | Prob(JB): | 0.264 | \n",
"
\n",
"\n",
" Kurtosis: | 2.822 | Cond. No. | 1.27e+03 | \n",
"
\n",
"
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 1.27e+03. This might indicate that there are
strong multicollinearity or other numerical problems."
],
"text/plain": [
"\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: mpg R-squared: 0.760\n",
"Model: OLS Adj. R-squared: 0.743\n",
"Method: Least Squares F-statistic: 45.81\n",
"Date: Sat, 25 Jan 2020 Prob (F-statistic): 1.06e-09\n",
"Time: 17:38:35 Log-Likelihood: -79.573\n",
"No. Observations: 32 AIC: 165.1\n",
"Df Residuals: 29 BIC: 169.5\n",
"Df Model: 2 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept 34.6610 2.547 13.609 0.000 29.452 39.870\n",
"disp -0.0206 0.010 -2.007 0.054 -0.042 0.000\n",
"cyl -1.5873 0.712 -2.230 0.034 -3.043 -0.131\n",
"==============================================================================\n",
"Omnibus: 3.200 Durbin-Watson: 1.596\n",
"Prob(Omnibus): 0.202 Jarque-Bera (JB): 2.660\n",
"Skew: 0.701 Prob(JB): 0.264\n",
"Kurtosis: 2.822 Cond. No. 1.27e+03\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"[2] The condition number is large, 1.27e+03. This might indicate that there are\n",
"strong multicollinearity or other numerical problems.\n",
"\"\"\""
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kaiki2_fitted.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## p.115"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:32:22.555002Z",
"start_time": "2019-04-14T17:32:22.543133Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"OLS Regression Results\n",
"\n",
" Dep. Variable: | mpg | R-squared: | 0.760 | \n",
"
\n",
"\n",
" Model: | OLS | Adj. R-squared: | 0.743 | \n",
"
\n",
"\n",
" Method: | Least Squares | F-statistic: | 45.81 | \n",
"
\n",
"\n",
" Date: | Sat, 25 Jan 2020 | Prob (F-statistic): | 1.06e-09 | \n",
"
\n",
"\n",
" Time: | 17:38:35 | Log-Likelihood: | -79.573 | \n",
"
\n",
"\n",
" No. Observations: | 32 | AIC: | 165.1 | \n",
"
\n",
"\n",
" Df Residuals: | 29 | BIC: | 169.5 | \n",
"
\n",
"\n",
" Df Model: | 2 | | | \n",
"
\n",
"\n",
" Covariance Type: | nonrobust | | | \n",
"
\n",
"
\n",
"\n",
"\n",
" | coef | std err | t | P>|t| | [0.025 | 0.975] | \n",
"
\n",
"\n",
" Intercept | 34.6610 | 2.547 | 13.609 | 0.000 | 29.452 | 39.870 | \n",
"
\n",
"\n",
" disp | -0.0206 | 0.010 | -2.007 | 0.054 | -0.042 | 0.000 | \n",
"
\n",
"\n",
" cyl | -1.5873 | 0.712 | -2.230 | 0.034 | -3.043 | -0.131 | \n",
"
\n",
"
\n",
"\n",
"\n",
" Omnibus: | 3.200 | Durbin-Watson: | 1.596 | \n",
"
\n",
"\n",
" Prob(Omnibus): | 0.202 | Jarque-Bera (JB): | 2.660 | \n",
"
\n",
"\n",
" Skew: | 0.701 | Prob(JB): | 0.264 | \n",
"
\n",
"\n",
" Kurtosis: | 2.822 | Cond. No. | 1.27e+03 | \n",
"
\n",
"
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 1.27e+03. This might indicate that there are
strong multicollinearity or other numerical problems."
],
"text/plain": [
"\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: mpg R-squared: 0.760\n",
"Model: OLS Adj. R-squared: 0.743\n",
"Method: Least Squares F-statistic: 45.81\n",
"Date: Sat, 25 Jan 2020 Prob (F-statistic): 1.06e-09\n",
"Time: 17:38:35 Log-Likelihood: -79.573\n",
"No. Observations: 32 AIC: 165.1\n",
"Df Residuals: 29 BIC: 169.5\n",
"Df Model: 2 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept 34.6610 2.547 13.609 0.000 29.452 39.870\n",
"disp -0.0206 0.010 -2.007 0.054 -0.042 0.000\n",
"cyl -1.5873 0.712 -2.230 0.034 -3.043 -0.131\n",
"==============================================================================\n",
"Omnibus: 3.200 Durbin-Watson: 1.596\n",
"Prob(Omnibus): 0.202 Jarque-Bera (JB): 2.660\n",
"Skew: 0.701 Prob(JB): 0.264\n",
"Kurtosis: 2.822 Cond. No. 1.27e+03\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"[2] The condition number is large, 1.27e+03. This might indicate that there are\n",
"strong multicollinearity or other numerical problems.\n",
"\"\"\""
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\" Pythonでは statmodelsのsummary()で95%信頼区間もt値も一括で出力される。 \"\"\"\n",
"kaiki2_fitted.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## p.122, 123"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2019-04-14T17:32:37.159914Z",
"start_time": "2019-04-14T17:32:37.156370Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"168.2093890987089\n",
"165.14563701576952\n"
]
}
],
"source": [
"\"\"\" Pythonでは statmodelsのsummary()でAICの値も他の情報とともに一括で出力される。 \"\"\"\n",
"print(kaiki1_fitted.aic) # AICの値のみを取り出す\n",
"print(kaiki2_fitted.aic) # AICの値のみを取り出す"
]
}
],
"metadata": {
"hide_input": false,
"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.7.6"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": true,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 2
}