প্রভাব প্যাকেজটির মাধ্যমে লার আইটেমগুলির জন্য আস্থা অন্তর কতটা বিশ্বাসযোগ্য?


36

Effectsপ্যাকেজ প্যাকেজ মাধ্যমে প্রাপ্ত রৈখিক মিশ্র প্রভাব মডেল ফলাফল প্লট করার জন্য খুব দ্রুত এবং সুবিধাজনক উপায় সরবরাহ করে । ফাংশন গণনা করে আস্থা অন্তর (সিআইএস) খুব দ্রুত, কিন্তু কিভাবে বিশ্বস্ত এই আস্থা অন্তর কি?lme4effect

উদাহরণ স্বরূপ:

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প্যাকেজটি সিআই গণনায় শর্টকাট নেয় যা পরিসংখ্যানবিদদের দ্বারা সম্পূর্ণ অনুমোদনযোগ্য নয়। বস্তুর জন্য প্যাকেজ থেকে ফাংশন দ্বারা সিআইগুলি কতটা বিশ্বাসযোগ্য ?effecteffectslmer

আমি কী চেষ্টা করেছি: উত্স কোডটি সন্ধান করে আমি লক্ষ্য করেছি যে 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
...

এটি সঠিক পদ্ধতির কিনা তা বিচার করার জন্য আমি এলএমএম সম্পর্কে যথেষ্ট জানি না, তবে এলএমএমগুলির জন্য আত্মবিশ্বাসের ব্যবধান গণনা সম্পর্কে আলোচনাটি বিবেচনা করে, এই পদ্ধতির সন্দেহজনকভাবে সহজ বলে মনে হচ্ছে।


1
আপনার কোডের দীর্ঘ লাইন থাকলে, আপনি যদি এগুলিকে একাধিক লাইনে বিভক্ত করেন তবে আমি এটির প্রশংসা করব যাতে এটি সমস্ত দেখতে আমাদের স্ক্রোল করতে হবে না।
rvl

1
@ আরভিএল কোডটি আরও বেশি পঠনযোগ্য হওয়া উচিত।
মিক্কো 3:44

উত্তর:


52

ফলাফলগুলির সমস্তগুলি মূলত একই ( এই নির্দিষ্ট উদাহরণের জন্য )। কিছু তাত্ত্বিক পার্থক্য হ'ল:

  • যেমন @ আরভিএল দেখিয়েছে, প্যারামিটারগুলির মধ্যে ovক্যবদ্ধতার বিষয়টি বিবেচনা না করে আপনার সিআই-র পুনর্গঠন কেবল ভুল (দুঃখিত)
  • পরামিতি জন্য আস্থা অন্তর Wald, আস্থা অন্তর উপর ভিত্তি করে করা যেতে পারে (একটি দ্বিঘাত লগ-সম্ভাবনা পৃষ্ঠ অভিমানী): lsmeans, effects, confint(.,method="Wald"); ব্যতীত lsmeans, এই পদ্ধতিগুলি সীমাবদ্ধ-আকারের প্রভাবগুলিকে উপেক্ষা করে ("স্বাধীনতার ডিগ্রি"), তবে এই ক্ষেত্রে এটি সবেমাত্র কোনও পার্থক্য করে ( df=40অসীম থেকে কার্যত পৃথক পৃথক df)
  • ... বা প্রোফাইলে আস্থা অন্তরগুলি (ডিফল্ট পদ্ধতি; সীমাবদ্ধ-আকারের প্রভাবগুলি উপেক্ষা করে তবে চতুর্ভুজবিহীন পৃষ্ঠগুলির জন্য অনুমতি দেয়)
  • ... বা প্যারামেট্রিক বুটস্ট্র্যাপিংয়ে (স্বর্ণের মান - মডেলটি সঠিক বলে ধরে নেওয়া হয়েছে [প্রতিক্রিয়াগুলি সাধারণ, এলোমেলো প্রভাবগুলি সাধারণত বিতরণ করা হয়, ডেটা শর্তাধীন স্বাধীন হয় ইত্যাদি ইত্যাদি), তবে অন্যথায় কয়েকটি অনুমান করা যায়)

আমি এই সমস্ত পদ্ধতির যুক্তিসঙ্গত বলে মনে করি (কিছু অন্যদের তুলনায় আরও আনুমানিক) তবে এই ক্ষেত্রে এটি আপনি যেটি ব্যবহার করেন তা সবেমাত্র কোনও পার্থক্য করে। যদি আপনি উদ্বিগ্ন হন তবে আপনার ডেটা, বা আপনার নিজের মতো করে সিমুলেটেড ডেটাতে বিভিন্ন বিপরীত পদ্ধতি ব্যবহার করে দেখুন এবং দেখুন কী ঘটে ...

(দ্রষ্টব্য: আমি সত্য যে আস্থা অন্তর খুব বেশি ওজন করা হবে না Aএবং Eওভারল্যাপ না এবং আপনি এই ভিন্নতা নিয়ে নির্ভরযোগ্য মতামতে উপনীত করার জন্য একটি সঠিক pairwise তুলনা পদ্ধতি যা করতে হবে না। বিশেষ অনুমান জোড়া। ..)

