Effects
প্যাকেজ প্যাকেজ মাধ্যমে প্রাপ্ত রৈখিক মিশ্র প্রভাব মডেল ফলাফল প্লট করার জন্য খুব দ্রুত এবং সুবিধাজনক উপায় সরবরাহ করে । ফাংশন গণনা করে আস্থা অন্তর (সিআইএস) খুব দ্রুত, কিন্তু কিভাবে বিশ্বস্ত এই আস্থা অন্তর কি?lme4
effect
উদাহরণ স্বরূপ:
library(lme4)
library(effects)
library(ggplot)
data(Pastes)
fm1 <- lmer(strength ~ batch + (1 | cask), Pastes)
effs <- as.data.frame(effect(c("batch"), fm1))
ggplot(effs, aes(x = batch, y = fit, ymin = lower, ymax = upper)) +
geom_rect(xmax = Inf, xmin = -Inf, ymin = effs[effs$batch == "A", "lower"],
ymax = effs[effs$batch == "A", "upper"], alpha = 0.5, fill = "grey") +
geom_errorbar(width = 0.2) + geom_point() + theme_bw()
effects
প্যাকেজ ব্যবহার করে গণনা করা সিআই অনুসারে , ব্যাচ "ই" ব্যাচ "এ" দিয়ে ওভারল্যাপ হয় না।
যদি আমি একই confint.merMod
ফাংশন এবং ডিফল্ট পদ্ধতি ব্যবহার করে চেষ্টা করি :
a <- fixef(fm1)
b <- confint(fm1)
# Computing profile confidence intervals ...
# There were 26 warnings (use warnings() to see them)
b <- data.frame(b)
b <- b[-1:-2,]
b1 <- b[[1]]
b2 <- b[[2]]
dt <- data.frame(fit = c(a[1], a[1] + a[2:length(a)]),
lower = c(b1[1], b1[1] + b1[2:length(b1)]),
upper = c(b2[1], b2[1] + b2[2:length(b2)]) )
dt$batch <- LETTERS[1:nrow(dt)]
ggplot(dt, aes(x = batch, y = fit, ymin = lower, ymax = upper)) +
geom_rect(xmax = Inf, xmin = -Inf, ymin = dt[dt$batch == "A", "lower"],
ymax = dt[dt$batch == "A", "upper"], alpha = 0.5, fill = "grey") +
geom_errorbar(width = 0.2) + geom_point() + theme_bw()
আমি দেখতে পাচ্ছি যে সমস্ত সিআই সমস্ত ওভারল্যাপ করে। ফাংশনটি বিশ্বাসযোগ্য সিআইএস গণনা করতে ব্যর্থ হয়েছে তা নির্দেশ করে আমি সতর্কতাও পেয়েছি। এই উদাহরণটি এবং আমার আসল ডেটাসেটটি আমাকে সন্দেহ করতে বাধ্য করে যে effects
প্যাকেজটি সিআই গণনায় শর্টকাট নেয় যা পরিসংখ্যানবিদদের দ্বারা সম্পূর্ণ অনুমোদনযোগ্য নয়। বস্তুর জন্য প্যাকেজ থেকে ফাংশন দ্বারা সিআইগুলি কতটা বিশ্বাসযোগ্য ?effect
effects
lmer
আমি কী চেষ্টা করেছি: উত্স কোডটি সন্ধান করে আমি লক্ষ্য করেছি যে effect
ফাংশনটি ফাংশনটির উপর নির্ভর করে Effect.merMod
যা ফলস্বরূপ Effect.mer
ফাংশন পরিচালনার জন্য নির্দেশ দেয়, যা দেখতে এরকম দেখাচ্ছে:
effects:::Effect.mer
function (focal.predictors, mod, ...)
{
result <- Effect(focal.predictors, mer.to.glm(mod), ...)
result$formula <- as.formula(formula(mod))
result
}
<environment: namespace:effects>
mer.to.glm
ফাংশনটি lmer
বস্তু থেকে ভেরিয়েন্স-কোভারিয়েট ম্যাট্রিক্স গণনা করছে বলে মনে হচ্ছে :
effects:::mer.to.glm
function (mod)
{
...
mod2$vcov <- as.matrix(vcov(mod))
...
mod2
}
পরিবর্তে এটি সম্ভবত Effect.default
সিআইএস গণনা করার জন্য ফাংশনে ব্যবহৃত হয় (আমি এই অংশটি ভুল বুঝে থাকতে পারি):
effects:::Effect.default
...
z <- qnorm(1 - (1 - confidence.level)/2)
V <- vcov.(mod)
eff.vcov <- mod.matrix %*% V %*% t(mod.matrix)
rownames(eff.vcov) <- colnames(eff.vcov) <- NULL
var <- diag(eff.vcov)
result$vcov <- eff.vcov
result$se <- sqrt(var)
result$lower <- effect - z * result$se
result$upper <- effect + z * result$se
...
এটি সঠিক পদ্ধতির কিনা তা বিচার করার জন্য আমি এলএমএম সম্পর্কে যথেষ্ট জানি না, তবে এলএমএমগুলির জন্য আত্মবিশ্বাসের ব্যবধান গণনা সম্পর্কে আলোচনাটি বিবেচনা করে, এই পদ্ধতির সন্দেহজনকভাবে সহজ বলে মনে হচ্ছে।