r glm을 사용하여 연도별로 비닝 된 Poisson 데이터를 모델링하고 있습니다. 그래서 저는 매년 T [i] 노출로 x [i] 카운트를 가지고 있습니다. i. 포아송 패밀리 로그 링크 출력이있는 r glm은 y = a + bx에 대한 모델 계수 a, b를 생성합니다.
내가 필요한 것은 a의 표준 오류나 b의 표준 오류가 아닌 (a + bx)의 표준 오류입니다. 구현하려는 솔루션을 설명하는 문서에 따르면 a 및 b의 매개 변수에서 계산하는 것이 간단하지 않기 때문에 소프트웨어에서 계산해야합니다. 아마도 SAS가 계산을 수행하지만 R에서는 인식하지 못합니다.
Handbook of Parameter Estimation (NUREG / CR-6823, 공개 문서)의 섹션 7.2.4.5를 통해 작업하고 있으며 eq 7.2를 살펴보고 있습니다. 또한 통계학자가 아니므로 이것을 따르기가 매우 어렵습니다.
여기서 게임은 매년 신뢰 구간이 아니라 모델 출력에서 90 % 동시 신뢰 구간을 찾는 것입니다.
여기에 코드를 추가하여 코드를 보여 드리겠습니다. 아래의 첫 번째 대답은 나를 꽤 가깝게 만드는 것 같습니다. 여기에 통계학자가 신뢰 한계를 구성하기 위해 다음 함수를 조합했습니다. 이것은 작동하는 것 같습니다.
# trend line simultaneous confidence intervals
# according to HOPE 7.2.4.5
HOPE = function(x, ...){
t = data$T
mle<-predict(model, newdata=data.frame(x=data$x), type="response")
se = as.data.frame(predict(model, newdata=data.frame(x=data$x), type="link", se.fit=TRUE))[,2]
chi = qchisq(.90, df=n-1)
upper = (mle + (chi * se))/t
lower = (mle - (chi * se))/t
return(as.data.frame(cbind(mle, t, upper, lower)))
}
se.fit=TRUE
모델에서 예측을 만들 때 인수를 제공해야한다고 생각합니다 .
hotmod<-glm(...)
predz<-predict(hotmod, ..., se.fit=TRUE)
그러면 다음을 사용하여 추정 된 표준 오차를 찾을 수 있습니다.
predz$se.fit
이제이 소프트웨어에서 직접 수행하려면 제안하는 것만 큼 어렵지 않아야합니다.
covmat<-vcov(hotmod)
coeffs<-coef(hotmod)
그런 다음 표준 오류는 다음과 같아야한다고 생각합니다.
sqrt(t(coeffs) %*% covmat %*% coeffs)
연산자 %*%
는이 소프트웨어에서 행렬 곱셈에 사용할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다