일반화 선형 모형에서 정규성 잔차 확인 시간을 계산하는 데이터입니다. 로그 링크 기능이있는 음의

이 논문 은 일반 선형 모델 (이항 및 음 이항 오차 분포)을 사용하여 데이터를 분석합니다. 그러나 방법의 통계 분석 섹션에는 다음과 같은 진술이 있습니다.

두 번째는 로지스틱 회귀 모델을 사용하여 현재 상태 데이터를 모델링하고 GLM (Generalized Linear Model)을 사용하여 시간을 계산하는 데이터입니다. 로그 링크 기능이있는 음의 이항 분포는 위조 시간 데이터를 모델링하는 데 사용되었으며 (Welsh et al. 1996), 레지 듀얼을 조사하여 모델의 적합성을 검증했습니다 (McCullagh & Nelder 1989). 샘플 크기에 따라 Shapiro–Wilk 또는 Kolmogorov–Smirnov 테스트를 사용하여 정규성을 테스트했습니다. 정규성을 고수하기 위해 분석하기 전에 데이터를 로그 변환 하였다.

이항 및 음의 이항 오차 분포를 가정하면 잔차의 정규성을 확인하지 않아야합니까?



답변

i

yi

riD=2|log(1π^i)|

yi=0

riD=2|log(π^i)|

yi=1

πi^

#generate Bernoulli probabilities from true model
x <-rnorm(100)
p<-exp(x)/(1+exp(x))

#one replication per predictor value
n <- rep(1,100)
#simulate response
y <- rbinom(100,n,p)
#fit model
glm(cbind(y,n-y)~x,family="binomial") -> mod
#make quantile-quantile plot of residuals
qqnorm(residuals(mod, type="deviance"))
abline(a=0,b=1)

QQ 플롯 n = 1

ni

i

riD=sgn(yiniπ^i)2[yilogyinπ^i+(niyi)logniyini(1π^i)]

yi

ni

ni

#many replications per predictor value
n <- rep(30,100)
#simulate response
y<-rbinom(100,n,p)
#fit model
glm(cbind(y,n-y)~x,family="binomial")->mod
#make quantile-quantile plot of residuals
qqnorm(residuals(mod, type="deviance"))
abline(a=0,b=1)

QQ 플롯 n = 30

포아송 또는 음 이항 GLM의 경우와 유사합니다. 예측 된 수가 적 으면 잔차 분포가 이산 및 비뚤어 지지만 올바르게 지정된 모형에서 더 큰 수에 대해 정규화되는 경향이 있습니다.

적어도 숲의 목에는 그렇지 않은 것이 잔류 정규성에 대한 공식적인 테스트를 수행하는 것은 일반적이지 않습니다. 경우 정상 시험은 본질적으로 쓸모가 모델이 정확한 정상을 가정 할 때, 다음, 한층 유력한 이유로 는 쓸모가없는 경우. 그럼에도 불구하고, 불포화 모델의 경우 그래픽 잔차 진단은 예측 패턴 당 반복 횟수에 따라 핀치 또는 소금 한 덩어리로 정규성을 취하여 적합 부족의 존재 및 특성을 평가하는 데 유용합니다.


답변

그들이 한 일은 맞습니다! 이중 확인에 대한 참조를 드리겠습니다. 선형 회귀 분석 소개, 5 판의 섹션 13.4.4 참조Douglas C. Montgomery, Elizabeth A. Peck, G. Geoffrey Vining. 특히 이항 glm에 맞는 460 페이지의 예를보고 “Deviance Residuals”의 정규성 가정을 다시 확인하십시오. 458 페이지에서 언급 한 것처럼, 이탈 잔차는 표준 정규 이론 선형 회귀 모델에서 일반 잔차와 매우 유사하게 동작하기 때문입니다. 따라서 정규 확률도 스케일 척도와 적합치 값으로 플롯하는 것이 좋습니다. 상기 참조의 456 페이지를 다시 참조한다. 이항 사례뿐만 아니라 (is = log)의 Poisson glm 및 Gamma에 대해 460 및 461 페이지에 제공 한 예제에서 이탈 잔차의 정규성을 확인했습니다.
이항의 경우 이탈 잔차는 다음과 같이 정의됩니다.

riD=2|ln(1πi^)|

yi=0

riD=2|ln(πi^)|

yi=1

> attach(npk)

> #Fitting binomila glm
> fit.1=glm(P~yield,family=binomial(logit))
>
> #Getting deviance residuals directly
> rd=residuals(fit.1,type = c("deviance"))
> rd
         1          2          3          4          5          6          7
 1.1038306  1.2892945 -1.2912991 -1.1479881 -1.1097832  1.2282009 -1.1686771
         8          9         10         11         12         13         14
 1.1931365  1.2892945  1.1903473 -0.9821829 -1.1756061 -1.0801690  1.0943912
        15         16         17         18         19         20         21
-1.3099491  1.0333213  1.1378369 -1.2245380 -1.2485566  1.0943912 -1.1452410
        22         23         24
 1.2352561  1.1543163 -1.1617642
>
>
> #Estimated success probabilities
> pi.hat=fitted(fit.1)
>
> #Obtaining deviance residuals directly
> rd.check=-sqrt(2*abs(log(1-pi.hat)))
> rd.check[P==1]=sqrt(2*abs(log(pi.hat[P==1])))
> rd.check
         1          2          3          4          5          6          7
 1.1038306  1.2892945 -1.2912991 -1.1479881 -1.1097832  1.2282009 -1.1686771
         8          9         10         11         12         13         14
 1.1931365  1.2892945  1.1903473 -0.9821829 -1.1756061 -1.0801690  1.0943912
        15         16         17         18         19         20         21
-1.3099491  1.0333213  1.1378369 -1.2245380 -1.2485566  1.0943912 -1.1452410
        22         23         24
 1.2352561  1.1543163 -1.1617642
>

포아송 사건도 여기 에서 확인 하십시오 .


답변