【初心者脱出】statsmodelsによる重回帰分析結果の見方
Pythonで重回帰分析を行いたい場合、次の二つが候補になります。scikit-learnstatsmodels実際、それぞれを用いた記事が検索でも出てきます。 scikit-learnで重回帰分析を説明している記事。 s.
self-development.infostatsmodelsによる重回帰分析結果の見方
上で載せた重回帰分析のサマリーレポートは、statsmodelsによって作成しています。 これの項目を一つづつ見ていきましょう。 明らかに説明不要のものは、スルーします。
Dep. Variable目的変数
dependent variableの略ですね。 yが目的変数だと表しています。 今回の分析で言えば、「議員報酬」となります。
Model回帰モデル
回帰モデル正式名称日本語OLSOrdinary Least Squares最小二乗法GLSGeneralized Least Squares一般化最小二乗法GLSARGeneralized Least Squares with AR covariance structure空間共分散一般化最小二乗法WLSWeighted Least Squares重み付き最小二乗法RecursiveLSRecursive least squares再帰的最小二乗法RollingOLSRolling Ordinary Least Squares逐次最小二乗法RollingWLSRolling Weighted Least Squaress逐次重み付き最小二乗法 No. Observations観測数
Df Residuals残差の自由度
データの個数は「No. Observations」です。 よって、今回の分析では、全体の自由度は814となります。
では、要因の自由度は? これが、次の「Df Model」になります。 要因の自由度は、6です。
814 – 6 = 808 レポートの値と一致します。
Df Model要因の自由度
Covariance Type共分散の種類
R-squared決定係数
決定係数精度0.9以上非常によい0.7以上0.9未満よい0.5以上0.7未満あまりよくない0.5未満悪い Adj. R-squared自由度調整済み決定係数
F-statisticF値
今回の分析では、359.7です。 果たして、これが大きいのか少ないのか、よくわかりません。 もっと具体的な判断基準が欲しいですよね。
Prob (F-statistic)F値の現れる確率
Log-Likelihood対数尤度
AIC赤池情報量規準
AICは、Akaike’s Information Criterionの略称です。 元統計数理研究所所長の赤池弘次が、1971年に考案し1973年に発表したそうです。 ここで日本人の名前を見るのは、新鮮ですね。
値が小さいほどあてはまりが良いとされています。 しかし、AICは相対的な評価として用いられるモノです。 そのため、「〇以下であることが望ましい」というような基準はないとのことです。
BICベイズ情報量規準
coef回帰係数
col_namestatsmodelsX1prefecture_id0.0777X2population1.2535X3area0.1405X4population_density0.2791X5fiscal_index0.2963X6revenue-0.7372 std err標準誤差
tt値
0.777 ÷ 0.019 = 4.089473684210526 t値は、4.039ですが、ほぼ同じです。
P>|t|P値(有意確率)
[0.025 0.975]母分散の95%信頼区間
95%のデータがこの区間に存在していると言うことです。 例えば、x2は「1.055 1.452」が母分散の信頼区間となります。
Omnibusオムニバス検定統計量
Prob(Omnibus)オムニバス検定統計量のP値
P値と言えば、0.05ですね。 今回の結果は、限りなく「0」に近いです。 そのため、正規分布にかなり近いと言えるでしょう。
Skew歪度
歪度<0:左に裾が長い(右に偏った)分布 歪度=0:正規分布と同じ 歪度>0:右に裾が長い(左に偏った)分布
Kurtosis尖度
Durbin-Watson- DWの値が2前後のとき、自己相関なし
- DWが2より十分に小さいとき、正の自己相関
- DWが2より十分に大きいとき、負の自己相関
ジャック・ベラ検定統計量のP値
P値と言えば、0.05ですね。 今回の結果は、限りなく「0」に近いです。 そのため、正規分布にかなり近いと言えるでしょう。
Cond. No.条件数
- 条件数が小さい問題は「良条件 (well-conditioned)」
- 条件数が大きい問題は「悪条件 (ill-conditioned)」
乗件数が1に近いほど、多重共線性は弱くなります。 多重共線性とは、説明変数間で相関係数が高いときに、それが原因で発生する現象です。 英語で「マルチコ」と呼ばれるモノです。
- 係数の標準誤差が大きくなる
- t値が小さくなる⇒P値にも影響を及ぼす
- 決定係数が大きな値となる
statsmodelsによる重回帰分析結果の見方のまとめ
私自身よく理解していない部分もありました。 これを機に、かなり調べました。 そのおかげでstatsmodelsのサマリーレポートは詳しくなりました。
その代わり、理論や計算式は完全無視です。 プログラミングで統計を行う際には、これぐらい割り切った方がよいかもしれません。 計算なんて数行のコードで終わりですから。
決定係数が0.7以上で、そこそこの精度でした。 しかし、ほとんどチューニングらしいことはしていません。 だから、まだ改善の余地があると考えています。