回帰分析における対数変換の意味を実感してみよう2
前回、
日本統計学会公式認定 統計検定 2級 公式問題集[2012~2014年]
- 作者: 日本統計学会
- 出版社/メーカー: 実務教育出版
- 発売日: 2015/03/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
に掲載されている統計検定準1級の<例題>の問11から、回帰分析において決定係数が高くても回帰モデルが有効でない場合があることを知りました。
じゃあ、どうすればいいの?
と、当然なりますが、対処法としては、
- 別のモデルを考える
- 変数を変換してみる
- 外れ値を削除してみる
といったことが考えられるそうです。
では、まずは一番お手軽な外れ値の除外から試してみましょうか。
前回の診断で、東京と愛知を外れ値認定しましたので、この2行を削除してみます。
決定係数が0.015上がりましたね。Rでの分析結果は、
Call:
lm(formula = スクリーン数 ~ 従業者数, data = Dataset)
Residuals:
Min 1Q Median 3Q Max
-35.751 -6.834 -2.846 7.780 44.523
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.924869 2.809230 4.957 0.0000129 ***
従業者数 0.116010 0.004783 24.253 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 13.38 on 41 degrees of freedom
Multiple R-squared: 0.9348, Adjusted R-squared: 0.9333
F-statistic: 588.2 on 1 and 41 DF, p-value: < 2.2e-16
前回と同様に悪くないですが、Rで回帰診断図を出力してみると、
ありゃりゃ、今度は神奈川が外れ値になっちゃいました。
どうやら、安易な外れ値の除外はいい手とは言えないようです。
次はモデルの変更です。これは、以前の記事
で取り上げたように、Excelでお手軽に試すことができます。
d
で、一番決定係数が高かったのがコレ。二項近似です。
そこで、説明変数に従業者数の二乗を加えてRで重回帰分析してみます。
Call:
lm(formula = スクリーン数 ~ 従業者数 + 従事者数.2, data = Dataset2)
Residuals:
Min 1Q Median 3Q Max
-37.953 -5.460 -0.694 4.508 61.041
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.038300783 3.728263667 1.351 0.184
従業者数 0.157687041 0.009583378 16.454 < 2e-16 ***
従事者数.2 -0.000018553 0.000003209 -5.781 0.000000819 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 15.41 on 42 degrees of freedom
Multiple R-squared: 0.9553, Adjusted R-squared: 0.9532
F-statistic: 449.1 on 2 and 42 DF, p-value: < 2.2e-16
これまたいい感じ。ところが、回帰診断図を出力してみると、
これもダメですねえ。
次に決定係数が高かったのが、これ。
累乗近似です。
しかし、Excelが言うところの累乗近似は、実はyとxを対数変換しての線形回帰のことなんだそうです。
ソースはこちら。
衝撃の事実です。
ともあれ、Rで変数変換して、線形回帰モデルを適用してみましょう。
[データ]→[アクティブデータセット内の変数の管理]→[新しい変数を計算]をクリック。
新しい変数名と計算式を以下のように入力して、【OK】をクリック。
従業者数も同様に対数変換します。
log.スクリーン数を目的変数に、log.従業者数を説明変数にして計算すると、
Call:
lm(formula = log.スクリーン数 ~ log.従業者数, data = Dataset)
Residuals:
Min 1Q Median 3Q Max
-0.54737 -0.10830 0.00856 0.11221 0.35957
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.90549 0.17657 -5.128 0.00000664 ***
log.従業者数 0.84366 0.03062 27.552 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.1998 on 43 degrees of freedom
Multiple R-squared: 0.9464, Adjusted R-squared: 0.9451
F-statistic: 759.1 on 1 and 43 DF, p-value: < 2.2e-16
問題はこの後です。回帰診断図はどうでしょうか。
おお! よいではないですか!!
高知が外れ値っぽいですけど、Residuals vs Leverage でクックの距離0.5以下に収まっていますし、許容範囲といっていいんじゃないでしょうか。