আপনি lme4 প্যাকেজটির কার্যকারিতা অনুমান করা আত্মবিশ্বাসের অন্তরগুলির সাহায্যে মডেল পরামিতিগুলির তাত্পর্য পরীক্ষা করতে পারেন confint.merMod
।
বুটস্ট্র্যাপিং (উদাহরণস্বরূপ বুটস্ট্র্যাপ থেকে আত্মবিশ্বাসের অন্তর দেখুন )
> confint(m, method="boot", nsim=500, oldNames= FALSE)
Computing bootstrap confidence intervals ...
2.5 % 97.5 %
sd_(Intercept)|participant_id 0.32764600 0.64763277
cor_conditionexperimental.(Intercept)|participant_id -1.00000000 1.00000000
sd_conditionexperimental|participant_id 0.02249989 0.46871800
sigma 0.97933979 1.08314696
(Intercept) -0.29669088 0.06169473
conditionexperimental 0.26539992 0.60940435
সম্ভাবনা প্রোফাইল (উদাহরণস্বরূপ দেখুন প্রোফাইল সম্ভাবনা এবং আত্মবিশ্বাসের অন্তরগুলির মধ্যে সম্পর্ক কী? )
> confint(m, method="profile", oldNames= FALSE)
Computing profile confidence intervals ...
2.5 % 97.5 %
sd_(Intercept)|participant_id 0.3490878 0.66714551
cor_conditionexperimental.(Intercept)|participant_id -1.0000000 1.00000000
sd_conditionexperimental|participant_id 0.0000000 0.49076950
sigma 0.9759407 1.08217870
(Intercept) -0.2999380 0.07194055
conditionexperimental 0.2707319 0.60727448
একটি পদ্ধতি আছে 'Wald'
তবে এটি কেবল স্থির প্রভাবের জন্য প্রয়োগ করা হয়।
প্যাকেজে lmerTest
নাম প্রকাশিত এক ধরণের আনোভা (সম্ভাবনা অনুপাত) প্রকাশের এক ধরণের উপস্থিতিও রয়েছে ranova
। তবে আমি এটিকে বোঝার মতো মনে করি না। লগলাইকেন্সিতে পার্থক্যগুলির বিতরণ, যখন নাল অনুমান (এলোমেলো প্রভাবের জন্য শূন্য প্রকরণ) সত্য হয় তা চি-বর্গ বিতরণ করা হয় না (সম্ভবত যখন অংশগ্রহণকারী এবং পরীক্ষার সংখ্যা বেশি থাকে সম্ভাবনা অনুপাতের পরীক্ষাটি বোঝা যায়)।
নির্দিষ্ট গ্রুপে বৈকল্পিকতা
নির্দিষ্ট গ্রুপগুলিতে পরিবর্তনের জন্য ফলাফলগুলি পুনর্নির্মাণ করতে পারেন me
# different model with alternative parameterization (and also correlation taken out)
fml1 <- "~ condition + (0 + control + experimental || participant_id) "
যেখানে আমরা ডেটা-ফ্রেমে দুটি কলাম যুক্ত করেছি (এটি কেবল তখনই প্রয়োজন যদি আপনি অ-সম্পর্কযুক্ত 'নিয়ন্ত্রণ' এবং 'পরীক্ষামূলক' ফাংশনটি (0 + condition || participant_id)
মূল্যায়ন করতে চান তবে অ-সম্পর্কযুক্ত হিসাবে শর্তে বিভিন্ন কারণের মূল্যায়ন করতে না পারে)
#adding extra columns for control and experimental
d <- cbind(d,as.numeric(d$condition=='control'))
d <- cbind(d,1-as.numeric(d$condition=='control'))
names(d)[c(4,5)] <- c("control","experimental")
এখন lmer
বিভিন্ন গ্রুপের জন্য বৈচিত্র্য দেবে
> m <- lmer(paste("sim_1 ", fml1), data=d)
> m
Linear mixed model fit by REML ['lmerModLmerTest']
Formula: paste("sim_1 ", fml1)
Data: d
REML criterion at convergence: 2408.186
Random effects:
Groups Name Std.Dev.
participant_id control 0.4963
participant_id.1 experimental 0.4554
Residual 1.0268
Number of obs: 800, groups: participant_id, 40
Fixed Effects:
(Intercept) conditionexperimental
-0.114 0.439
এবং আপনি এগুলিতে প্রোফাইল পদ্ধতি প্রয়োগ করতে পারেন। উদাহরণস্বরূপ এখন সীমাবদ্ধতা নিয়ন্ত্রণ এবং বহির্মুখী বৈকল্পিকতার জন্য আত্মবিশ্বাসের অন্তর দেয়।
> confint(m, method="profile", oldNames= FALSE)
Computing profile confidence intervals ...
2.5 % 97.5 %
sd_control|participant_id 0.3490873 0.66714568
sd_experimental|participant_id 0.3106425 0.61975534
sigma 0.9759407 1.08217872
(Intercept) -0.2999382 0.07194076
conditionexperimental 0.1865125 0.69149396
সরলতা
আপনি আরও উন্নত তুলনা পেতে সম্ভাবনা ফাংশনটি ব্যবহার করতে পারেন, তবে রাস্তাটি বরাবর আনুমানিকতা তৈরি করার অনেকগুলি উপায় রয়েছে (যেমন আপনি একটি রক্ষণশীল অ্যানোভা / এলআরটি-পরীক্ষা করতে পারেন, তবে এটি কি আপনি চান?)।
এই মুহুর্তে এটি আমাকে বিস্মিত করে তোলে প্রকৃতপক্ষে বৈকল্পিকগুলির মধ্যে এটির (এত সাধারণ নয়) তুলনা করার বিষয়টি আসলে কী। আমি ভাবছি এটি খুব পরিশীলিত হতে শুরু করে কিনা। কেন পার্থক্য পরিবর্তে ভেরিয়ানস মধ্যে অনুপাত ভেরিয়ানস মধ্যে (যা শাস্ত্রীয় এফ বন্টন সম্পর্কিত)? কেন শুধু আত্মবিশ্বাসের বিরতি রিপোর্ট করবেন না? আমাদের একটি পদক্ষেপ ফিরে নেওয়া উচিত, এবং পরিসংখ্যানগত বিষয় এবং পরিসংখ্যানগত বিবেচনার সাথে প্রকৃতপক্ষে মূল বিষয় হ'ল অতিমাত্রায় এবং আলগা স্পর্শ হতে পারে এমন উন্নত পথগুলিতে যাওয়ার আগে আমাদের যে ডেটা এবং গল্পটি বলার কথা রয়েছে তা স্পষ্ট করা দরকার।
আমি আশ্চর্য হয়েছি যে কেবল আত্মবিশ্বাসের ব্যবস্থাগুলি বর্ণনা করা (যা আসলে অনুমানের পরীক্ষার চেয়ে আসলে আরও অনেক কিছু বলতে পারে, তার চেয়ে বেশি কিছু করা উচিত কিনা। হাইপোথিসিস টেস্টটি হ্যাঁর কোনও উত্তর দেয় না তবে জনসংখ্যার প্রকৃত বিস্তার সম্পর্কে কোনও তথ্য দেয় না enough পর্যাপ্ত তথ্য আপনি দিতে পারেন উল্লেখযোগ্য পার্থক্য হিসাবে প্রতিবেদন করতে যে কোনও সামান্য পার্থক্য তৈরি করুন)। এই বিষয়ে আরও গভীরভাবে যেতে (যে কোনও উদ্দেশ্যেই) প্রয়োজন, আমি বিশ্বাস করি, গাণিতিক যন্ত্রপাতিটিকে যথাযথ সরলীকরণের জন্য গাইড করার জন্য একটি আরও সুনির্দিষ্ট (সংক্ষিপ্তভাবে সংজ্ঞায়িত) গবেষণা প্রশ্ন (এমনকি যখন একটি সঠিক গণনা সম্ভব হয় বা কখন হতে পারে) এটি সিমুলেশন / বুটস্ট্র্যাপিং দ্বারা প্রায় অনুমান করা যায়, তারপরেও কিছু সেটিংসে এটি এখনও কিছু উপযুক্ত ব্যাখ্যার প্রয়োজন হয়)। কোনও (বিশেষত) প্রশ্ন (কন্টিনজেন্সি টেবিলগুলি সম্পর্কে) সমাধান করার জন্য ফিশারের সঠিক পরীক্ষার সাথে তুলনা করুন,
সহজ উদাহরণ
যে সরলতার সম্ভব তা উদাহরণ দেওয়ার জন্য আমি পৃথক গড় প্রতিক্রিয়াগুলির সাথে বৈকল্পিকের তুলনা করে এফ-টেস্টের ভিত্তিতে দুটি গ্রুপের পার্থক্যের মধ্যে একটি সাধারণ মূল্যায়নের সাথে তুলনা (সিমুলেশন দ্বারা) নীচে দেখাই মিশ্র মডেল থেকে প্রাপ্ত বৈকল্পিক।
এফ-পরীক্ষার জন্য আমরা দুটি গ্রুপের ব্যক্তির মানগুলির (অর্থ) পরিবর্তনের তুলনা করি। এই উপায়গুলি শর্ত হিসাবে বিতরণ করা হয়:ঞ
ওয়াই^i , j। এন( μ)ঞ, σ2ঞ+ + σ2ε10)
যদি পরিমাপের ত্রুটিটির বৈকল্পিকতা সকল ব্যক্তি এবং শর্তের জন্য সমান হয় এবং যদি দুটি conditions ( ) এর বৈকল্পিক সমান হয় তবে জন্য অনুপাতটি 1 শর্তে 40 টির জন্য এবং 2 শর্তে 40 টির অর্থের জন্য বৈকল্পিকটি এফ-ডিস্ট্রিবিউশন অনুসারে বিতরণ করা হয় ডিগ্রি এবং ডিনোমিনেটরের জন্য 39 এবং 39 এর ডিগ্রি সহ স্বাধীনতা ডিগ্রি সহ।σ ঞ ঞ = { 1 , 2 }σεσঞঞ = { 1 , 2 }
আপনি এটি নীচের গ্রাফের সিমুলেশনটিতে দেখতে পারেন যেখানে নমুনার উপর ভিত্তি করে এফ-স্কোরের একদিকে অর্থ একটি মডেল থেকে পূর্বাভাসিত রূপগুলি (বা স্কোয়ার ত্রুটির পরিমাণ) এর ভিত্তিতে একটি এফ-স্কোর গণনা করা হয়।
চিত্রটি 000 এবং ব্যবহার করে 10 000 পুনরাবৃত্তির সাথে চিত্রটি মডেল করা হয়েছে ।σ ϵ = 1σj = 1= σj = 2= 0.5σε= 1
আপনি কিছু পার্থক্য আছে দেখতে পারেন। এই পার্থক্যটি এই কারণে হতে পারে যে মিশ্র প্রভাবগুলি লিনিয়ার মডেলটি স্কোয়ারড ত্রুটির পরিমাণটি (এলোমেলো প্রভাবের জন্য) অন্যভাবে অর্জন করছে। এবং এই স্কোয়ার ত্রুটির শর্তগুলি (আর) ভালভাবে সরল চি-স্কোয়ার ডিস্ট্রিবিউশন হিসাবে ভালভাবে প্রকাশিত হয় না, তবে এখনও তারা নিবিড়ভাবে সম্পর্কিত এবং সেগুলি প্রায় অনুমান করা যায়।
নাল-অনুমানটি সত্য হলে (ছোট) পার্থক্যটি বাদ দিয়ে নাল অনুমানটি সত্য না হলে আরও আকর্ষণীয় বিষয়টি ঘটে। বিশেষ করে শর্ত যখন । মানে বিতরণের না শুধুমাত্র ঐ উপর নির্ভরশীল কিন্তু পরিমাপ ত্রুটি । মিশ্র প্রভাবগুলির মডেলের ক্ষেত্রে এই পরবর্তী ত্রুটিটি 'ফিল্টার আউট' হয় এবং এটি প্রত্যাশা করা হয় যে এলোমেলো প্রভাবগুলির মডেল বৈকল্পিকগুলির উপর ভিত্তি করে এফ-স্কোরের উচ্চতর শক্তি রয়েছে।ওয়াই আমি , ঞ σ ঞ σ εσj = 1≠ σj = 2ওয়াই^i , jσঞσε
চিত্রটি 000 , এবং ব্যবহার করে 10 000 পুনরাবৃত্তির সাথে চিত্রটি মডেল করা হয়েছে ।σ জে = 2 = 0.25 σ ϵ = 1σj = 1= 0.5σj = 2= 0.25σε= 1
সুতরাং উপায় উপর ভিত্তি করে মডেল খুব নির্ভুল। তবে এটি কম শক্তিশালী। এটি দেখায় যে সঠিক কৌশলটি আপনি যা চান / প্রয়োজন তার উপর নির্ভর করে।
উপরের উদাহরণে যখন আপনি ডান লেজের সীমানাটি ২.১ এবং ৩.১ এ সেট করেন আপনি সমান বৈচিত্র্যের ক্ষেত্রে জনসংখ্যার প্রায় 1% পান (10 000 মামলার ক্ষেত্রে 103 এবং 104) তবে অসম বৈষম্যের ক্ষেত্রে এই সীমানা পৃথক হয় অনেক (5334 এবং 6716 কেস দেওয়া)
কোড:
set.seed(23432)
# different model with alternative parameterization (and also correlation taken out)
fml1 <- "~ condition + (0 + control + experimental || participant_id) "
fml <- "~ condition + (condition | participant_id)"
n <- 10000
theta_m <- matrix(rep(0,n*2),n)
theta_f <- matrix(rep(0,n*2),n)
# initial data frame later changed into d by adding a sixth sim_1 column
ds <- expand.grid(participant_id=1:40, trial_num=1:10)
ds <- rbind(cbind(ds, condition="control"), cbind(ds, condition="experimental"))
#adding extra columns for control and experimental
ds <- cbind(ds,as.numeric(ds$condition=='control'))
ds <- cbind(ds,1-as.numeric(ds$condition=='control'))
names(ds)[c(4,5)] <- c("control","experimental")
# defining variances for the population of individual means
stdevs <- c(0.5,0.5) # c(control,experimental)
pb <- txtProgressBar(title = "progress bar", min = 0,
max = n, style=3)
for (i in 1:n) {
indv_means <- c(rep(0,40)+rnorm(40,0,stdevs[1]),rep(0.5,40)+rnorm(40,0,stdevs[2]))
fill <- indv_means[d[,1]+d[,5]*40]+rnorm(80*10,0,sqrt(1)) #using a different way to make the data because the simulate is not creating independent data in the two groups
#fill <- suppressMessages(simulate(formula(fml),
# newparams=list(beta=c(0, .5),
# theta=c(.5, 0, 0),
# sigma=1),
# family=gaussian,
# newdata=ds))
d <- cbind(ds, fill)
names(d)[6] <- c("sim_1")
m <- lmer(paste("sim_1 ", fml1), data=d)
m
theta_m[i,] <- m@theta^2
imeans <- aggregate(d[, 6], list(d[,c(1)],d[,c(3)]), mean)
theta_f[i,1] <- var(imeans[c(1:40),3])
theta_f[i,2] <- var(imeans[c(41:80),3])
setTxtProgressBar(pb, i)
}
close(pb)
p1 <- hist(theta_f[,1]/theta_f[,2], breaks = seq(0,6,0.06))
fr <- theta_m[,1]/theta_m[,2]
fr <- fr[which(fr<30)]
p2 <- hist(fr, breaks = seq(0,30,0.06))
plot(-100,-100, xlim=c(0,6), ylim=c(0,800),
xlab="F-score", ylab = "counts [n out of 10 000]")
plot( p1, col=rgb(0,0,1,1/4), xlim=c(0,6), ylim=c(0,800), add=T) # means based F-score
plot( p2, col=rgb(1,0,0,1/4), xlim=c(0,6), ylim=c(0,800), add=T) # model based F-score
fr <- seq(0, 4, 0.01)
lines(fr,df(fr,39,39)*n*0.06,col=1)
legend(2, 800, c("means based F-score","mixed regression based F-score"),
fill=c(rgb(0,0,1,1/4),rgb(1,0,0,1/4)),box.col =NA, bg = NA)
legend(2, 760, c("F(39,39) distribution"),
lty=c(1),box.col = NA,bg = NA)
title(expression(paste(sigma[1]==0.5, " , ", sigma[2]==0.5, " and ", sigma[epsilon]==1)))