Lme4 এ অন্তর্ভুক্ত স্লিস্টস্টি ডেটা বিবেচনা করুন। বেটস তার অনলাইন গ্রন্থে lme4 সম্পর্কে এটি আলোচনা করে। তৃতীয় অধ্যায়ে, তিনি ডেটাগুলির জন্য দুটি মডেল বিবেচনা করেন।
M0:Reaction∼1+Days+(1|Subject)+(0+Days|Subject)
এবং
MA:Reaction∼1+Days+(Days|Subject)
এই গবেষণায় 18 টি বিষয় জড়িত, 10 টি ঘুম বঞ্চিত দিনকাল ধরে অধ্যয়ন করা হয়েছে। প্রতিক্রিয়ার সময়গুলি বেসলাইন এবং পরবর্তী দিনগুলিতে গণনা করা হত। প্রতিক্রিয়া সময় এবং ঘুম বঞ্চনার সময়কাল মধ্যে একটি স্পষ্ট প্রভাব আছে। বিষয়গুলির মধ্যেও উল্লেখযোগ্য পার্থক্য রয়েছে। মডেল এ র্যান্ডম ইন্টারসেপ্ট এবং opeাল প্রভাবগুলির মধ্যে কথোপকথনের সম্ভাবনার জন্য অনুমতি দেয়: কল্পনা করুন, বলুন যে, খারাপ প্রতিক্রিয়া সময়ের লোকেরা ঘুমের বঞ্চনার প্রভাবগুলির সাথে আরও তীব্রভাবে ভোগেন। এটি এলোমেলো প্রভাবগুলির মধ্যে একটি ইতিবাচক সম্পর্ককে বোঝায় ly
বেটসের উদাহরণে, ল্যাটিস প্লট থেকে কোনও আপাত পারস্পরিক সম্পর্ক ছিল না এবং মডেলগুলির মধ্যে কোনও উল্লেখযোগ্য পার্থক্য ছিল না। যাইহোক, উপরে উত্থাপিত প্রশ্নটি তদন্ত করতে, আমি স্লিপস্টুডির উপযুক্ত মানগুলি গ্রহণ করার, পারস্পরিক সম্পর্ককে ক্র্যাঙ্ক আপ করার এবং দুটি মডেলের পারফরম্যান্স সন্ধান করার সিদ্ধান্ত নিয়েছি।
আপনি ইমেজ থেকে দেখতে পাচ্ছেন যে দীর্ঘ প্রতিক্রিয়া সময়গুলি পারফরম্যান্সের বৃহত্তর ক্ষতির সাথে সম্পর্কিত। সিমুলেশনের জন্য ব্যবহৃত পারস্পরিক সম্পর্ক ছিল 0.58
আমি আমার কৃত্রিম ডেটা লাগানো মানগুলির উপর ভিত্তি করে lme4 তে সিমুলেট পদ্ধতিটি ব্যবহার করে 1000 নমুনা সিমুলেটেড করেছি। আমি প্রত্যেকের সাথে এম 0 এবং মা ফিট করি এবং ফলাফলগুলির দিকে তাকান। মূল ডেটা সেটটিতে 180 টি পর্যবেক্ষণ (18 টির জন্য প্রতিটি জন্য 10) ছিল এবং সিমুলেটেড ডেটা একই কাঠামোযুক্ত।
মূল কথাটি হ'ল খুব সামান্য পার্থক্য আছে।
- উভয় মডেলের অধীনে স্থির পরামিতিগুলির একই মান রয়েছে।
- এলোমেলো প্রভাবগুলি কিছুটা আলাদা। প্রতিটি সিমুলেটেড নমুনার জন্য 18 ইন্টারসেপ্ট এবং 18 18াল র্যান্ডম এফেক্ট রয়েছে। প্রতিটি নমুনার জন্য, এই প্রভাবগুলি 0 যুক্ত করতে বাধ্য হয়, যার অর্থ দুটি মডেলের মধ্যবর্তী পার্থক্যটি (কৃত্রিমভাবে) 0 হয় তবে রূপগুলি এবং কোভেরিয়েন্সগুলি পৃথক হয়। এমএ এর অধীনে মধ্যম কোভারিয়েন্স 104 ছিল, এম 0 এর অধীনে 84 (প্রকৃত মান, 112)। এমএর চেয়ে এম 0 এর অধীনে opালু এবং ইন্টারসেপ্টের বৈকল্পিকগুলি বৃহত্তর ছিল, সম্ভবত কোনও ফ্রি কোভেরিয়েন্স প্যারামিটারের অভাবে অতিরিক্ত উইগল রুমটি পাওয়ার জন্য।
- লেমারের জন্য আনোভা পদ্ধতিটি aালু মডেলকে কেবল একটি এলোমেলো ইন্টারসেপ্ট (ঘুম বঞ্চনার কারণে কোনও প্রভাব) সহ একটি মডেলের সাথে তুলনা করার জন্য একটি এফ পরিসংখ্যান দেয়। স্পষ্টতই, উভয় মডেলের অধীনে এই মানটি খুব বড় ছিল, তবে এটি সাধারণত (তবে সবসময় নয়) এমএ এর অধীনে ছিল (যার মানে 62 বনাম 55 এর গড়)।
- স্থির প্রতিক্রিয়াগুলির covariance এবং বৈকল্পিক পৃথক।
- প্রায় অর্ধেক সময়, এটি জানে যে এমএ সঠিক। এম 0 থেকে এমএ তুলনা করার জন্য মিডিয়ান পি মানটি 0.0442। একটি অর্থবহ সম্পর্ক এবং 180 টি সুষম পর্যবেক্ষণের উপস্থিতি সত্ত্বেও সঠিক মডেলটি প্রায় অর্ধেক সময় বেছে নেওয়া হবে।
- পূর্বাভাসিত মান দুটি মডেলের অধীনে পৃথক হলেও খুব সামান্য। পূর্বাভাসের মধ্যে গড় পার্থক্য 0, এসডি সহ 2.7। পূর্বাভাসিত মানগুলির এসডি হ'ল 60.9
সুতরাং কেন এই ঘটবে? @ গুং অনুমান করেছেন, যুক্তিসঙ্গতভাবে, যে কোনও পারস্পরিক সম্পর্কের সম্ভাবনা অন্তর্ভুক্ত করতে ব্যর্থতা এলোমেলো প্রভাবগুলিকে সংযুক্ত হতে বাধ্য করে। সম্ভবত এটি করা উচিত; তবে এই বাস্তবায়নে, এলোমেলো প্রভাবগুলিকে পারস্পরিক সম্পর্কযুক্ত করার অনুমতি দেওয়া হয়, যার অর্থ হ'ল মডেল নির্বিশেষে ডেটাগুলি পরামিতিগুলি সঠিক দিকে টানতে সক্ষম হয়। ভুল মডেলের দুষ্টতা সম্ভাবনাটি দেখায়, যে কারণে আপনি (কখনও কখনও) সেই স্তরে দুটি মডেলকে আলাদা করতে পারেন। মিক্সড এফেক্টস মডেলটি মূলত প্রতিটি বিষয়ে রৈখিক প্রতিক্রিয়াগুলির সাথে মানানসই, মডেল তাদের কী হওয়া উচিত বলে মনে করে তা দ্বারা প্রভাবিত। ভুল মডেল আপনাকে সঠিক মডেলের অধীনে পাওয়ার চেয়ে কম প্রশংসনীয় মানের ফিট করতে বাধ্য করে। কিন্তু প্যারামিটারগুলি, দিনের শেষে, বাস্তব ডেটা থেকে ফিট দ্বারা পরিচালিত হয়।
এখানে আমার কিছুটা ক্লঙ্কি কোড। ধারণা ছিল ঘুম অধ্যয়নের ডেটা মাপসই করা এবং তারপরে একই পরামিতিগুলির সাথে একটি সিমুলেটেড ডেটা সেট তৈরি করা, তবে এলোমেলো প্রভাবগুলির জন্য আরও বৃহত্তর সম্পর্ক corre সেই ডেটা সেটটি সিমুলেট.লমার () কে 1000 স্যাম্পল সিমুলেট করার জন্য খাওয়ানো হয়েছিল, যার প্রতিটিই উভয় উপায়েই ফিট ছিল। একবার আমি লাগানো জিনিসগুলি যুক্ত করার পরে, টি-টেস্টগুলি বা যেকোন কিছু ব্যবহার করে আমি ফিটগুলির বিভিন্ন বৈশিষ্ট্যগুলি খুঁজে বের করতে এবং তাদের সাথে তুলনা করতে পারি।
# Fit a model to the sleep study data, allowing non-zero correlation
fm01 <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=sleepstudy, REML=FALSE)
# Now use this to build a similar data set with a correlation = 0.9
# Here is the covariance function for the random effects
# The variances come from the sleep study. The covariance is chosen to give a larger correlation
sigma.Subjects <- matrix(c(565.5,122,122,32.68),2,2)
# Simulate 18 pairs of random effects
ranef.sim <- mvrnorm(18,mu=c(0,0),Sigma=sigma.Subjects)
# Pull out the pattern of days and subjects.
XXM <- model.frame(fm01)
n <- nrow(XXM) # Sample size
# Add an intercept to the model matrix.
XX.f <- cbind(rep(1,n),XXM[,2])
# Calculate the fixed effects, using the parameters from the sleep study.
yhat <- XX.f %*% fixef(fm01 )
# Simulate a random intercept for each subject
intercept.r <- rep(ranef.sim[,1], each=10)
# Now build the random slopes
slope.r <- XXM[,2]*rep(ranef.sim[,2],each=10)
# Add the slopes to the random intercepts and fixed effects
yhat2 <- yhat+intercept.r+slope.r
# And finally, add some noise, using the variance from the sleep study
y <- yhat2 + rnorm(n,mean=0,sd=sigma(fm01))
# Here is new "sleep study" data, with a stronger correlation.
new.data <- data.frame(Reaction=y,Days=XXM$Days,Subject=XXM$Subject)
# Fit the new data with its correct model
fm.sim <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=new.data, REML=FALSE)
# Have a look at it
xyplot(Reaction ~ Days | Subject, data=new.data, layout=c(6,3), type=c("p","r"))
# Now simulate 1000 new data sets like new.data and fit each one
# using the right model and zero correlation model.
# For each simulation, output a list containing the fit from each and
# the ANOVA comparing them.
n.sim <- 1000
sim.data <- vector(mode="list",)
tempReaction <- simulate(fm.sim, nsim=n.sim)
tempdata <- model.frame(fm.sim)
for (i in 1:n.sim){
tempdata$Reaction <- tempReaction[,i]
output0 <- lmer(Reaction ~ 1 + Days +(1|Subject)+(0+Days|Subject), data = tempdata, REML=FALSE)
output1 <- lmer(Reaction ~ 1 + Days +(Days|Subject), data=tempdata, REML=FALSE)
temp <- anova(output0,output1)
pval <- temp$`Pr(>Chisq)`[2]
sim.data[[i]] <- list(model0=output0,modelA=output1, pvalue=pval)
}