회귀분석 p-value 계산 - hoegwibunseog p-value gyesan

F-test는 F-통계량을 생성한다. p-value는 F-통계량과 관련돼있다.

=F.DIST.RT(x, degree_freedom1, degree_freedom2)

  • x: F-통계량 값
  • degree_freedom1: 분자 자유도
  • degree_freedom2: 분모 자유도

F-통계량에서 p-value를 구해본다.

F-통계량 5.4, 분자 자유도 2, 분모 자유도 9이다.

p-value는 0.02878이다.

F-통계량은 회귀모델(regression model)에서 가장 흔히 쓰인다. 

회귀모델(regression model)에서 p-value를 구해본다.

위의 데이터에 대해 데이터> 데이터 분석> 회귀분석을 실시한다.

X -공부시간, 시험 

Y - 점수

F-통계량은 5.090515

분자의 자유도 2,

분모의 자유도 9

회귀분석에서 자동으로 구해준 p-value는 0.033202이다.

=F.DIST.RT(x, degree_freedom1, degree_freedom2) 함수를 써서 구해본 값과 동일하다.

[ R : Regression Analysis 회귀분석 ]

패키지 설치 및 로딩하기

install.packages("caret") install.packages("dplyr") install.packages("car") # 다중공선성 install.packages("gvlma") # 에러 검정 install.packages("lm.beta") #독립변수 영향력 크기 비교library(caret) library(dplyr) library(car) library(gvlma) library(lm.beta)

Regression Analysis 회귀분석

통계학 꽃 중의 꽃!
- 언제 사용 하는가?
A. 어떤 양적 자료(들)이 다른 양적 자료에게 영향을 주는 지 통계적으로 분석하는 방법이다.
즉, 인과관계(원인과 결과의 관계)를 알려줌

  • 예측(Prediction), 분류(Classification)을 목적으로 사용한다.
    ex. 주식(+시계열)
  • 자료: 양적자료 2개
    동일한 대상으로부터 다른 2개의 양적자료
    원인과 결과의 관계(인과관계)는 아니다. 인과관계는 회귀분석에서 다룬다.

선형 회귀분석(Linear Regression Analysis)

단순선형 회귀분석(Simple Linear Regression Analysis)

종속변수 : 1개 : 양적 자료, y (확장되면 종속변수가 많아짐)
독립변수 : 1개 : 양적 자료, x

예제 데이터: cars (R에 내장된 데이터)
변수명: speed(속도), dist(제동거리 = 브레이크를 밟았을 때 얼마나 밀리는지)

회귀분석결과물 <- lm(y ~ x, data = ) # lm = linear model summary(회귀분석결과) cars에 speed, dist 중 dist가 더 중요해서 앞에 다 둠cars.lm <- lm(dist ~ speed, data = cars) summary(cars.lm)## ## Call: ## lm(formula = dist ~ speed, data = cars) ## ## Residuals: ## Min 1Q Median 3Q Max ## -29.069 -9.525 -2.272 9.215 43.201 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -17.5791 6.7584 -2.601 0.0123 * ## speed 3.9324 0.4155 9.464 1.49e-12 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 15.38 on 48 degrees of freedom ## Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438 ## F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12

회귀분석 결과의 해석

1단계. 회귀모형은 타당한가?

  • 귀무가설: 회귀모형은 타당하지 않다
  • 대립가설: 회귀모형은 타당하다 -> 우리가 원하는 결과
F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12​

결론: 유의확률이 1.49e-12(=0.000)이므로 유의수준 0.05에서 회귀모형은 통계적으로 타당하다.
즉, 독립변수가 영향을 준다. (단순선형 회귀분석에서 적용)

2단계. 독립변수는 종속변수에게 영향을 주는가?

조건: 1단계의 결론이 대립가설이어야 함
만약 1단계가 귀무라면, 다른 변수를 찾아서 다시 회귀분석을 진행해야 함.
- 귀무가설: 독립변수는 종속변수에게 영향을 주지 않는다
- 대립가설: 독립변수는 종속변수에게 영향을 준다

Estimate Std.Error t value Pr(>|t|) speed 3.9324 0.4155 9.464 1.49e-12 ***

결론: 유의확률이 0.000 이므로 유의수준 0.05에서 독립변수는 종속변수에게 통계적으로 유의한 영향을 주는 것으로 나타났다.
따라서, speed는 제동거리(distance)에 통계적으로 유의한 영향을 주는 것으로 나타났다(t = 9.464, p<0.001)

