statsmodels 住宅価格予測
statsmodels
を使用して現実的な問題を解決する方法を示します。
ここでは、重回帰分析を例に取り上げます。
例えば、住宅価格を予測するためのモデルを構築します。
データセットとして、よく知られているボストン住宅価格データセットを使用します。
このデータセットには、住宅の価格とそれに関連する様々な特徴量が含まれています。
以下の手順で進めます:
- データの読み込み
- データの前処理
- モデルの構築
- 結果の解釈
手順
1. データの読み込み
まず、必要なライブラリをインポートし、データセットを読み込みます。
1 | import statsmodels.api as sm |
2. データの前処理
データを見て、ターゲット変数(住宅価格)と説明変数(特徴量)を分けます。
1 | # データの確認 |
3. モデルの構築
statsmodels
を使って重回帰モデルを構築します。
1 | # 定数項を追加 |
4. 結果の解釈
モデルの結果を表示し、解釈します。
1 | # 結果の表示 |
完全なコード
以下に完全なコードを示します:
1 | import statsmodels.api as sm |
[実行結果]
crim zn indus chas nox rm age dis rad tax ptratio \ 0 0.00632 18.0 2.31 0 0.538 6.575 65.2 4.0900 1 296 15.3 1 0.02731 0.0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 2 0.02729 0.0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 3 0.03237 0.0 2.18 0 0.458 6.998 45.8 6.0622 3 222 18.7 4 0.06905 0.0 2.18 0 0.458 7.147 54.2 6.0622 3 222 18.7 black lstat medv 0 396.90 4.98 24.0 1 396.90 9.14 21.6 2 392.83 4.03 34.7 3 394.63 2.94 33.4 4 396.90 5.33 36.2 OLS Regression Results ============================================================================== Dep. Variable: medv R-squared: 0.741 Model: OLS Adj. R-squared: 0.734 Method: Least Squares F-statistic: 108.1 Date: Mon, 08 Jul 2024 Prob (F-statistic): 6.72e-135 Time: 03:02:00 Log-Likelihood: -1498.8 No. Observations: 506 AIC: 3026. Df Residuals: 492 BIC: 3085. Df Model: 13 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const 36.4595 5.103 7.144 0.000 26.432 46.487 crim -0.1080 0.033 -3.287 0.001 -0.173 -0.043 zn 0.0464 0.014 3.382 0.001 0.019 0.073 indus 0.0206 0.061 0.334 0.738 -0.100 0.141 chas 2.6867 0.862 3.118 0.002 0.994 4.380 nox -17.7666 3.820 -4.651 0.000 -25.272 -10.262 rm 3.8099 0.418 9.116 0.000 2.989 4.631 age 0.0007 0.013 0.052 0.958 -0.025 0.027 dis -1.4756 0.199 -7.398 0.000 -1.867 -1.084 rad 0.3060 0.066 4.613 0.000 0.176 0.436 tax -0.0123 0.004 -3.280 0.001 -0.020 -0.005 ptratio -0.9527 0.131 -7.283 0.000 -1.210 -0.696 black 0.0093 0.003 3.467 0.001 0.004 0.015 lstat -0.5248 0.051 -10.347 0.000 -0.624 -0.425 ============================================================================== Omnibus: 178.041 Durbin-Watson: 1.078 Prob(Omnibus): 0.000 Jarque-Bera (JB): 783.126 Skew: 1.521 Prob(JB): 8.84e-171 Kurtosis: 8.281 Cond. No. 1.51e+04 ==============================================================================
結果の解釈
結果には以下の情報が含まれます:
- R-squared: モデルがデータのどれだけを説明しているかを示す指標。
$1$に近いほどモデルの説明力が高い。 - Coefficients(coef): 各説明変数の回帰係数。
これにより各特徴量が住宅価格にどのような影響を与えるかがわかります。 - P-values: 各説明変数の有意性を示す値。
一般的に、p値が$0.05$未満の変数は統計的に有意とされます。
このようにして、statsmodels
を使用して現実的な問題を解決することができます。
この例では、住宅価格を予測するための重回帰モデルを構築し、その結果を解釈しました。