আপনি একাধিক উপায়ে আর ব্যবহার করে পোইসন বিতরণ (ওভার-ডিসপ্রেসন সহ) মাল্টিলেভেল জিএলএমএম ফিট করতে পারেন। কয়েক R
প্যাকেজ আছেন: lme4
, MCMCglmm
, arm
, ইত্যাদি একটি ভাল রেফারেন্স দেখতে হয় Gelman এবং হিল (2007)
আমি rjags
প্যাকেজ ব্যবহার করে এটি করার উদাহরণ দেব R
। এটি R
এবং JAGS
(লাইক OpenBUGS
বা WinBUGS
) এর মধ্যে একটি ইন্টারফেস ।
লগ ইন করুন θ আমি ঞ = β 0 + + β 1 টি R ই একটি টন মিটার ই এন t আমি + + δ আমি ঞ δ আমি ঞ ~ এন ( 0 , σ 2 ϵ ) i = 1 … আমি ,
এনআমি জে~ পি ণ আমি গুলি গুলি ণ এন ( θআমি জে)
logθij=β0+β1 Treatmenti+δij
δij∼N(0,σ2ϵ)
i=1…I,j=1…J
Treatmenti=0 or 1,…,J−1 if the ith observation belongs to treatment group 1, or, 2,…,J
δijrate models
JAGS
data{
for (i in 1:I){
ncount[i,1] <- obsTrt1[i]
ncount[i,2] <- obsTrt2[i]
## notice I have only 2 treatments and I individuals
}
}
model{
for (i in 1:I){
nCount[i, 1] ~ dpois( means[i, 1] )
nCount[i, 2] ~ dpois( means[i, 2] )
log( means[i, 1] ) <- mu + b * trt1[i] + disp[i, 1]
log( means[i, 2] ) <- mu + b * trt2[i] + disp[i, 2]
disp[i, 1] ~ dnorm( 0, tau)
disp[i, 2] ~ dnorm( 0, tau)
}
mu ~ dnorm( 0, 0.001)
b ~ dnorm(0, 0.001)
tau ~ dgamma( 0.001, 0.001)
}
R
এটি প্রয়োগের জন্য কোডটি এখানে দেওয়া হয়েছে (বলুন এটির নাম দেওয়া হয়েছে overdisp.bug
)
dataFixedEffect <- list("I" = 10,
"obsTrt1" = obsTrt1 , #vector of n_i1
"obsTrt2" = obsTrt2, #vector of n_i2
"trt1" = trt1, #vector of 0
"trt2" = trt2, #vector of 1
)
initFixedEffect <- list(mu = 0.0 , b = 0.0, tau = 0.01)
simFixedEffect <- jags.model(file = "overdisp.bug",
data = dataFixedEffect,
inits = initFixedEffect,
n.chains = 4,
n.adapt = 1000)
sampleFixedEffect <- coda.samples(model = simFixedEffect,
variable.names = c("mu", "b", "means"),
n.iter = 1000)
meansTrt1 <- as.matrix(sampleFixedEffect[ , 2:11])
meansTrt2 <- as.matrix(sampleFixedEffect[ , 12:21])
আপনি আপনার পরামিতিগুলির পোস্টেরিয়ারগুলি নিয়ে খেলতে পারেন এবং মডেলিংকে আরও সুনির্দিষ্ট করে তুলতে আপনি আরও পরামিতিগুলি প্রবর্তন করতে পারেন ( আমরা এটি ভাবতে চাই )। মূলত, আপনি ধারণা পেতে।
rjags
এবং ব্যবহার সম্পর্কে আরও তথ্যের জন্য JAGS
দয়া করে জন মাইলস হোয়াইটের পৃষ্ঠাটি দেখুন