3단계. 독립변수는 종속변수에게 어떠한 영향을 주는가?

Estimate(추정치) speed 3.9324

beta1에 대한 회귀계수(Coefficient of Regression) : 3.932

독립변수의 기본단위가 1 증가하면, 종속변수는 약 3.932 정도 증가시키는 영향을 준다
즉, speed가 1mph 증가하면 distance는 약 3.932 feet 정도 증가 시킨다

4단계. 독립변수가 종속변수의 다름을 어느 정도 설명하고 있는가?

(회귀모형의 설명력 = 독립변수의 설명력)

Multiple R-squared: 0.6511

결정계수(Coefficient of Determination) : SSR(독립변수 때문에 생긴 다름) / SST(Y의 다름)
수학기호 : R-Square(R^2) = SSR/SST, 0 <= R^2 <= 1
단순선형회귀에서는 Adjsted R-squared를 고려할 필요 없다.

회귀모형의 설명력(독립변수의 설명력)은 약 65.1% 정도이다.
speed가 distance의 다름을 약 65.1% 정도 설명하고 있다.
speed가 아직 설명하지 못하는 distance의 다름은 35%가 있다.
그렇다면, 한발 더 나아가 나머지 65%의 다름은 어떤 걸까? 생각해보기

5단계. 예측(Prediction)

predict(model, newdata = data.frame(독립변수 = )) model = lm 진행한 모델 독립변수가 x일 때의 예측predict(cars.lm, newdata = data.frame(speed = 200))## 1 ## 768.9027

결과: speed가 200일 때, dist는 769 feet이다(점추정). 실제로는 +-를 넣어서 구간추정 시행.

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -17.5791 6.7584 -2.601 0.0123 * speed 3.9324 0.4155 9.464 1.49e-12 *

y의 예측값은 beta0의 추정치(-17.5791) + beta1의 추정치(3.9324 * speed)
따라서, speed가 200일 때의 dist의 계산은, -17.579 + 3.932*200 = 768.821

predict(cars.lm, newdata = data.frame(speed = c(100, 200, 300)))

다수 값 예측을 원할 때

cars 데이터를 training, test data로 나눈 후 분석

cars.index <- caret::createDataPartition(cars$speed, p = 0.8) # cars에서 랜덤하게 80%를 데이터 추출 cars.train <- cars[unlist(cars.index), ] # unlist로 list를 벡터로 바꿈 cars.test <- cars[-unlist(cars.index), ] cars.train.lm <- lm(dist ~ speed, data = cars.train) # 회귀분석 시행 summary(cars.train.lm) # 회귀분석 결과 보기## ## Call: ## lm(formula = dist ~ speed, data = cars.train) ## ## Residuals: ## Min 1Q Median 3Q Max ## -30.443 -9.522 -0.825 7.872 40.478 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -22.9510 6.9862 -3.285 0.00216 ** ## speed 4.2697 0.4273 9.992 2.61e-12 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 14.53 on 39 degrees of freedom ## Multiple R-squared: 0.7191, Adjusted R-squared: 0.7119 ## F-statistic: 99.85 on 1 and 39 DF, p-value: 2.615e-12

1단계. 회귀모형은 타당한가?

  • 귀무가설: 회귀모형은 타당하지 않다
  • 대립가설: 회귀모형은 타당하다
F-statistic: 89.82 on 1 and 39 DF, p-value: 1.145e-11

결론: 유의확률이 0.000이므로 유의수준 0.05에서 회귀모형은 통계적으로 타당하다.

2단계. 독립변수는 종속변수에게 영향을 주는가?

  • 귀무가설: 독립변수는 종속변수에게 영향을 주지 않는다
  • 대립가설: 독립변수는 종속변수에게 영향을 준다
Estimate Std. Error t value Pr(>|t|) speed 4.1728 0.4403 9.477 1.14e-11 ***

결론: 유의확률이 0.000이므로, 유의수준 0.05에서 독립변수는 종속변수에게 통계적으로 유의한 영향을 주는 것으로 나타났다.

3단계. 독립변수는 종속변수에게 어떠한 영향을 주는가?

Estimate speed 4.1728