95% সিআই:

এখানে চিত্র বর্ণনা লিখুন

তুলনা কোড:

library(lme4)
fm2 <- lmer(strength ~ batch - 1 + (1 | cask), Pastes)
c0 <- confint(fm2,method="Wald")
c1 <- confint(fm2)
c2 <- confint(fm2,method="boot")
library(effects)
library(lsmeans)
c3 <- with(effect("batch",fm2),cbind(lower,upper))
c4 <- with(summary(lsmeans(fm2,spec="batch")),cbind(lower.CL,upper.CL))
tmpf <- function(method,val) {
    data.frame(method=method,
               v=LETTERS[1:10],
               setNames(as.data.frame(tail(val,10)),
                        c("lwr","upr")))
}
library(ggplot2); theme_set(theme_bw())
allCI <- rbind(tmpf("lme4_wald",c0),
      tmpf("lme4_prof",c1),
      tmpf("lme4_boot",c2),
      tmpf("effects",c3),
               tmpf("lsmeans",c4))
ggplot(allCI,aes(v,ymin=lwr,ymax=upr,colour=method))+
    geom_linerange(position=position_dodge(width=0.8))

ggsave("pastes_confint.png",width=10)

2
আমি এই উত্তরটি পয়েন্টের ঠিক মতোই গ্রহণ করি এবং বিভিন্ন পদ্ধতির মধ্যে একটি দুর্দান্ত তুলনা করি। তবে আরও তথ্যের জন্য rlv এর দুর্দান্ত উত্তরটি দেখুন।
মিক্কো

চমৎকার এবং খুব সহায়ক উত্তরের জন্য আপনাকে ধন্যবাদ। আমি কী সঠিকভাবে বুঝতে পারি যে গ্রুপ / ব্যাচগুলির তুলনা করতে কেউ সিআই ব্যবহার করতে পারে না, তবে প্রভাবগুলি তুলনা করা সম্ভব। বলুন যে আমার দুটি চিকিত্সা ছিল, বেশ কয়েকটি ব্যক্তি এবং ব্যক্তিদের মধ্যে বেশ কয়েকটি পরিমাপ। আমি ব্যক্তিদের এলোমেলো প্রভাব হিসাবে ব্যবহার করব কারণ তাদের প্রত্যেকটিতে এক্স পরিমাপ থাকবে। তখন আমি জানতে চেয়েছিলাম যে এই দুটি চিকিত্সার ফলে আলাদা প্রতিক্রিয়া হয়েছে। আমি কি effectsএই ক্ষেত্রে প্যাকেজ এবং সিআই ওভারল্যাপ ব্যবহার করতে পারি ?
মিক্কো

5
এটি একটি আরও সাধারণ প্রশ্ন যা কোনও মানক-ভিত্তিক পদ্ধতির সাথে প্রাসঙ্গিক। একটি পৃথক প্রশ্ন মূল্যবান হতে পারে। (1) সাধারণত যেভাবে চিকিত্সার মধ্যে পার্থক্য সম্পর্কে প্রশ্নগুলির উত্তর দেওয়া হয় তা হল মডেল সেট আপ করা যাতে ফোকাস চিকিত্সাগুলির মধ্যে পার্থক্য মডেলটির একটি বিপরীতে (অর্থাত্ একটি অনুমিত পরামিতি) হয় এবং তারপরে একটি পি-মান গণনা করা হয় অথবা কোনও নির্দিষ্ট আলফা-স্তরের আত্মবিশ্বাসের অন্তরগুলিতে শূন্য রয়েছে কিনা তা পরীক্ষা করে দেখুন। (অবিরত)
বেন বলকার

4
(২) ওভারল্যাপিং সিআই সর্বোত্তম রক্ষণশীল এবং আনুমানিক, পরামিতিগুলির মধ্যে পার্থক্যের জন্য মাপদণ্ড (এই বিষয়ে বেশ কয়েকটি প্রকাশিত কাগজপত্র রয়েছে)। (৩) জোড়াযুক্ত তুলনা সহ একটি পৃথক / অরথোগোনাল ইস্যু রয়েছে, এটি হ'ল তুলনাগুলির সংখ্যাবৃদ্ধি এবং স্বতন্ত্রতার জন্য উপযুক্তভাবে নিয়ন্ত্রণ করতে হবে (এটি করা যেতে পারে, যেমন multcompপ্যাকেজের পদ্ধতিগুলি দ্বারা , তবে এটির জন্য কমপক্ষে একটি প্রয়োজন সামান্য যত্ন)
বেন বলকার 18

1
কি জন্য? আপনি একটি নতুন প্রশ্ন জিজ্ঞাসা করতে পারেন।
বেন বলকার

20

দেখে মনে হচ্ছে আপনি দ্বিতীয় পদ্ধতিতে যা করেছেন তা হ'ল রিগ্রেশন সহগের জন্য গণনা করা আত্মবিশ্বাসের বিরতি, তারপরে ভবিষ্যদ্বাণীগুলির জন্য সিআই অর্জন করার জন্য তাদের রূপান্তরিত করা। এটি রিগ্রেশন কোঅফিসিয়েন্টগুলির মধ্যে সমবায়কে উপেক্ষা করে।

