重回帰分析 †複数の説明変数を持つ重回帰分析は、lmのパラメータ(カッコの中の情報)で、説明変数を+でつないでいく以外は、単回帰と変わりません。sample3.csvにはx1のほかにx2が入っていますから、これを説明変数に加えてみましょう(Rサンプル6)。つまり、 のb1やb2を推計するということです。 Residuals: 1 2 3 4 5 6 -1.125 2.053 -1.517 1.421 -2.858 2.027 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -5.73749 5.62573 -1.020 0.383 x1 2.42235 2.82058 0.859 0.454 x2 0.02905 0.39772 0.073 0.946 Residual standard error: 2.713 on 3 degrees of freedom Multiple R-Squared: 0.8416, Adjusted R-squared: 0.7361 F-statistic: 7.972 on 2 and 3 DF, p-value: 0.06302 これは単回帰出力結果の読み方で使ったデータと同じです。x2が説明変数にないときのデータは、 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -6.0930 2.4456 -2.491 0.06738 . x1 2.6227 0.5694 4.606 0.00999 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 2.352 on 4 degrees of freedom Multiple R-Squared: 0.8414, Adjusted R-squared: 0.8017 F-statistic: 21.21 on 1 and 4 DF, p-value: 0.009987 でした。ふたつを比べてみましょう。 まず、Rサンプル6では、5%有意どころか、P値が最低でも38%もあります。単回帰ではx1は有意だったのに、別の変数が加わると有意でなくなってしまったのです。回帰分析ではこういうことはよくあります。それは別のページで取り上げる多重共線性のせいかもしれませんし、もともとどちらの方向にも因果関係などなく、どちらも共通の原因で変化していたのかもしれません。 ところが、Adjusted R-squaredはわずか0.06下がっただけで、まだ0.74もあります。有意な変数が見つからないのに、式全体としては「説明力が高い」という数字が出てくることがあります。 これはStarsuite(Openofficeに電話サポートなどをつけて販売しているもの)を使って出した、データの内容です。3つとも共通なトレンド(増加・減少の傾向)を持っています。時系列データでは特にそうですが、こうした増減を共にするデータどうしは、互いに他の変数の動きを「説明」できます。しかし、どれがどれを説明しているのか、と言われると答えにくく、ちょっとしたデータの差で係数が大きく動く、不安定な推定になります。 この例のようにもともとデータが少ないと、自由度が下がることの影響も大きくなります。自由度が下がると標準誤差が大きくなり、b1=0やb2=0でも偶然このようなデータが得られる可能性が増すのです。 例えばx2の最初のデータを1から1.5に変えると、 Estimate Std. Error t value Pr(>|t|) (Intercept) -5.89384 5.37838 -1.096 0.353 x1 2.50820 2.71296 0.925 0.423 x2 0.01677 0.38566 0.043 0.968 という結果が出ます。x2の係数は0.029から0.017と大きく変化してしまいました。 |