Stan에서 강력한 로지스틱 회귀 (robit)를 실행하고 싶습니다. 모델은 Gelman & Hill의 "회귀 및 다단계 방법을 사용한 데이터 분석"(2006, pp. 124)에서 제안되었지만 구현 방법을 잘 모르겠습니다. 나는 Stan's Github repository과 the reference manual을 확인했지만, 불행히도 나는 아직도 혼란 스럽다. 규칙적인 로지스틱 회귀를 모델로 사용했던 몇 가지 코드가 있습니다. 오류가 7 자유도의 t 분포를 따르도록하려면 무엇을 추가해야합니까? 다중 레벨 분석을 실행하면 어떤 경우에도 동일한 절차가 수행됩니까?스탠에서 로빗 모델을 실행하는 방법은 무엇입니까?
library(rstan)
set.seed(1)
x1 <- rnorm(100)
x2 <- rnorm(100)
z <- 1 + 2*x1 + 3*x2
pr <- 1/(1+exp(-z))
y <- rbinom(100,1,pr)
df <- list(N=100, y=y,x1=x1,x2=x2)
# Stan code
model1 <- '
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
vector[N] x1;
vector[N] x2;
}
parameters {
real beta_0;
real beta_1;
real beta_2;
}
model {
y ~ bernoulli_logit(beta_0 + beta_1 * x1 + beta_2 * x2);
}
'
# Run the model
fit <- stan(model_code = model1, data = df, iter = 1000, chains = 4)
print(fit)
고맙습니다!
미안 해요, 난 답을 알고하지 않습니다.이 루크의 솔루션에서 조금 다른보고에도 불구하고, 올바른 생각하지만 당신은'DF = 데이터 라인에 코드를 수정 할 수 있습니다. 리스트 (N = 100, y = y, x1 = x1, x2 = x2)'T R에 'data.list()'가 없다. 'df = list (N = 100, y = y, x1 = x1, x2 = x2)'를 읽어야한다. –
FWIW, @ johnmyleswhite는 robit regression [여기] (https://github.com/johnmyleswhite/JAGSExamples/blob/master/scripts/robit/robit.R)의 JAGS 예를 가지고 있습니다. – jbaums