R에서 linearhypothesis() 함수를 사용하는 방법


특정 회귀 모델에서 선형 가설을 테스트하려면 R의 car 패키지에 있는 LinearHypothesis() 함수를 사용할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

 linearHypothesis(fit, c(" var1=0 ", " var2=0 "))

이 특정 예에서는 fit 이라는 모델의 회귀 계수 var1var2가 함께 0인지 여부를 테스트합니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: R에서 LinearHypothesis() 함수를 사용하는 방법

공부한 시간, 치른 연습 시험 횟수, 학급 내 학생 10명의 최종 시험 점수를 보여주는 다음과 같은 데이터 프레임이 R에 있다고 가정해 보겠습니다.

 #create data frame
df <- data.frame(score=c(77, 79, 84, 85, 88, 99, 95, 90, 92, 94),
                 hours=c(1, 1, 2, 3, 2, 4, 4, 2, 3, 3),
                 prac_exams=c(2, 4, 4, 2, 4, 5, 4, 3, 2, 1))

#view data frame
df

   score hours prac_exams
1 77 1 2
2 79 1 4
3 84 2 4
4 85 3 2
5 88 2 4
6 99 4 5
7 95 4 4
8 90 2 3
9 92 3 2
10 94 3 1

이제 R에 다음과 같은 다중 선형 회귀 모델을 적용한다고 가정합니다.

시험 점수 = β 0 + β 1 (시간) + β 2 (실기 시험)

lm() 함수를 사용하여 이 모델을 조정할 수 있습니다.

 #fit multiple linear regression model
fit <- lm(score ~ hours + prac_exams, data=df)

#view summary of model
summary(fit)

Call:
lm(formula = score ~ hours + prac_exams, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-5.8366 -2.0875 0.1381 2.0652 4.6381 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 72.7393 3.9455 18.436 3.42e-07 ***
hours 5.8093 1.1161 5.205 0.00125 ** 
prac_exams 0.3346 0.9369 0.357 0.73150    
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.59 on 7 degrees of freedom
Multiple R-squared: 0.8004, Adjusted R-squared: 0.7434 
F-statistic: 14.03 on 2 and 7 DF, p-value: 0.003553

이제 시간 계수와 prac_exams가 모두 0인지 테스트한다고 가정합니다.

이를 위해 LinearHypothesis() 함수를 사용할 수 있습니다:

 library (car)

#perform hypothesis test for hours=0 and prac_exams=0
linearHypothesis(fit, c(" hours=0 ", " prac_exams=0 "))

Linear hypothesis testing

Hypothesis:
hours = 0
prac_exams = 0

Model 1: restricted model
Model 2: score ~ hours + prac_exams

  Res.Df RSS Df Sum of Sq F Pr(>F)   
1 9 452.10                                
2 7 90.24 2 361.86 14.035 0.003553 **
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

가설 검정은 다음 값을 반환합니다.

  • F-검정 통계량 : 14.035
  • p-값 : .003553

이 특정 가설 검정은 다음과 같은 귀무 가설과 대립 가설을 사용합니다.

  • H 0 : 두 회귀계수가 모두 0입니다.
  • H A : 하나 이상의 회귀 계수가 0이 아닙니다.

검정의 p-값(0.003553)이 0.05보다 작으므로 귀무가설을 기각합니다.

즉, 시간prac_exams 에 대한 회귀 계수가 모두 0이라고 말할 수 있는 증거가 충분하지 않습니다.

추가 리소스

다음 튜토리얼은 R의 선형 회귀에 대한 추가 정보를 제공합니다.

R에서 회귀 출력을 해석하는 방법
R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 로지스틱 회귀를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다