전혀. 계수의 크기는 변수에 대해 선택된 척도에 직접적으로 의존하며 이는 다소 임의의 모델링 결정입니다.
이를 확인하려면 꽃잎 길이 (센티미터)를 기준으로 홍채의 꽃잎 너비 (센티미터)를 예측하는 선형 회귀 모델을 고려하십시오.
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
우리의 모델은 0.9266의 조정 된 R ^ 2 값을 달성하고 계수 값 0.415755를 Petal.Length 변수에 할당합니다.
그러나 Petal.Length를 센티미터로 정의하는 선택은 상당히 임의적이며 대신 미터 단위로 변수를 정의 할 수 있습니다.
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.Meters (41.57554)에 Petal.Length (0.415755)보다 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)
구성에 의해 Y에 대한 계수는 선형 회귀를 통해 Z를 예측하는 데 사용되는 경우 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
다중 공선 성 사례
큰 계수 값이 속일 수있는 세 번째 경우는 변수 간 다중 공선 성이있는 경우입니다. 예를 들어, X와 Y는 서로 밀접하게 관련되어 있지만 W는 다른 두 가지와 크게 상관 관계가없는 데이터 집합을 고려하십시오. 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)과 거의 동일하며 선형 회귀는 W (대략 15) 및 Y (대략 -16)에 훨씬 더 높은 계수 값 (절대 값)을 W (대략 -16)에 할당합니다. 대략 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의 세 가지 변수 중 가장 중요합니다. 전체 모형에서 W를 제거하면 R ^ 2는 0.833에서 0.166으로 떨어지지 만 X 또는 Y를 떨어 뜨리면 R ^ 2는 거의 변하지 않습니다.