감마 분포와 함께 GLM에 R 사용


14

현재 감마 분포를 사용하여 GLM을 피팅하기위한 R의 구문을 이해하는 데 문제가 있습니다.

각 행에 3 개의 공변량 ( ), 응답 변수 ( ) 및 모양 매개 변수 ( ) 가 포함 된 일련의 데이터가 있습니다 . 3 개의 공변량의 선형 함수로 감마 분포의 스케일을 모델링하고 싶지만 각 데이터 행에 대해 분포 모양을 로 설정하는 방법을 이해하지 못합니다 .X1,X2,X3YKK

필자는 이항 분포에 대해 GLM 에서 각 데이터 입력에 대해 시행 횟수 ( )를 알고 있어야한다고 생각합니다 .N

답변:


12

일반적인 감마 GLM에는 일반 선형 모델이 일정한 분산을 가정하는 것과 같은 방식으로 모양 매개 변수가 일정하다는 가정이 포함됩니다.

GLM 분산액을 매개 용어, 에 일반적으로 상수이다.ϕVar(Yi)=ϕV(μi)

더 일반적으로 a(ϕ) 가 있지만 도움이되지 않습니다.

가중 감마 GLM을 사용하여 지정된 모양 매개 변수 의이 효과를 통합하는 것이 가능할 수도 있지만 아직이 가능성을 조사하지는 않았습니다 (작동하는 경우 가장 쉬운 방법 일 수는 있지만 전혀하지는 않습니다) 그럴 것입니다).

이중 GLM이있는 경우 공변량의 함수로 해당 매개 변수를 추정 할 수 있습니다 . 이중 glm 소프트웨어를 사용하여 분산 항에 오프셋을 지정하면이를 수행 할 수 있습니다. dglm패키지 의 기능 dglm을 사용하여 오프셋을 지정할 수 있습니다. 그래도 같은 분산 모델을 지정할 수 있는지 모르겠습니다 ~ offset(<something>) + 0.

또 다른 대안은 가능성을 직접 극대화하는 것입니다.


> y <- rgamma(100,10,.1)

> summary(glm(y~1,family=Gamma))

Call:
glm(formula = y ~ 1, family = Gamma)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.93768  -0.25371  -0.05188   0.16078   0.81347  

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 0.0103660  0.0003486   29.74   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for Gamma family taken to be 0.1130783) 

    Null deviance: 11.223  on 99  degrees of freedom
Residual deviance: 11.223  on 99  degrees of freedom
AIC: 973.56

Number of Fisher Scoring iterations: 5

그것이 말하는 줄 :

   (Dispersion parameter for Gamma family taken to be 0.1130783)

당신이 원하는 것입니다.

그 는 감마의 모양 매개 변수와 관련이 있습니다.ϕ^


1
감사. R에는 가 무엇인지 지정하는 방법 이 있습니까? 이 링크 에서 결과를 인쇄 할 때까지 주어진 를 결정할 필요가없는 것 같습니다 . 고정 가 있으면 계수 벡터 의 결과에 영향을 미치지 않는다고 말하는 것이 맞 습니까? 그렇다면 R을 사용하지 않고 데이터를 수동으로 맞추기 위해 최상의 를 어떻게 결정 합니까? ϕ=KKKβK
Jon Claus

감마에 대해 고정 된 모양 매개 변수가있는 경우 추정값에 영향을 미치지 않으므로 계수 벡터도 영향을 미치지 않습니다. 당신은 계산할 수 GLM 출력에서 추정하지만, 최대 우도 아니에요. 모양 매개 변수를 식별하려면 패키지의 관련 기능을 사용하십시오 . R을 사용하지 않는 것이 중요한 이유는 무엇이며 컴퓨터를 사용하지 않고 수동으로 시도하는 이유는 무엇입니까? μMASS
Glen_b-복지 모니카

내가 틀렸어 수동으로, 나는 내가 테스트 할 때 나는 또한 R. 밖에서 자신을 구현할 수있는 상당히 간단한 알고리즘 원을 의미 glm(V4 ~ V3 + V2 + V1, family=Gamma)곳, 예측이 공동 variates하고 있습니다 응답, 그것은 잘못 결정 계수 벡터 스케일과 5의 일정한 모양을 결정하기 위해 알려진 계수로 샘플 데이터를 생성했기 때문에 부적절하게 결정한다는 것을 알고 있습니다.V1,V2,V3V4β
Jon Claus

1
R 외부에서 구현할 수있는 모든 것을 구현할 수 있습니다. 예를 들어 가능성을 최대화하거나 기반 추정값을 사용할 수 있습니다 . 여기서 "부적절한"의 의미를 더 자세히 설명 할 수 있습니까? ϕ^
Glen_b-복지 모니카

1
내 코드를 테스트하기 위해 10,000 튜플로 데이터 집합을 생성했습니다. 그것을 생성하기 위해 수정하고 샘플 생성 하고 계산 된 (역 링크 함수를 사용한 스케일 매개 변수 ) 분포에서 분포에서 랜덤 변수를 생성했습니다 . 데이터 세트에서 R을 실행할 때 예상되는 는 근처에 없습니다 . 다른 분포에 대해이 작업을 수행했을 때 R의 예측은 거의 정확하게 이루어졌습니다. βVθ=(βTV)1YGamma(5,θ)β^β
Jon Claus

12

Balajari (2013) 에서 설명한대로 MASS 패키지 의 gamma.shape 함수를 사용하여 나중에 형상 매개 변수를 추정 한 다음 GLM에서 계수 추정 및 예측을 조정했습니다. GLM에서의 감마 분포 사용에 관한 강의 내용은 매우 명확하고 흥미 롭습니다.

glmGamma <- glm(response ~ x1, family = Gamma(link = "identity")
library(MASS)
myshape <- gamma.shape(glmGamma)
gampred <- predict(glmGamma , type = "response", se = T, dispersion = 1/myshape$alpha) 
    summary(glmGamma, dispersion = 1/myshape$alpha)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.