서수 독립 변수를 사용한 로짓


18

로짓 모델에서 각 수준에 더미 변수를 사용하는 것보다 독립적 인 서수 변수의 효과를 결정하는 더 똑똑한 방법이 있습니까?


소프트웨어에 종속적이지 않습니까?

1
소프트웨어마다 다른 옵션을 사용할 수 있지만 원칙적으로 대답해야합니다.
fgregg

1
좋아, 멍청한 의견, 미안

답변:


16

@ dmk38의 답변에 추가하기 위해, "모든 점수 세트 는 실험 결과를 참고하지 않고 구성된 경우 유효한 테스트를 제공합니다. 점수 세트가 불량한 경우, 실제 수치의 기초가되는 수치 척도를 심하게 왜곡합니다. 순서 분류, 테스트는 민감하지 않습니다. 따라서 점수는 분류 구성 및 사용 방식에 대한 최상의 통찰력을 구현해야합니다. " (Cochran, 1954, 2002 년 Agresti에 의해 인용 됨, pp. 88-89). 다시 말해서, 정렬 된 인자를 수치 적으로 점수가 매겨진 변수로 취급하는 것은 모델링 문제 일뿐입니다. 의미가있는 경우 결과 해석 방식에만 영향을 미치며 서수 변수에 가장 적합한 표현을 선택하는 방법에 대한 결정적인 규칙은 없습니다.

모계 알코올 소비 및 선천성 기형의 유무에 대한 다음 예를 고려하십시오 (Agresti, Categorical Data Analysis , 표 3.7 p.89).

            0    <1 1-2 3-5 6+
Absent  17066 14464 788 126 37
Present    48    38   5   1  1

이 경우 로지스틱 회귀 또는 간단한 연관 테이블을 사용하여 결과를 모델링 할 수 있습니다. R로 해봅시다 :

tab3.7 <- matrix(c(17066,48,14464,38,788,5,126,1,37,1), nr=2,
                 dimnames=list(c("Absent","Present"),
                               c("0","<1","1-2","3-5","6+")))
library(vcd)
assocstats(tab3.7)

일반적인 (12.08, p = 0.016751) 또는 LR (6.20, p = 0.184562) 통계 (4df 포함)는 알코올 소비의 순서 수준을 고려하지 않습니다.χ2

두 변수를 같은 간격의 점수를 가진 서수로 취급하면 (변형과 같은 이진 변수에는 영향을 미치지 않으며 기준선을 0 = 없음으로 선택) 선형 연관을 통해 선형을 테스트 할 수 있습니다. 먼저이 우발 사태 테이블의 분해 버전을 구성 해 봅시다 :

library(reshape)
tab3.7.df <- untable(data.frame(malform=gl(2,1,10,labels=0:1), 
                                alcohol=gl(5,2,10,labels=colnames(tab3.7))), 
                     c(tab3.7))
# xtabs(~malform+alcohol, tab3.7.df) # check

그런 다음 다음을 사용하여 선형 연관성을 테스트 할 수 있습니다.

library(coin)
#lbl_test(as.table(tab3.7))
lbl_test(malform ~ alcohol, data=tab3.7.df)

이는 수율 로 . 이 통계는 단순히 두 일련의 점수 (Agresti가 라고 함) 사이의 상관 관계로 , 다음과 같이 쉽게 계산됩니다.χ2(1)=1.83=0.1764미디엄2=(1)아르 자형2

cor(sapply(tab3.7.df, as.numeric))[1,2]^2*(32574-1)

알 수 있듯이, 두 변수 사이에 명확한 연관성이 있다는 증거는 많지 않습니다. Agresti가 수행 한 것처럼, 알콜 수준을 {0,0.5,1.5,4,7}로 기록하기로 결정한 경우, 즉 가산 된 연속 척도에 대해 중간 범위 값을 사용하여 마지막 점수는 다소 임의적이며, 우리는 결론을 내릴 것입니다. 선천성 기형의 발생에 대한 모성 알코올 소비의 더 큰 영향 :

lbl_test(malform ~ alcohol, data=tab3.7.df,         
         scores=list(alcohol=c(0,0.5,1.5,4,7)))

p- 값이 0.01037 인 검정 통계량 6.57을 산출합니다.

Agresti가 논의하는 미드 랭크 (이 경우 Pearson 대신 Spearman 폴백)를 포함한 대체 코딩 체계 가 있지만 일반적인 아이디어를 여기에서 잡기를 바랍니다. 실제로 반영하는 점수를 선택하는 것이 가장 좋습니다 순서 변수의 인접 범주 사이의 거리에 대한 합리적인 척도 및 등 간격은 이론상 정당성이없는 경우 종종 좋은 절충안입니다.ρ아르 자형

GLM 방식을 사용하여 다음과 같이 진행합니다. 그러나 먼저 알코올이 R로 어떻게 인코딩되는지 확인하십시오.

