안녕하세요 교수님 양질의 강의 정말 감사드립니다 잘 듣고있습니다. 공부하다가 궁금한게 생겨서 질문드립니다. 정규성 가정을 위배하면 종속변수를 변환한다고 하셨습니다. mpg^0.0296으로 변환했는데 이해가 잘 안갑니다. 종속변수를 저렇게 변환해버리면은 회귀식이 실제 데이터를 잘 설명하지 못하게 되는것 아닌가요? 조건을 맞추기위해 임의로 모델을 조작하는것같아 이해가 잘 안갑니다. 책 p.168~169입니다
독립변수나 종속변수를 변환해서 선형회귀식을 도출한 다음에 실제 예측할 때는 원래의 값으로 다시 환원해서 사용합니다. 예를 들어, y를 z=SQRT(y)(루트 y, y^0.5)로 변환해서 z=a+bx라는 선형회귀식을 도출했다면 그 선형회귀식을 이용하여 예측할 때 나온 z값은 실제로는 SQRT(y)이기 때문에 y의 예측값은 z를 제곱한 z^2이 됩니다. 따라서 원래 데이터 스케일로 예측값이 산출되기 때문에 실제 데이터를 설명하는 데는 문제가 없습니다. 독립변수나 종속변수를 변환하는 이유는 데이터가 선형성이나 정규성을 크게 위배할 경우 그대로는 선형회귀식을 도출하는 데 이용할 수 없기 때문입니다. 그래서 일단 여러 가지 가능한 변환을 통해 조건을 충족하는 데이터를 생성한 후 이렇게 만들어진 데이터를 이용하여 선형회귀식을 도출합니다. 그런 다음 그것을 예측에 사용할 때는 원래의 값으로 다시 변환하는 과정을 거칩니다.
교수님, 책을 읽다가 영상을 알게 되어서 여기 질문을 남깁니다 : ) 유용한 책과 영상 감사합니다. '다항회귀분석'과 'boxTidwell' 모두 선형성을 위해 x를 변형시킨다고 이해했는데요. 혹시 어떤 상황에서 다항회귀분석을 택하고 어떤 상황에서 boxTidwell을 선택하는지 알 수 있을까요?
모델 자체가 전혀 의미가 없는 것은 아닙니다. 하지만 가정을 심각하게 위배하면 모델의 신뢰성은 문제가 될 수 있습니다. 더 나아가 종속변수가 정규분포를 전혀 따르지 않는다면(예를 들면, 0~1 사이의 값을 갖는 확률) 그 상태 그대로는 선형회귀모델을 사용할 수 없습니다.
감사합니다! 교수님 회귀분석 결과의 정규성 확인함에 있어서 plot을통한 확인이 애매해 shapiro.test(model name$residuals)로 정규성을 판단하였습니다 근데 p값이 0.05보다 작게나타나 정규성가정을 기각하게 되었는데 이럴경우에 위의 모델 자체는 쓸수없는건가요?? 아니면 powerTransdorm 함수를 통해 수정 후 사용가능한가요??
영상에서 선형성 가정을 위배했기 때문에 boxTidwell(mpg ~ hp + wt, data = mtcars)를 통해서 독립변수 hp와 wt를 각각 -0.5 제곱을 하라고 하셨습니다. 그래서 summary(lm(mpg ~ (1/sqrt(hp)) + (1/sqrt(wt)), data = mtcars))로 변수를 변환해서 회귀분석을 진행했습니다. 그랬더니 다음과 같은 결과가 나왔습니다. Call: lm(formula = mpg ~ (1/sqrt(hp)) + (1/sqrt(wt)), data = mtcars) Residuals: Min 1Q Median 3Q Max -9.6906 -4.6656 -0.8906 2.7094 13.8094 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 20.091 1.065 18.86
먼저 독립변수를 변환하고요, 그 변환된 값을 이용하여 회귀분석을 수행하세요. 회귀식 및 회귀계수의 유의성 검정은 일반적인 회귀모델 검정과 동일한 방식으로 하시면 됩니다. 그리고 회귀모델이 독립변수의 변환된 값을 바탕으로 구축되었기 때문에 종속변수를 예측할 때는 독립변수를 동일한 방식으로 변환해서 사용해야 합니다. > cars cars$hp cars$wt cars.lm summary(cars.lm) Call: lm(formula = mpg ~ hp + wt, data = cars) Residuals: Min 1Q Median 3Q Max -3.3601 -1.5254 -0.2493 1.1749 4.6832 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -12.063 2.229 -5.413 8.06e-06 *** hp 121.360 24.873 4.879 3.55e-05 *** wt 36.845 5.631 6.543 3.63e-07 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 2.007 on 29 degrees of freedom Multiple R-squared: 0.8963, Adjusted R-squared: 0.8891 F-statistic: 125.3 on 2 and 29 DF, p-value: 5.393e-15
교수님 강의 너무 좋습니다. 감탄이 절로 나네요. 그동안 찜찜하던 부분이 확 이해가 갑니다. 너무 감사합니다!!!
이런 강의를 찾아다녔습니다. 감사합니다.
강의 감사합니다! 질문이 있는데요,
강의 이외에 추가로 공부하면서 잔차도 정규성, 등분산성, 독립성을 따라야한다는 가정을 알게 되었습니다.
강의에서 말씀하신 3가지 가정의 의미(01:32)와 제가 추가 공부하면서 발견한 잔차의 가정의 의미가 똑같은 것인가요?
네~ 정규성과 등분산성의 가정은 잔차(residual)에 대한 가정입니다. 독립성의 가정은 관측값 간의 관계를 의미하기 때문에 별도로 살펴봐야 할 문제이고요.
@@kykwahk 답변 감사합니다!
교수님 다른 데이터로 실험해보았는데, 등분산성이 만족되지 않아서 pwertransform을 사용 후 종속변수에 람다값 적절히 곱해주고 바틀렛검정을 시도했는데 오히려 카이제곱값이 확 커져버렸습니다.. 어떻게 해야할까요?
아예 데이터를 표준화를 시켜버렸더니 아예 p value가 1로 나오는데 이래도 되는건가요..ㅠㅠ
car 패키지의 spreadLevelPlot() 함수를 사용해서 변환에 사용할 지수(power)를 찾아보세요.
안녕하세요 교수님 양질의 강의 정말 감사드립니다 잘 듣고있습니다. 공부하다가 궁금한게 생겨서 질문드립니다. 정규성 가정을 위배하면 종속변수를 변환한다고 하셨습니다.
mpg^0.0296으로 변환했는데 이해가 잘 안갑니다. 종속변수를 저렇게 변환해버리면은 회귀식이 실제 데이터를 잘 설명하지 못하게 되는것 아닌가요? 조건을 맞추기위해 임의로 모델을 조작하는것같아 이해가 잘 안갑니다. 책 p.168~169입니다
독립변수나 종속변수를 변환해서 선형회귀식을 도출한 다음에 실제 예측할 때는 원래의 값으로 다시 환원해서 사용합니다. 예를 들어, y를 z=SQRT(y)(루트 y, y^0.5)로 변환해서 z=a+bx라는 선형회귀식을 도출했다면 그 선형회귀식을 이용하여 예측할 때 나온 z값은 실제로는 SQRT(y)이기 때문에 y의 예측값은 z를 제곱한 z^2이 됩니다. 따라서 원래 데이터 스케일로 예측값이 산출되기 때문에 실제 데이터를 설명하는 데는 문제가 없습니다.
독립변수나 종속변수를 변환하는 이유는 데이터가 선형성이나 정규성을 크게 위배할 경우 그대로는 선형회귀식을 도출하는 데 이용할 수 없기 때문입니다. 그래서 일단 여러 가지 가능한 변환을 통해 조건을 충족하는 데이터를 생성한 후 이렇게 만들어진 데이터를 이용하여 선형회귀식을 도출합니다. 그런 다음 그것을 예측에 사용할 때는 원래의 값으로 다시 변환하는 과정을 거칩니다.
@@kykwahk 정말 감사합니다! 교수님 덕분에 재밌게 공부하고 있습니다
교수님, 책을 읽다가 영상을 알게 되어서 여기 질문을 남깁니다 : ) 유용한 책과 영상 감사합니다.
'다항회귀분석'과 'boxTidwell' 모두 선형성을 위해 x를 변형시킨다고 이해했는데요. 혹시 어떤 상황에서 다항회귀분석을 택하고 어떤 상황에서 boxTidwell을 선택하는지 알 수 있을까요?
특별히 정해진 규칙이 있는 것은 아니고요 가능한 방법을 모두 적용해보시고 그 가운데 어떤 모델이든 독립변수와 종속변수 간의 관계를 보다 잘 설명해주는 모델을 선택하시면 됩니다.
여기 진단도표에 독립성 도표는 없나요?
네~ 없습니다.
@@kykwahk 그럼 교수님이 위에 강의를 해주신 내용은 잔차에 대해 등분산성, 정규성을 만족하는지에 대해 설명한건가요?
네~ 그렇습니다
교수님..기초 데이터의 독립변수나 종속변수값이 정규분포를 따르지 않는다면 회귀분석을 돌려도 의미나 없는건가요?
모델 자체가 전혀 의미가 없는 것은 아닙니다. 하지만 가정을 심각하게 위배하면 모델의 신뢰성은 문제가 될 수 있습니다. 더 나아가 종속변수가 정규분포를 전혀 따르지 않는다면(예를 들면, 0~1 사이의 값을 갖는 확률) 그 상태 그대로는 선형회귀모델을 사용할 수 없습니다.
감사합니다
감사합니다! 교수님 회귀분석 결과의 정규성 확인함에 있어서 plot을통한 확인이 애매해 shapiro.test(model name$residuals)로 정규성을 판단하였습니다 근데 p값이 0.05보다 작게나타나 정규성가정을 기각하게 되었는데 이럴경우에 위의 모델 자체는 쓸수없는건가요?? 아니면 powerTransdorm 함수를 통해 수정 후 사용가능한가요??
네~ 수정 후 사용할 수 있습니다.
교수님 선형성을 분석할 때 회귀분석에서의 ANOVA 결과 값으로도 판단할 수 있지 않나요?
영상에서 선형성 가정을 위배했기 때문에 boxTidwell(mpg ~ hp + wt, data = mtcars)를 통해서 독립변수 hp와 wt를 각각 -0.5 제곱을 하라고 하셨습니다.
그래서 summary(lm(mpg ~ (1/sqrt(hp)) + (1/sqrt(wt)), data = mtcars))로 변수를 변환해서 회귀분석을 진행했습니다. 그랬더니 다음과 같은 결과가 나왔습니다.
Call:
lm(formula = mpg ~ (1/sqrt(hp)) + (1/sqrt(wt)), data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-9.6906 -4.6656 -0.8906 2.7094 13.8094
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 20.091 1.065 18.86
먼저 독립변수를 변환하고요, 그 변환된 값을 이용하여 회귀분석을 수행하세요. 회귀식 및 회귀계수의 유의성 검정은 일반적인 회귀모델 검정과 동일한 방식으로 하시면 됩니다. 그리고 회귀모델이 독립변수의 변환된 값을 바탕으로 구축되었기 때문에 종속변수를 예측할 때는 독립변수를 동일한 방식으로 변환해서 사용해야 합니다.
> cars cars$hp cars$wt cars.lm summary(cars.lm)
Call:
lm(formula = mpg ~ hp + wt, data = cars)
Residuals:
Min 1Q Median 3Q Max
-3.3601 -1.5254 -0.2493 1.1749 4.6832
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -12.063 2.229 -5.413 8.06e-06 ***
hp 121.360 24.873 4.879 3.55e-05 ***
wt 36.845 5.631 6.543 3.63e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.007 on 29 degrees of freedom
Multiple R-squared: 0.8963, Adjusted R-squared: 0.8891
F-statistic: 125.3 on 2 and 29 DF, p-value: 5.393e-15