beta1에 대한 회귀계수(Coefficient of Regression) : 4.173 = 회귀계수에 대한 추정치
독립변수의 기본단위가 1증가하면 종속변수는 약 4.173 증가하는 영향을 준다
즉, speed가 1mph 증가하면, dist는 약 4.173 feet 증가된다

4단계. 독립변수가 종속변수의 다름을 어느 정도 설명하고 있는가?

Multiple R-squared: 0.6972

Multiple R-squared는 0 ~ 1 사이의 값을 가진다.
R-Suared * 100 : 0 ~ 100 사이의 값을 갖는다
따라서, 독립변수가 종속 변수의 다름을 약 69.7% 정도 설명하고 있다

5단계. 예측(Prediction)

cars.predict <- predict(cars.train.lm, newdata = cars.test) cars.predict## 4 9 10 23 25 32 33 ## 6.936904 19.746013 24.015716 36.824825 41.094528 53.903637 53.903637 ## 41 45 ## 62.443043 75.252152

MSE 구하기

MSE(평균오차제곱합): 값들이 각각의 그룹의 평균에서 얼마나 떨어져 있는지 확인하는 값(=분산)
MSE가 낮을 수록 더 좋은 모형이라 해석할 수 있다.

  • test의 실제값이랑 test의 예측값으로 MSE 구하기
## mean(sum((실제값 - 예측값)**2)) mean((cars.test$dist - cars.predict)**2) ## [1] 364.2262

R^2의 쓰임새: 모형평가
A model, B model, C model을 회귀분석하면 각각의 R^2가 나오는데, 가장 큰게 더 좋은 모형이라고 해석할 수 있음

2. 다중선형 회귀분석(Multiple Linear Regression Analysis)

종속변수 : 1개 : 양적 자료
독립변수 : 2개 이상 : 양적 자료
더미변수 : 양적인 자료로 보이게 해주는 변형된 변수

회귀분석결과물 <- lm(y(종속변수) ~ x1 + x2 + ... + xp, data = ) 회귀분석결과물 <- lm(y(종속변수) ~ ., data = ) : y를 뺀 모든 변수를 독립변수로 둔다 summary(회귀분석결과물)

[다중선형] 예제 데이터 : attitude
- 종속변수: rating
- 독립변수: complaints, privileges, learning, raises, critical, advance

attitude.lm <- lm(rating ~ ., data = attitude) summary(attitude.lm) # lm은 회귀모형의 모델 및 추정치만 나와서 summary 필요## ## Call: ## lm(formula = rating ~ ., data = attitude) ## ## Residuals: ## Min 1Q Median 3Q Max ## -10.9418 -4.3555 0.3158 5.5425 11.5990 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 10.78708 11.58926 0.931 0.361634 ## complaints 0.61319 0.16098 3.809 0.000903 *** ## privileges -0.07305 0.13572 -0.538 0.595594 ## learning 0.32033 0.16852 1.901 0.069925 . ## raises 0.08173 0.22148 0.369 0.715480 ## critical 0.03838 0.14700 0.261 0.796334 ## advance -0.21706 0.17821 -1.218 0.235577 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 7.068 on 23 degrees of freedom ## Multiple R-squared: 0.7326, Adjusted R-squared: 0.6628 ## F-statistic: 10.5 on 6 and 23 DF, p-value: 1.24e-05

1단계. 회귀모형은 타당한가?

  • 귀무가설: 회귀모형은 타당하지 않다
  • 대립가설: 회귀모형은 타당하다
F-statistic: 10.5 on 6(SSR의 자유도, p) and 23 DF(SSE의 자유도, n-p-1), p-value: 1.24e-05

결론: 유의확률이 0.000이므로 유의수준 0.05에서 회귀모형은 타당하다.

2단계. 각각의 독립변수는 종속변수에게 영향을 주는가?

  • 귀무가설: 각각의 독립변수는 종속변수에 영향을 주지 않는다
  • 대립가설: 각각의 독립변수는 종속변수에게 영향을 준다
Estimate Std. Error t value Pr(>|t|) complaints 0.61319 0.16098 3.809 0.000903 *** privileges -0.07305 0.13572 -0.538 0.595594 learning 0.32033 0.16852 1.901 0.069925 . raises 0.08173 0.22148 0.369 0.715480 critical 0.03838 0.14700 0.261 0.796334 advance -0.21706 0.17821 -1.218 0.235577 # 해석 # complaints : 유의확률 = 0.001, 대립가설 # previleges : 유의확률 = 0.596, 귀무가설 # learning : 유의확률 = 0.070, 귀무가설 # raises : 유의확률 = 0.715, 귀무가설 # critical : 유의확률 = 0.796, 귀무가설 # advance : 유의확률 = 0.236, 귀무가설

