모형 적합 해석

Python으로 배우는 Generalized Linear Models

Ita Cirovic Donev

Data Science Consultant

모수 추정

  • 최대우도추정(MLE)
  • 반복 가중 최소제곱(IRLS)
Python으로 배우는 Generalized Linear Models

반응 함수

  • 포아송 회귀 모형 $$ log(\lambda)=\beta_0+\beta_1x_1 $$

  • 반응 함수: $$ \lambda=exp(\beta_0 + \beta_1x_1) $$                                                  또는 $$ \lambda=exp(\beta_0) \times exp(\beta_1x_1) $$

Python으로 배우는 Generalized Linear Models

반응 함수

  • 포아송 회귀 모형 $$ log(\lambda)=\beta_0+\beta_1x_1 $$

  • 반응 함수: $$ \lambda=exp(\beta_0 + \beta_1x_1) $$                                                  또는 $$ \lambda=exp(\beta_0) \color{red}{\times} exp(\beta_1x_1) $$

Python으로 배우는 Generalized Linear Models

모수 해석

  • $exp(\beta_0)$

    • $x=0$일 때 평균 $\lambda$에 대한 효과
  • $exp(\beta_1)$

    • $x$가 1단위 증가할 때 평균 $\lambda$의 "곱셈 효과"
Python으로 배우는 Generalized Linear Models

계수 효과 해석

  • $\color{#FF550D}{\beta_1 > 0}$인 경우
    • $exp(\beta_1)>1$
    • $x=0$일 때보다 $\lambda$가 $\color{#FF550D}{exp(\beta_1)\text{배 더 큼}}$
  • $\color{#D04A73}{\beta<0}$인 경우
    • $exp(\beta_1)<1$
    • $x=0$일 때보다 $\lambda$가 $\color{#D04A73}{exp(\beta_1)\text{배 더 작음}}$
  • $\color{#0099FF}{\beta_1 = 0}$인 경우
    • $exp(\beta_1)=1$
    • $\lambda=exp(\beta_0)$
    • 곱셈 계수는 1
    • $y$와 $x$는 $\text{\color{#0099FF}{관련 없음}}$
Python으로 배우는 Generalized Linear Models

예시

model = glm('sat ~ weight', data = crab, 
            family = sm.families.Poisson()).fit()
                 Generalized Linear Model Regression Results (print cut)                 
=============================================================================
                 coef    std err          z      P>|z|      [0.025     0.975]
-----------------------------------------------------------------------------
Intercept     -0.4284      0.179     -2.394      0.017      -0.779     -0.078
weight         0.5893      0.065      9.064      0.000       0.462      0.717
=============================================================================
Python으로 배우는 Generalized Linear Models

예시 - 베타 해석

  • 모수 추출
    model.params
    
Intercept   -0.428405
weight       0.589304
  • 효과 계산
    np.exp(0.589304)
    
1.803
Python으로 배우는 Generalized Linear Models

신뢰구간: ...에 대하여

  • $\beta_1$
print(model.conf_int())
                  0         1
Intercept -0.779112 -0.077699
weight     0.461873  0.716735
  • 평균에 대한 곱셈 효과
print(np.exp(crab_fit.conf_int()))
                  0         1
Intercept  0.458813  0.925243
weight     1.587044  2.047737
Python으로 배우는 Generalized Linear Models

연습해 봅시다!

Python으로 배우는 Generalized Linear Models

Preparing Video For Download...