다항식 혼합로 짓 모델 추정을 위해 다항로 짓 모델에 mlogit
- package을 발견했습니다. 훌륭한 비녜 트를 읽은 후에 필자는 설명 된 예제에 내 데이터를 적용 할 수 없음을 발견했습니다.다항식 혼합 로짓 모델 mlogit r- 패키지
나는 이제 내 문제에 도움이되기를 바라고 내 상황을 설명하기위한 최소한의 예를 만들었습니다.
문제는 다음과 같습니다. 자음이 'Q'인 단어가 있습니다. 이제이 단어를 듣고 Q, U 또는 기타 자음을 들었다고 말하는 사람들에게 실험을 실시했습니다. 이것은 음절 위치 나 실제/비 실제 단어와 같은 몇 가지 요소에 따라 모델링해야합니다.
최소한의 예에서 나는 4 명과 그 답을 음절 위치로 만들었습니다.
library(mlogit)
library(nnet)
set.seed(1234)
data <- data.frame(personID = as.factor(sample(1:4, 40, replace=TRUE)),
decision = as.factor(sample(c("Q","U", "other"), 40, replace=TRUE)),
syllable = as.factor(sample(1:4, 40, replace=TRUE)))
summary(data)
personID decision syllable
1:11 other:10 1:18
2:10 Q :18 2: 9
3:10 U :12 3: 5
4: 9 4: 8
지금까지 내가 nnet
의 multinom
기능이 혼합 된 모델에는 적용되지 않습니다 알고.
modNnet1 <- multinom(decision ~ syllable, data=data)
먼저 파일을 다시 형성하기 위해 mlogit.data
함수를 사용했습니다. 동료와 논의한 후에 우리는 대안이 없음을 알게되었습니다.
dataMod <- mlogit.data(data, shape="wide", choice="decision", id.var="personID")
mod1 <- mlogit(formula = decision ~ 0|syllable,
data = dataMod,
reflevel="Q", rpar=c(personID="n"), panel=TRUE)
Error in names(sup.coef) <- names.sup.coef :
'names' attribute [1] must be the same length as the vector [0]
mod2 <- mlogit(formula = decision ~ personID|syllable,
data = dataMod,
reflevel="Q", rpar=c(personID="n"), panel=TRUE)
Error in solve.default(H, g[!fixed]) :
Lapack routine dgesv: system is exactly singular: U[3,3] = 0
아니요. 무엇을해야할지 모르겠으므로 여기에서 도움을 요청합니다. 그러나 이런 종류의 문제는 mlogit
으로 해결할 수 있다고 생각합니다. 아직 보지 못했습니다;)
'syllable' 변수의 효과 코딩을 구현하는 방법을 알고 계십니까? 'dat $ syllableEff <- C (dat $ syllable, sum, 3)'을 시도하고'decision ~ -1 + trait + syllableEff'라는 공식을 사용했지만 작동하지 않았습니다. 모르는 사람은 새로운 토픽을 게시하겠습니다. – schlusie
@schlusie 명암을 수동으로 만들 수 있습니다. 주석에'syllableEff'를 정의한 후,'mmC
@schlusie (희망적으로)보다 명확한 예제를 따라하기 위해서는 위의 시뮬레이션 된 데이터를 기반으로 다음과 같은 선형 모델을 고려하십시오 :'dat $ y <- rnorm (N); dat $ trait <- factor (sample (1 : 3, N, replace = T)); mod1 <- lm (y ~ 0 + trait + syllableEff, data = dat); mod2 <- lm (y ~ 0 + trait + mmC, data = dat)'이다. 모델은 동일합니다 :'coef (mod1) == coef (mod2)'. 따라서 손으로 더미 변수를 생성하면 자동화 된 단계를 건너 뜁니다. 분명히 응답은 귀하의 경우 다항식이지만 동일한 선형 모델은 다항식 응답의 기본 잠재 변수 (선형 예측 변수)를 설명합니다. –