통계적으로 유의하지 않은 변수를 제거한다고 해서 반드시 R제곱(R-squared)이 증가하는 것은 아닙니다. 일반적으로 예측변수의 개수가 많아지면 R제곱은 증가합니다. 예측변수가 통계적으로 유의하든 유의하지 않든 관계없이요. 다음 예를 보세요. hp, wt, disp, drat를 예측변수로 사용하고 mpg를 결과변수로 사용하여 회귀분석을 한 겁니다. 결과를 보시면 disp, drat 변수는 통계적으로 유의하지 않습니다. R제곱은 0.8376이고요. > mtcars.lm summary(mtcars.lm) Call: lm(formula = mpg ~ hp + wt + disp + drat, data = mtcars) Residuals: Min 1Q Median 3Q Max -3.5077 -1.9052 -0.5057 0.9821 5.6883 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 29.148738 6.293588 4.631 8.2e-05 *** hp -0.034784 0.011597 -2.999 0.00576 ** wt -3.479668 1.078371 -3.227 0.00327 ** disp 0.003815 0.010805 0.353 0.72675 drat 1.768049 1.319779 1.340 0.19153 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.602 on 27 degrees of freedom Multiple R-squared: 0.8376, Adjusted R-squared: 0.8136 F-statistic: 34.82 on 4 and 27 DF, p-value: 2.704e-10 그래서 다음과 같이 통계적으로 유의하지 않은 두 변수를 제거하고 유의한 변수만을 이용하여 다음과 같이 회귀분석을 해봅니다. 그러면 R제곱은 0.8268로 오히려 작아졌습니다. > mtcars.lm2 summary(mtcars.lm2) Call: lm(formula = mpg ~ hp + wt, data = mtcars) Residuals: Min 1Q Median 3Q Max -3.941 -1.600 -0.182 1.050 5.854 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 37.22727 1.59879 23.285 < 2e-16 *** hp -0.03177 0.00903 -3.519 0.00145 ** wt -3.87783 0.63273 -6.129 1.12e-06 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.593 on 29 degrees of freedom Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148 F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12 이처럼 예측변수의 개수가 많아지면 R제곱은 커집니다. 예측변수의 개수가 많아지면 그 변수가 유용하든 유용하지 않든 R제곱은 무조건 커지기 때문에 단지 예측변수가 많다는 이유만으로 설명력이 우수한 모델인 것처럼 보일 수 있습니다. 이러한 R제곱의 단점을 보완하기 위하여 수정된 R제곱(Adjusted R-squared)은 모델에 포함된 예측변수의 개수에 따라 R제곱값을 보정합니다. 여기 예의 출력 결과를 다시 보시면 수정된 R제곱은 통계적으로 유의하지 않은 변수를 제거했을 때 0.8136에서 0.8148로 소폭 증가했습니다. 예측변수의 개수가 표본크기에 비해 많으면 회귀모델은 과적합 가능성이 커지기 때문에 현재 데이터를 잘 설명한다 하더라도 다른 데이터에 대해서는 기대한 만큼의 설명력을 보여주지 못할 수 있습니다. 수정된 R제곱은 이러한 과적합의 위험을 고려하여 예측변수의 개수가 많을 경우 페널티를 부여함으로써 좀 더 보수적인 R제곱을 산출합니다. 예측변수를 제거할지 여부는 이런 점을 고려하여 연구목적에 따라 선택하시면 됩니다.
교수님.. 질문이 있습니다. 위 다중선형회귀분석에서 disp 변수 및 drat의 변수는 통계적으로 유의하지 않다고 나왔는데 모형 해석시 마지막 설명에는 종속변수에 미치는 영향에 대해 언급하셨습니다. 통계적으로 유의하지 않아도 종속변수에는 영향을 미친다고 표현을 해도 상관 없는지 궁금합니다..
어떤 변수가 통계적으로 유의적이지 않을 경우 연구자가 할 수 있는 것은 연구목적에 따라 달라집니다. 만약에 해당 변수가 가설을 검정하기 위한 목적으로 사용된다면 해당 가설은 기각됩니다. 이 경우 통계적 유의성 여부는 중요한 역할을 합니다. 연구가설의 채택 여부가 달려 있으니까요. 그런데 만약 연구목적이 종속변수를 예측하는 것이라면 어떤 변수가 통계적으로 유의하지 않더라도 그 변수를 포함한 독립변수들을 이용하여 종속변수를 예측할 수 있습니다. 설사 해당 독립변수가 통계적으로 유의하지 않더라도 종속변수를 예측하는 데는 도움이 될 수 있기 때문입니다.
@@kykwahk 친절한 답변 감사합니다!! 제 생각이 맞는지 확인 받아도 되겠습니까.. 예를들어 주택 가격을 예측하는데 있어 연구자가 성별과 나이를 독립변수로써 가설을 검증하려고 했으나 성별의 경우 p값이 0.05를 넘어 통계적으로 유의하지 못하다고 결과가 나왔습니다. 이 경우 연구 목적에 꼭 성별이 필요하다면 회귀식을 성별과 나이로 사용하여 회귀분석 검정에는 성별의 유의하지 않으나 나이는 유의하게 나왔다로 검정을 마치면 되겠습니까.. 이 말의 의미는 연구 목적이 주택가격을 예측하는데 성별과 나이가 꼭 필요하다는 의미인거 같습니다.
교수님 늘 감사드립니다. 꾸준히 듣는데 실력은 여전히 바닥이네요.ㅜㅜ. 질문이 있습니다. 예측 과제에서 여러 변수중 통계적으로 유의하지 않은 변수를 제거하여 R스퀘어를 높이는 것은 어떤 문제가 있을까요? 허용된다면 적정한 기준은 어떻게 정해야 하나요?
통계적으로 유의하지 않은 변수를 제거한다고 해서 반드시 R제곱(R-squared)이 증가하는 것은 아닙니다. 일반적으로 예측변수의 개수가 많아지면 R제곱은 증가합니다. 예측변수가 통계적으로 유의하든 유의하지 않든 관계없이요. 다음 예를 보세요. hp, wt, disp, drat를 예측변수로 사용하고 mpg를 결과변수로 사용하여 회귀분석을 한 겁니다. 결과를 보시면 disp, drat 변수는 통계적으로 유의하지 않습니다. R제곱은 0.8376이고요.
> mtcars.lm summary(mtcars.lm)
Call:
lm(formula = mpg ~ hp + wt + disp + drat, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-3.5077 -1.9052 -0.5057 0.9821 5.6883
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 29.148738 6.293588 4.631 8.2e-05 ***
hp -0.034784 0.011597 -2.999 0.00576 **
wt -3.479668 1.078371 -3.227 0.00327 **
disp 0.003815 0.010805 0.353 0.72675
drat 1.768049 1.319779 1.340 0.19153
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.602 on 27 degrees of freedom
Multiple R-squared: 0.8376, Adjusted R-squared: 0.8136
F-statistic: 34.82 on 4 and 27 DF, p-value: 2.704e-10
그래서 다음과 같이 통계적으로 유의하지 않은 두 변수를 제거하고 유의한 변수만을 이용하여 다음과 같이 회귀분석을 해봅니다. 그러면 R제곱은 0.8268로 오히려 작아졌습니다.
> mtcars.lm2 summary(mtcars.lm2)
Call:
lm(formula = mpg ~ hp + wt, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-3.941 -1.600 -0.182 1.050 5.854
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 37.22727 1.59879 23.285 < 2e-16 ***
hp -0.03177 0.00903 -3.519 0.00145 **
wt -3.87783 0.63273 -6.129 1.12e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.593 on 29 degrees of freedom
Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148
F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12
이처럼 예측변수의 개수가 많아지면 R제곱은 커집니다. 예측변수의 개수가 많아지면 그 변수가 유용하든 유용하지 않든 R제곱은 무조건 커지기 때문에 단지 예측변수가 많다는 이유만으로 설명력이 우수한 모델인 것처럼 보일 수 있습니다. 이러한 R제곱의 단점을 보완하기 위하여 수정된 R제곱(Adjusted R-squared)은 모델에 포함된 예측변수의 개수에 따라 R제곱값을 보정합니다. 여기 예의 출력 결과를 다시 보시면 수정된 R제곱은 통계적으로 유의하지 않은 변수를 제거했을 때 0.8136에서 0.8148로 소폭 증가했습니다. 예측변수의 개수가 표본크기에 비해 많으면 회귀모델은 과적합 가능성이 커지기 때문에 현재 데이터를 잘 설명한다 하더라도 다른 데이터에 대해서는 기대한 만큼의 설명력을 보여주지 못할 수 있습니다. 수정된 R제곱은 이러한 과적합의 위험을 고려하여 예측변수의 개수가 많을 경우 페널티를 부여함으로써 좀 더 보수적인 R제곱을 산출합니다. 예측변수를 제거할지 여부는 이런 점을 고려하여 연구목적에 따라 선택하시면 됩니다.
감사합니다
교수님.. 질문이 있습니다. 위 다중선형회귀분석에서 disp 변수 및 drat의 변수는 통계적으로 유의하지 않다고 나왔는데 모형 해석시 마지막 설명에는 종속변수에 미치는 영향에 대해 언급하셨습니다. 통계적으로 유의하지 않아도 종속변수에는 영향을 미친다고 표현을 해도 상관 없는지 궁금합니다..
어떤 변수가 통계적으로 유의적이지 않을 경우 연구자가 할 수 있는 것은 연구목적에 따라 달라집니다. 만약에 해당 변수가 가설을 검정하기 위한 목적으로 사용된다면 해당 가설은 기각됩니다. 이 경우 통계적 유의성 여부는 중요한 역할을 합니다. 연구가설의 채택 여부가 달려 있으니까요. 그런데 만약 연구목적이 종속변수를 예측하는 것이라면 어떤 변수가 통계적으로 유의하지 않더라도 그 변수를 포함한 독립변수들을 이용하여 종속변수를 예측할 수 있습니다. 설사 해당 독립변수가 통계적으로 유의하지 않더라도 종속변수를 예측하는 데는 도움이 될 수 있기 때문입니다.
@@kykwahk 친절한 답변 감사합니다!! 제 생각이 맞는지 확인 받아도 되겠습니까.. 예를들어 주택 가격을 예측하는데 있어 연구자가 성별과 나이를 독립변수로써 가설을 검증하려고 했으나 성별의 경우 p값이 0.05를 넘어 통계적으로 유의하지 못하다고 결과가 나왔습니다. 이 경우 연구 목적에 꼭 성별이 필요하다면 회귀식을 성별과 나이로 사용하여 회귀분석 검정에는 성별의 유의하지 않으나 나이는 유의하게 나왔다로 검정을 마치면 되겠습니까.. 이 말의 의미는 연구 목적이 주택가격을 예측하는데 성별과 나이가 꼭 필요하다는 의미인거 같습니다.
beta를 구하려고 하는데 R에서 QuantPsyc 패키지가 계속 없다고 뜨네요ㅜ 대체할 수 있는 패키지는 없나요?
R 버전이 업데이트되면서 QuantPsyc 패키지가 CRAN에는 아직 반영이 안된 것 같습니다.
다음과 같이 GitHub로부터 설치해서 사용할 수 있습니다.
> devtools::install_github("cran/QuantPsyc")
교수님 양질의 강의 제공해주셔서 감사합니다!