R에서 glm 출력을 해석하는 방법(예제 포함)


R의 glm() 함수는 일반화 선형 모델을 피팅하는 데 사용될 수 있습니다.

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

glm(공식, family=가우스, 데이터, …)

금:

  • 공식: 선형 모델 공식(예: y ~ x1 + x2)
  • family: 모델을 적합시키는 데 사용할 통계적 패밀리입니다. 기본값은 가우스이지만 다른 옵션으로는 이항, 감마, 포아송 등이 있습니다.
  • 데이터: 데이터가 포함된 데이터 블록의 이름

실제로 이 함수는 “이항” 계열을 지정하여 로지스틱 회귀 모델을 적합시키는 데 가장 자주 사용됩니다.

다음 예에서는 로지스틱 회귀 모델에 대해 R에서 glm 출력을 해석하는 방법을 보여줍니다.

예: R에서 glm 출력을 해석하는 방법

이 예에서는 R에 내장된 mtcars 데이터 세트를 사용합니다.

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

주어진 자동차가 변수 am 에 대해 1의 값을 가질 확률을 예측하기 위해 변수 disphp를 사용할 것입니다.

다음 코드는 glm() 함수를 사용하여 이 로지스틱 회귀 모델을 맞추는 방법을 보여줍니다.

 #fit logistic regression model
model <- glm(am ~ disp + hp, data=mtcars, family=binomial)

#view model summary
summary(model)

Call:
glm(formula = am ~ disp + hp, family = binomial, data = mtcars)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-1.9665 -0.3090 -0.0017 0.3934 1.3682  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) 1.40342 1.36757 1.026 0.3048  
available -0.09518 0.04800 -1.983 0.0474 *
hp 0.12170 0.06777 1.796 0.0725 .
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 43,230 on 31 degrees of freedom
Residual deviance: 16,713 on 29 degrees of freedom
AIC: 22,713

Number of Fisher Scoring iterations: 8

결과의 각 요소를 해석하는 방법은 다음과 같습니다.

계수 및 P-값

결과의 계수 추정치는 각 예측 변수의 1단위 증가와 연관된 반응 변수의 로그 우도의 평균 변화를 나타냅니다.

예를 들어, 예측 변수 disp의 1단위 증가는 응답 변수 am이 값 1을 취할 로그 가능성의 -0.09518의 평균 변화와 연관됩니다. 이는 disp의 값이 높을수록 disp의 값이 낮을수록 개연성. 변수의 값은 1입니다.

표준 오차는 계수 추정과 관련된 변동성에 대한 아이디어를 제공합니다. 그런 다음 계수 추정치를 표준 오차로 나누어 z 값을 얻습니다.

예를 들어, 예측 변수 disp의 z 값은 -.09518 / .048 = -1.983으로 계산됩니다.

p-값 Pr(>|z|)은 특정 z-값과 관련된 확률을 알려줍니다. 이는 본질적으로 각 예측 변수가 모델의 응답 변수 값을 얼마나 잘 예측할 수 있는지 알려줍니다.

예를 들어, 변수 disp의 z-값과 연관된 p-값은 0.0474입니다. 이 값은 0.05보다 작으므로 disp는 모델에서 통계적으로 유의미한 예측 변수라고 말할 수 있습니다.

선호도에 따라 0.01, 0.05 또는 0.10의 유의 수준을 사용하여 각 예측 변수가 통계적으로 유의한지 여부를 확인할 수 있습니다.

영점 및 잔차 이탈도

출력의 이탈도가 0이면 원래 항만 사용하는 모델이 반응 변수를 얼마나 잘 예측할 수 있는지 알려줍니다.

잔차 이탈도는 p개의 예측 변수를 사용하여 피팅하는 특정 모델이 응답 변수를 얼마나 잘 예측할 수 있는지 알려줍니다. 값이 낮을수록 모델이 반응 변수의 값을 더 잘 예측할 수 있습니다.

모델이 “유용한”지 여부를 확인하기 위해 다음과 같이 카이제곱 통계량을 계산할 수 있습니다.

X 2 = 제로 이탈도 – 잔여 이탈도

p 자유도를 가지고 있습니다.

그러면 이 카이제곱 통계량과 관련된 p-값을 찾을 수 있습니다. p-값이 낮을수록 원래 항만 사용한 모델에 비해 모델이 데이터세트를 더 잘 적합할 수 있습니다.

예를 들어 회귀 모델에서는 0과 잔차 편차에 대한 출력에서 다음 값을 관찰할 수 있습니다.

  • 제로 이탈도 : 43.23(df = 31)
  • 잔차 이탈도 : 16.713, df = 29

이 값을 사용하여 모델의 X 2 통계를 계산할 수 있습니다.

  • X 2 = 제로 이탈도 – 잔여 이탈도
  • X2 = 43.23 – 16.713
  • X2 = 26,517

예측 변수의 자유도는 p = 2입니다.

카이제곱 대 P-값 계산기를 사용하면 자유도가 2인 X 2 값 26.517의 p-값이 0.000002라는 것을 알 수 있습니다.

이 p-값은 0.05보다 훨씬 낮기 때문에 모델이 매우 유용하다는 결론을 내릴 수 있습니다.

AIC

AIC (Akaike 정보 기준)는 다양한 회귀 모델의 적합성을 비교하는 데 사용되는 측정값입니다. 값이 낮을수록 회귀 모델이 데이터를 더 잘 적합할 수 있습니다.

다음과 같이 계산됩니다.

AIC = 2K – 2ln (L)

금:

  • K: 모델 매개변수의 수입니다.
  • ln (L) : 모델의 로그 우도입니다. 이는 모델이 데이터를 기반으로 할 가능성이 얼마나 되는지 알려줍니다.

AIC의 실제 가치는 의미가 없습니다.

그러나 여러 회귀 모델을 적합하는 경우 각 모델의 AIC 값을 비교할 수 있습니다. AIC가 가장 낮은 모델이 가장 적합합니다.

관련 항목: 좋은 AIC 값으로 간주되는 것은 무엇입니까?

추가 리소스

다음 튜토리얼은 R에서 glm() 함수를 사용하는 방법에 대한 추가 정보를 제공합니다.

R에서 glm과 lm의 차이점
R에서 glm과 함께 예측 함수를 사용하는 방법

다음 튜토리얼에서는 glm() 함수를 사용할 때 일반적인 오류를 처리하는 방법을 설명합니다.

R 경고 처리 방법: glm.fit: 알고리즘이 수렴되지 않았습니다.
처리 방법: glm.fit: 수치적으로 조정된 확률 0 또는 1 발생

의견을 추가하다

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