class(tab3.7.df$alcohol)

순서가없는 단순한 요인 ( "factor")이므로 명목 예측 변수입니다. 이제 알코올을 명목, 순서 또는 연속 예측 변수로 간주 한 세 가지 모델이 있습니다.

summary(mod1 <- glm(malform ~ alcohol, data=tab3.7.df, 
                    family=binomial))
summary(mod2 <- glm(malform ~ ordered(alcohol), data=tab3.7.df, 
                    family=binomial))
summary(mod3 <- glm(malform ~ as.numeric(alcohol), data=tab3.7.df, 
                    family=binomial))

마지막 경우는 암시 적으로 등 간격 척도를 가정하고 는 @ dmk38이 해석 한 것처럼 해석됩니다. 이는 logit 링크를 통한 결과에 대한 알코올의 1 단위 증가 효과, 즉 확률 증가를 반영합니다 기형을 관찰하지 않는 것 (즉 기형이없는 것과 비교하여, 즉 승산 비)은 입니다. Wald 테스트는 일반적인 5 % 수준에서는 중요하지 않습니다. 이 경우, 설계 행렬은 2 개의 열만 포함합니다. 첫 번째는 절편에 대해 1의 상수 열이고, 두 번째는 간단한 선형 회귀에서와 같이 예측 변수의 숫자 값 (1 ~ 5)입니다. 요약하면,이 모델은 결과에 대한 알코올의 선형 효과 (로짓 척도)를 테스트합니다.β^특급(θ^)=특급(0.228)=1.256

그러나 다른 두 경우 ( mod1mod2)에서는 예측 변수를 모델링하는 데 사용 된 설계 행렬이 다르기 때문에 다른 결과를 얻습니다.

model.matrix(mod1)
model.matrix(mod2)

우리는에 대한 관련 디자인 매트릭스는 것을 알 수 mod1위한 가변 수 포함 의 경우 반면, 첫 번째 열에서 인터셉트 기간 후 알코올의 농도 (0은 항상 기준이다) 우리 콘트라스트 코딩 효과 네 열이 (절편에 대한 1 열 이후). "3-5"범주의 계수는에서 1.03736로 추정 되지만 0.01633 에서로 추정 됩니다 . 그러나 AIC 및 기타 가능성 기반 측정은이 두 모델간에 동일하게 유지됩니다.케이1mod2mod1mod2

새로운 점수를 알코올에 할당 해보고 예상 된 기형 확률에 어떤 영향을 미치는지 확인할 수 있습니다.


3
(+1) 매우 철저한 답변. 등장 성 회귀를 사용하여 서수 변수에 점수를 할당하지 않고 선량-응답 관계의 단 조성을 가정하는 테스트를 얻는 것이 가능하다는 것을 덧붙일 것입니다. null 아래. Salanti & Ulm 2003 dx.doi.org/10.1002/bimj.200390012를 참조하십시오 .
onestop

@onestop 참조 해 주셔서 감사합니다. 내가 볼게
chl December

6

수준이 순서이면 로짓 (또는 OLS) 회귀 모델에서 범주 형 예측 변수를 사용하는 것이 좋습니다. 그러나 각 수준을 불연속으로 처리해야하는 이유가 있거나 더미 변수의 대안으로 범주 형 변수가 명목이 아닌 경우에는 직교 대비 코딩을 사용할 수도 있습니다. 매우 완전하고 접근 가능한 토론은 Judd, CM, McClelland, GH & Ryan, CS 데이터 분석 : 모델 비교 접근 방식, Edn을 참조하십시오. 2 일. (Routledge / Taylor and Francis, New York, NY; 2008) 또는 Google "대비 코딩"


서수 데이터를 모형의 구간 데이터로 처리하는 것이 좋습니까? 그렇다면 레벨 사이의 "거리"를 모른다면 어떻게 계수를 해석 할 수 있습니까?
fgregg

3
예. 이 계수는 서수 예측 변수의 각 증가 증분에 대한 로그 확률의 변화를 반영합니다. 이 (매우 일반적인) 모형 규격은 예측 변수가 증분에 선형 영향을 미친다고 가정합니다. 가정을 테스트하기 위해 서수 변수를 단일 예측 변수로 사용하는 모델과 반응을 이산하여 여러 예측 변수로 취급하는 모델을 비교할 수 있습니다 (변수가 명목 인 것처럼). 후자의 모델이 훨씬 더 적합하지 않은 경우 선형 효과를 갖는 것으로 각 증분을 처리하는 것이 합리적입니다.
dmk38

이 응답이 잘 들리기 때문에 +1을 제공하며 @fgregg가 (충분한 담당자로) 똑같이했을 것입니다.
chl December

또한 로그 확률의 변화를 서수 변수로 해석 할 수 있기 때문에 이것이 완벽한 예라고 생각합니다.
SmallChess
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.