결론: complaints를 제외한 독립변수는 종속변수에 영향을 주지 않는다.

3단계. 각각의 독립변수는 종속변수에게 어떠한 영향을 주는가?

Estimate (회귀계수에 대한 추정치) complaints 0.61319 *** privileges -0.07305 learning 0.32033 raises 0.08173 critical 0.03838 advance -0.21706

해석: 다른 독립변수가 고정되어 있을 때(다른 독립변수들은 변하지 않을 때), complaints의 기본 단위가 1증가하면, rating이라는 종속변수를 약 0.613 정도 증가시킨다.
나머지는 2단계에서 영향을 주지 않는 것으로 판단되어 3단계를 진행할 수 없다.

4단계. 회귀모형의 설명력 = 독립변수들의 설명력

Multiple R-squared: 0.7326 (6개의 독립변수가 종속변수를 얼마큼 설명하는가) Adjusted R-squared: 0.6628

결정계수(R-Squre)의 문제점
- 종속변수에게 유의한 영향을 주지 않는 독립변수들이 모형에 포함되어도 결정계수는 증가하는 경향이 있음
- 회귀모형에 유의하지 않는 독립변수가 있다면, Adjusted R-Squred로 해석하는게 더 바람직하다.

수정된 결정계수(Adjusted R-Square)
- 회귀모형에 종속변수에게 영향을 주는 독립변수가 들어올 때는 결정계수가 증가하고, 종속변수에 영향을 주지 않는 독립변수가 들어올 때는 결정계수가 증가되지 못하도록 함
- 즉, 수정된 결정계수로 해석하면, 6개의 독립변수들이 종속변수의 다름을 약 66.3% 정도 설명하고 있다.

5단계. 예측(Prediction)

predict(attitude.lm, newdata = data.frame(complaints = 5, privileges = 5, learning = 5, raises = 5, critical = 5, advance = 5))## 1 ## 14.60471

독립변수가 모두 5일 때 종속변수(rating)의 결과값: 14.605

다중선형 회귀분석에서 고려해야 할 사항

(1) 변수선택

최종 모형에 어떤 독립변수들로 구성할 것인가?

  1. 모든 독립변수를 최종 회귀모형에 포함시킴
  2. 통계적으로 유의한 독립변수만 최종 회귀모형에 포함시킴

전진선택방법(Forward Selection Method)
종속변수와 하나씩 회귀분석을 하고, 그 중 독립변수가 종속변수에 영향을 가장 많이 주는 것을 모형에 제일 먼저 포함; 한 번 들어오면 모형에서 빠지지 않음; 그 후 두번째로 유의한 것을 포함; 커트라인을 넘을 경우에만 포함

후진소거방법(Backward Elimination Method)
모든 독립변수가 먼저 모형에 들어옴, 들어온 독립변수 중에서 종속변수에게 가장 영향이 약한 것이 모형에서 빠져나감; 한 번 빠져나가면 모형에 다시 못들어옴; 컷트라인을 넘을 경우에만 빠져나감

단계선택방법(Stepwise Selection Method)
전진선택방법 + 후진소거방법; 처음에 유의한 변수가 들어오고, 다른 변수가 들어올 때의 유의함을 보면서 넣었다 뺐다를 반복하여 최적의 모형을 찾는다

attitude.forward <- step(attitude.lm, direction = "forward") # 전진선택법 attitude.backward <- step(attitude.lm, direction = "backward") # 후진제거법 attitude.stepwise <- step(attitude.lm, direction = "both") # 단계선택법

결론: 결과가 같고, AIC가 가장 적은 Backward Elimination Method와 Stepwise Selection Method 선택.

summary(attitude.stepwise)## ## Call: ## lm(formula = rating ~ complaints + learning, data = attitude) ## ## Residuals: ## Min 1Q Median 3Q Max ## -11.5568 -5.7331 0.6701 6.5341 10.3610 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 9.8709 7.0612 1.398 0.174 ## complaints 0.6435 0.1185 5.432 9.57e-06 *** ## learning 0.2112 0.1344 1.571 0.128 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 6.817 on 27 degrees of freedom ## Multiple R-squared: 0.708, Adjusted R-squared: 0.6864 ## F-statistic: 32.74 on 2 and 27 DF, p-value: 6.058e-08