কোনও বাধা ছাড়াই মডেলটিকে ফিট করার চেষ্টা করুন, যাতে batchপ্রভাবগুলি প্রকৃতপক্ষে ভবিষ্যদ্বাণী হয়ে যায় এবং confintআপনার প্রয়োজন অন্তরগুলি ফিরিয়ে দেয়।

সংযোজন ঘ

আমি উপরে যা বলেছিলাম ঠিক তেমনটাই করেছি:

> fm2 <- lmer(strength ~ batch - 1 + (1 | cask), Pastes)
> confint(fm2)
Computing profile confidence intervals ...
           2.5 %    97.5 %
.sig01  0.000000  1.637468
.sigma  2.086385  3.007380
batchA 60.234772 64.298581
batchB 57.268105 61.331915
batchC 60.018105 64.081915
batchD 57.668105 61.731915
batchE 53.868105 57.931915
batchF 59.001439 63.065248
batchG 57.868105 61.931915
batchH 61.084772 65.148581
batchI 56.651439 60.715248
batchJ 56.551439 60.615248

এই ব্যবধানগুলি ফলাফলগুলি নিয়ে কৌতুক করছে বলে মনে হচ্ছে effects

সংযোজন 2

অন্য বিকল্প হ'ল lsmeans প্যাকেজ। এটি পিবিকেস্ট্রেস্ট প্যাকেজ থেকে স্বাধীনতার ডিগ্রি এবং একটি সমন্বিত কোভেরিয়েন্স ম্যাট্রিক্স প্রাপ্ত করে ।

> library("lsmeans")
> lsmeans(fm1, "batch")
Loading required namespace: pbkrtest
 batch   lsmean       SE    df lower.CL upper.CL
 A     62.26667 1.125709 40.45 59.99232 64.54101
 B     59.30000 1.125709 40.45 57.02565 61.57435
 C     62.05000 1.125709 40.45 59.77565 64.32435
 D     59.70000 1.125709 40.45 57.42565 61.97435
 E     55.90000 1.125709 40.45 53.62565 58.17435
 F     61.03333 1.125709 40.45 58.75899 63.30768
 G     59.90000 1.125709 40.45 57.62565 62.17435
 H     63.11667 1.125709 40.45 60.84232 65.39101
 I     58.68333 1.125709 40.45 56.40899 60.95768
 J     58.58333 1.125709 40.45 56.30899 60.85768

Confidence level used: 0.95 

effecteffectconfint±1.96×SE

এর থেকে ফলাফল effectএবং lsmeansঅনুরূপ, কিন্তু একটি ভারসাম্যহীন বহু-ফ্যাক্টর অবস্থা, সঙ্গে lsmeans, সমান ওজন সঙ্গে অব্যবহৃত কারণের উপর ডিফল্ট গড় দ্বারা যেহেতু effectপর্যবেক্ষিত ফ্রিকোয়েন্সি (একটি বিকল্প হিসাবে উপলব্ধ দ্বারা ওজন lsmeans)।


এই সমাধানের জন্য আপনাকে ধন্যবাদ। অন্তরগুলি এখন একইরকম, যদিও একেবারে একই নয়। আপনার উত্তর এখনও effectsপ্যাকেজ থেকে সিআই lmerঅবজেক্টের জন্য বিশ্বাসযোগ্য কিনা তা প্রশ্নের উত্তর দেয় না । আমি ফলাফলটি কোনও প্রকাশনায় ব্যবহার করার বিষয়ে বিবেচনা করছি এবং নিশ্চিত হতে চাই যে এলএমএমগুলির জন্য অনুমোদিত পদ্ধতি ব্যবহার করে সিআই-কে গণনা করা হয়।
মিক্কো

আপনি কি দয়া করে বলবেন: আপনার সংযোজন 1 এ প্রথম দুটি পরামিতি .sig01এবং .sigmaউত্পাদিত হয়েছে confint, সেই আত্মবিশ্বাসের ব্যবধান কি বৈকল্পিকতার জন্য ? বা স্ট্যান্ডার্ড বিচ্যুতি আস্থা অন্তর ?
এবিসি

মডেলটিতে যেগুলি পরামিতিগুলি সেভাবে লেবেল করা হয় সেগুলির জন্য তারা সিআই। lmerএকটি নির্দিষ্ট উত্তর জন্য আপনার ডকুমেন্টেশন তাকান উচিত । যাইহোক, লোকেরা সাধারণত স্বীকৃতিগুলি sigmaস্ট্যান্ডার্ড বিচ্যুতিগুলি উল্লেখ করতে পছন্দ করে sigma.squareবা sigma^2বৈকল্পিকগুলি উল্লেখ করতে পছন্দ করে।
rvl

সবচেয়ে বেশি হালকা, lsmeans বা Mertools ব্যবহার করা ভাল?
স্ক্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.