どういたしまして。係数の大きさは、変数に選択されたスケールに直接依存しますが、これはややarbitrary意的なモデリングの決定です。
これを確認するには、花弁の長さ(センチメートル)を与えて、虹彩の花びらの幅(センチメートル)を予測する線形回帰モデルを考えます。
summary(lm(Petal.Width~Petal.Length, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length, data = iris)
#
# Residuals:
# Min 1Q Median 3Q Max
# -0.56515 -0.12358 -0.01898 0.13288 0.64272
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.363076 0.039762 -9.131 4.7e-16 ***
# Petal.Length 0.415755 0.009582 43.387 < 2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared: 0.9271, Adjusted R-squared: 0.9266
# F-statistic: 1882 on 1 and 148 DF, p-value: < 2.2e-16
このモデルは、調整済みのR ^ 2値0.9266を達成し、係数値0.415755をPetal.Length変数に割り当てます。
ただし、Petal.Lengthをセンチメートルで定義することは非常にarbitrary意的であり、代わりにメートルで変数を定義することもできます。
iris$Petal.Length.Meters <- iris$Petal.Length / 100
summary(lm(Petal.Width~Petal.Length.Meters, data=iris))
# Call:
# lm(formula = Petal.Width ~ Petal.Length.Meters, data = iris)
#
# Residuals:
# Min 1Q Median 3Q Max
# -0.56515 -0.12358 -0.01898 0.13288 0.64272
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.36308 0.03976 -9.131 4.7e-16 ***
# Petal.Length.Meters 41.57554 0.95824 43.387 < 2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 0.2065 on 148 degrees of freedom
# Multiple R-squared: 0.9271, Adjusted R-squared: 0.9266
# F-statistic: 1882 on 1 and 148 DF, p-value: < 2.2e-16
もちろん、これはフィットしたモデルに実際には影響しません。Petal.Length(0.415755)よりも、Petal.Length.Meters(41.57554)に100倍大きい係数を割り当てました。モデルの他のすべてのプロパティ(調整されたR ^ 2、t統計、p値など)は同一です。
一般に、正則化された線形モデルをフィッティングするとき、最初に変数を正規化して(たとえば、平均0と単位分散を持つように)、選択したスケールに基づいて他の変数よりも優先する変数を避けます。
正規化されたデータを想定
すべての変数を正規化した場合でも、独立変数はめったに設定されない(分散が小さい)ため、より高い係数の変数は予測に役立ちません。例として、従属変数Zと、バイナリ値を取る独立変数XおよびYを持つデータセットを考えます
set.seed(144)
dat <- data.frame(X=rep(c(0, 1), each=50000),
Y=rep(c(0, 1), c(1000, 99000)))
dat$Z <- dat$X + 2*dat$Y + rnorm(100000)
構造上、線形回帰でZを予測するために両方を使用した場合、Yの係数はXの係数の約2倍になります。
summary(lm(Z~X+Y, data=dat))
# Call:
# lm(formula = Z ~ X + Y, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -4.4991 -0.6749 -0.0056 0.6723 4.7342
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.094793 0.031598 -3.00 0.0027 **
# X 0.999435 0.006352 157.35 <2e-16 ***
# Y 2.099410 0.031919 65.77 <2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 0.9992 on 99997 degrees of freedom
# Multiple R-squared: 0.2394, Adjusted R-squared: 0.2394
# F-statistic: 1.574e+04 on 2 and 99997 DF, p-value: < 2.2e-16
それでも、XはYよりもZの分散を多く説明します(Xを使用してZを予測する線形回帰モデルのR ^ 2値は0.2065であり、Yを含むZを予測する線形回帰モデルのR ^ 2値は0.0511です)。
summary(lm(Z~X, data=dat))
# Call:
# lm(formula = Z ~ X, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -5.2587 -0.6759 0.0038 0.6842 4.7342
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 1.962629 0.004564 430.0 <2e-16 ***
# X 1.041424 0.006455 161.3 <2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 1.021 on 99998 degrees of freedom
# Multiple R-squared: 0.2065, Adjusted R-squared: 0.2065
# F-statistic: 2.603e+04 on 1 and 99998 DF, p-value: < 2.2e-16
対:
summary(lm(Z~Y, data=dat))
# Call:
# lm(formula = Z ~ Y, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -5.0038 -0.7638 -0.0007 0.7610 5.2288
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -0.09479 0.03529 -2.686 0.00724 **
# Y 2.60418 0.03547 73.416 < 2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 1.116 on 99998 degrees of freedom
# Multiple R-squared: 0.05114, Adjusted R-squared: 0.05113
# F-statistic: 5390 on 1 and 99998 DF, p-value: < 2.2e-16
多重共線性の場合
大きな係数値がだまされる可能性のある3番目のケースは、変数間の有意な多重共線性の場合です。例として、XとYは高度に相関しているが、Wは他の2つと高度に相関していないデータセットを考えます。Zを予測しようとしています。
set.seed(144)
dat <- data.frame(W=rnorm(100000),
X=rnorm(100000))
dat$Y <- dat$X + rnorm(100000, 0, 0.001)
dat$Z <- 2*dat$W+10*dat$X-11*dat$Y + rnorm(100000)
cor(dat)
# W X Y Z
# W 1.000000e+00 5.191809e-05 5.200434e-05 0.8161636
# X 5.191809e-05 1.000000e+00 9.999995e-01 -0.4079183
# Y 5.200434e-05 9.999995e-01 1.000000e+00 -0.4079246
# Z 8.161636e-01 -4.079183e-01 -4.079246e-01 1.0000000
これらの変数はほぼ同じ平均(0)と分散(〜1)を持ち、線形回帰は(絶対値で)X(おおよそ15)とY(おおよそ-16)に、W(おおよそ2):
summary(lm(Z~W+X+Y, data=dat))
# Call:
# lm(formula = Z ~ W + X + Y, data = dat)
#
# Residuals:
# Min 1Q Median 3Q Max
# -4.1886 -0.6760 0.0026 0.6679 4.2232
#
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 1.831e-04 3.170e-03 0.058 0.954
# W 2.001e+00 3.172e-03 630.811 < 2e-16 ***
# X 1.509e+01 3.177e+00 4.748 2.05e-06 ***
# Y -1.609e+01 3.177e+00 -5.063 4.13e-07 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Residual standard error: 1.002 on 99996 degrees of freedom
# Multiple R-squared: 0.8326, Adjusted R-squared: 0.8326
# F-statistic: 1.658e+05 on 3 and 99996 DF, p-value: < 2.2e-16
それでも、モデルWの3つの変数の中で最も重要です:完全なモデルからWを削除すると、R ^ 2は0.833から0.166に低下しますが、XまたはYを削除してもR ^ 2は実質的に変化しません。