다항 로지스틱 회귀 분석을 위해 glm 알고리즘을 사용할 수 있습니까?


14

프로젝트에서 통계 분석에 spotfire (S ++)를 사용하고 있으며 대규모 데이터 세트에 대해 다항 로지스틱 회귀 분석을 실행해야합니다. 가장 좋은 알고리즘은 mlogit 일 것입니다. 그러나 불행히도 s ++에서는 사용할 수 없습니다. 그러나이 회귀에 glm 알고리즘을 사용하는 옵션이 있습니다. 여기서 두 가지를 분명히하고 싶습니다.

1. glm을 사용하여 다항 로지스틱 회귀 분석을 실행할 수 있다는 것을 이해하고 있습니까?

  1. 이전 질문에 대한 대답이 예라면 glm algo에서 어떤 매개 변수를 사용해야합니까?

감사,

답변:


9

예, Poisson GLM (로그 선형 모델)을 사용하면 다항식 모델에 적합 할 수 있습니다. 따라서 다항 로지스틱 또는 로그 선형 포아송 모델은 동일합니다.

랜덤 카운트 yij 를 평균 갖는 포아송 랜덤 변수로 μij보고 다음 로그 선형 모델을 지정해야합니다.

log(μij)=o+pi+cj+xiβj

다항 로짓 모델을 구하려면 매개 변수는 다음과 같습니다.

파라미터 예컨대 개인 또는 그룹에 대한 각각의 다항 관찰. 이를 통해 다항식 분모를 정확하게 재현 할 수 있으며 실제로 포아송과 다항식 모델의 동등성을 설정합니다. 다항식 가능성에 고정되어 있지만 포아송 가능성에 무작위입니다.pi

매개 변수 각 응답 분류. 이렇게하면 각 응답 범주마다 개수가 다를 수 있고 여백이 일정하지 않을 수 있습니다.cj

실제로 관심이있는 것은 반응 j 의 로그 확률에 대한 x i 의 영향을 나타내는 교호 작용 입니다 .xiβjxij

log-odds는 간단히 계산할 수 있습니다 . 관측치 i가 응답 범주 k에 비해 응답 범주 j에 속할 가능성은 로그 확률입니다 .log(μij/μik)=(cjck)+xi(βjβk)k

그리고, (라틴 문자로 표기)를 다항 로짓 모델의 파라미터는 해당 로그 - 선형 모델의 파라미터의 차이로 얻을 수 있고, 즉 J = α J - α KB J = β J - β K .aj=αjαkbj=βjβk


고마워 모모. 이것은 정말 도움이됩니다. 내 소프트웨어는 GLM 알고리즘을 실행하는 동안 패밀리를 "위치"로, 링크를 "로그"로 선택할 수있는 옵션을 제공합니다. 그래서 나는 그것이 정확히 여기에 필요한 것이라고 생각합니다.
Raghvendra

7

네, 가능합니다. 사실 이것은 R 패키지 GLMNET이 다항 로지스틱 회귀 분석을 위해하는 것입니다. 로그 우도 함수 작성 :

LogL=icniclog(pic)

여기서 관측치를 나타내고 c 는 다항 범주를 나타냅니다. n i c 는 카테고리 c 에서 관측 i 의 관측 된 개수입니다 . 관측 값은 고유 한 공변량 조합으로 정의됩니다. 또는 대안으로 중복을 허용하고 각 n i를 설정할 수 있습니다icnicic범주 형 "이진"데이터를 갖도록 c =1을(.... 이항의 복수가 무엇인지 모릅니다 .. ..). 로지스틱 회귀 분석의 경우 확률은 다음과 같이 정의됩니다.nic=1

pic=exp(xiTβc)cexp(xiTβc)

이는 전체 순위 매개 변수보다 작으며 불이익 가능성 (예 : GLMNET)을 사용하는 경우 유용 할 수 있습니다. 우리는 원칙적으로 풀 베타 매트릭스 에 IRLS / newton rhapson을 사용할 수 있지만, 비대 각 중량 행렬로 끝납니다. 또는 하나를 제외한 모든 범주 베타를 수정 한 다음 해당 범주 바로 위에 최적화하여 "Gibbs 스타일"을 최적화 할 수 있습니다. 그런 다음 다음 카테고리로 진행하십시오. 확률의 형식은(β1,,βC)

pic=B

pic=exp(xiTβc)exp(xiTβc)+A where Aβc=0
pic=Bexp(xiTβc)+A where Bβc=0

βcWii,c=nicpic(1pic)(XTWX)1XTWY


Wk

대각선이 아니기 때문에 많은 수의 관측으로 잘 확장되지 않습니다. "Gibbs-style"로 이동하면 기본 카테고리 매개 변수를 빼고β매트릭스는 예측 전후에 수행됩니까?
José Bayoán Santiago Calderón

"cholesky once"와 "cholesky k times"에 대해 이야기 할 때 행렬의 차원이 다르다는 점에 유의해야합니다. 엑스 "한 번"은 행렬 크기의 행렬입니다. 케이 "k 곱하기"는 크기가 지정된 행렬을위한 것입니다.
probabilityislogic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.