결과 해석

  1. 회귀모형은 타당한가?
    F-statistic: 32.74 on 2 and 27 DF, p-value: 6.058e-08 -> 타당하다
  2. 독립변수는 영향을 미치는가?
    complaints는 유의한 영향을 주고, learning은 주지 않는다 -> 단, 모형이 자동적으로 제거하지 않아서, 전처리를 해야 함.
attitude.final.model <- lm(rating ~ complaints, data = attitude) # 최종은 단순선형 회귀분석 summary(attitude.final.model)## ## Call: ## lm(formula = rating ~ complaints, data = attitude) ## ## Residuals: ## Min 1Q Median 3Q Max ## -12.8799 -5.9905 0.1783 6.2978 9.6294 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 14.37632 6.61999 2.172 0.0385 * ## complaints 0.75461 0.09753 7.737 1.99e-08 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 6.993 on 28 degrees of freedom ## Multiple R-squared: 0.6813, Adjusted R-squared: 0.6699 ## F-statistic: 59.86 on 1 and 28 DF, p-value: 1.988e-08
  1. 회귀모형 타당함. 독립변수 영향을 줌(rating 1 = complaints 0.754만큼)
  2. 회귀의 설명력 -> 약 68.1%

회귀모형 평가기준
AIC: 값이 작을 수록 모형이 좋다
BIC: Bayseian Information Criterion : 값이 작을 수록 모형이 좋다
R-Square(Adjusted R-Squred): 값이 클수록 모형이 좋다
MSE: 값이 작을수록 모형이 좋다

(2) 더미변수(Dummy Variable)

  • 독립변수에 질적 자료를 넣는 것
  • 질적 자료 -> 더미변수로 만들어야 함
  • 더미변수를 회귀모형의 독립변수로 넣을 수 있음
  • 더미변수는 0과 1로만 구성되어야 함
  • 더미변수의 개수는 질적 자료가 가지는 값의 개수의 -1개

[더미변수] 예제 데이터 : iris
- 양적 자료: Sepal.Length, Sepal.Width, Petal.Length, Petal.Width
- 질적 자료: Species (3종류: “setosa”, “versicolor”, “virginica”)


- 종속변수 : Sepal.Length
- 독립변수 : Sepal.Width, Petal.Length, Petal.Width, Species
- 더미변수 : Species -> Species.versicolor, Species.virginica

iris$Species.versicolor <- ifelse(iris$Species == "versicolor", 1, 0) iris$Species.virginica <- ifelse(iris$Species == "virginica", 1, 0)# 필요없는 변수 제외후, 따로 저장하기 iris2 <- dplyr::select(iris, -Species) iris.model <- lm(Sepal.Length ~ ., data = iris2) summary(iris.model)## ## Call: ## lm(formula = Sepal.Length ~ ., data = iris2) ## ## Residuals: ## Min 1Q Median 3Q Max ## -0.79424 -0.21874 0.00899 0.20255 0.73103 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 2.17127 0.27979 7.760 1.43e-12 *** ## Sepal.Width 0.49589 0.08607 5.761 4.87e-08 *** ## Petal.Length 0.82924 0.06853 12.101 < 2e-16 *** ## Petal.Width -0.31516 0.15120 -2.084 0.03889 * ## Species.versicolor -0.72356 0.24017 -3.013 0.00306 ** ## Species.virginica -1.02350 0.33373 -3.067 0.00258 ** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.3068 on 144 degrees of freedom ## Multiple R-squared: 0.8673, Adjusted R-squared: 0.8627 ## F-statistic: 188.3 on 5 and 144 DF, p-value: < 2.2e-16

iris.model 결과 해석해보기.

(3) 다중공선성(Multicollinearity)

  • 독립변수들 간에 상관관계가 있는 것을 다중공선성이 있다라고 함
  • 회귀분석의 가정: 다중공선성이 없어야 함
  • VIF : Variance Inflation Factor : 분산팽창인자 = 분산팽창요인
  • VIF 값이 10이상이면, 다중공선성이 존재한다고 판단
car::vif(iris.model)## Sepal.Width Petal.Length Petal.Width ## 2.227466 23.161648 21.021401 ## Species.versicolor Species.virginica ## 20.423390 39.434378

결과: 하나 빼고 다 10을 초과하기 때문에 이 모델은 회귀분석을 쓸 수 없음.

(4) 독립변수들의 영향력 크기의 비교

최종 모형에서 2개 이상의 독립변수가 종속변수에게 영향을 준다면, 어떤 독립변수가 가장 큰 영향을 줄까?

lm.beta::lm.beta(iris.model) # 표준화된 회귀계수의 절대값이 가장 큰 값이 가장 큰 영향을 줌## ## Call: ## lm(formula = Sepal.Length ~ ., data = iris2) ## ## Standardized Coefficients:: ## (Intercept) Sepal.Width Petal.Length ## 0.0000000 0.2610193 1.7678091 ## Petal.Width Species.versicolor Species.virginica ## -0.2901014 -0.4132919 -0.5846126

결론: Petal.Length가 종속변수에 가장 큰 영향, 그 다음은 Species.virginica

에러(Error = 입실론)에 대한 가정

  1. 정규성 가정
  2. 등분산성 가정
  3. 선형성 가정
  4. 독립성 가정
par(mfrow = c(2, 2)) plot(attitude.final.model) # plot(회귀모형)


잔차(residual)분석

1. 정규성 가정

  • 귀무가설: 정규분포를 따른다
  • 대립가설: 정규분포를 따르지 않는다
shapiro.test(attitude.final.model$residuals)## ## Shapiro-Wilk normality test ## ## data: attitude.final.model$residuals ## W = 0.91895, p-value = 0.02519

결론: 유의확률 0.025이므로 유의수준 0.05에서 정규성 가정이 깨짐
원래 정규성 가정이 깨진다면 쓸 수 없는 모델임.

2. 독립성 가정

  • 귀무가설: 에러들은 각각 독립이다
  • 대립가설: 에러들은 각각 독립이 아니다
car::durbinWatsonTest(attitude.final.model)## lag Autocorrelation D-W Statistic p-value ## 1 -0.1699039 2.244684 0.526 ## Alternative hypothesis: rho != 0

D-W 통계량이 2에 가까우면 자기상관이 없음(각각 독립), 2에서 멀어지면(0 or 4) 자기상관이 있다(각각 독립이 아니다)
결론: 유의확률이 0.526이므로 유의수준 0.05에서 독립성 가정 만족 (댓글로 알려주신 '빛날희-'님 감사합니다)

3. 등분산성 검정

  • 귀무가설: 등분산이다
  • 대립가설: 이분산이다
car::ncvTest(attitude.final.model)## Non-constant Variance Score Test ## Variance formula: ~ fitted.values ## Chisquare = 0.7183872 Df = 1 p = 0.3966735

결론: 유의확률이 0.397이므로 유의수준 0.05에서 등분산성 만족

4. 에러에 대한 전반적인 가정 검정

summary(gvlma::gvlma(attitude.final.model))## ## Call: ## lm(formula = rating ~ complaints, data = attitude) ## ## Residuals: ## Min 1Q Median 3Q Max ## -12.8799 -5.9905 0.1783 6.2978 9.6294 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 14.37632 6.61999 2.172 0.0385 * ## complaints 0.75461 0.09753 7.737 1.99e-08 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 6.993 on 28 degrees of freedom ## Multiple R-squared: 0.6813, Adjusted R-squared: 0.6699 ## F-statistic: 59.86 on 1 and 28 DF, p-value: 1.988e-08 ## ## ## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS ## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM: ## Level of Significance = 0.05 ## ## Call: ## gvlma::gvlma(x = attitude.final.model) ## ## Value p-value Decision ## Global Stat 2.5421037 0.6371 Assumptions acceptable. ## Skewness 0.5478902 0.4592 Assumptions acceptable. ## Kurtosis 1.9891412 0.1584 Assumptions acceptable. ## Link Function 0.0044772 0.9467 Assumptions acceptable. ## Heteroscedasticity 0.0005952 0.9805 Assumptions acceptable.gvlma::gvlma(회귀모형) summary(gvlma::gvlma(회귀모형)) Global Stat : 에러에 대한 만족도, assumptions acceptable : 가정이 대체적으로 만족 Skewness, Kurtosis 정규성 검정 Link Function 선형선 검정 Heteroscedasticity 등분산성 검정

Toplist

최신 우편물

태그