মিশ্রিত প্রভাব মডেলগুলিতে lme4 ব্যবহার করে ইন্টারঅ্যাকশন শব্দটির জন্য পি মান


10

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

সাহায্যের জন্য কেবল কান্নাকাটি করার পরিবর্তে, আমি ভেবেছিলাম সমস্যাটি ব্যাখ্যা করার জন্য আমার যথাসাধ্য চেষ্টা করা উচিত, এবং তারপরে আপনার সম্মিলিত সংশোধন প্রার্থনা করব। আরও কয়েকটি সহায়ক হলেন:

  • লেখার সময়, আমি এই প্রশ্নটি পেয়েছি , এটি দেখিয়েছি যে nlmeইন্টারঅ্যাকশন শর্তাদির জন্য আরও সরাসরি পি মান দেয়, তবে আমি মনে করি এটি এখনও সম্পর্কের সাথে জিজ্ঞাসা করার জন্য বৈধ lme4
  • Livius'এই প্রশ্নের উত্তরে প্রচুর অতিরিক্ত পড়ার লিঙ্ক সরবরাহ করা হয়েছে, যা আমি পরের কয়েক দিনের মধ্যে পাওয়ার চেষ্টা করব, সুতরাং যে কোনও অগ্রগতি নিয়ে আমি মন্তব্য করব।

আমার ডেটাতে, আমার একটি নির্ভরশীল পরিবর্তনশীল dv, একটি conditionহেরফের (0 = নিয়ন্ত্রণ, 1 = পরীক্ষামূলক শর্ত, যার ফলস্বরূপ উচ্চতর হওয়া উচিত dv) এবং লেবেলযুক্ত একটি পূর্বশর্ত appropriate: এর 1জন্য কোডযুক্ত পরীক্ষাগুলির প্রভাবটি প্রদর্শিত হবে, তবে ট্রায়ালগুলি কোডিং 0হতে পারে না, কারণ একটি গুরুত্বপূর্ণ বিষয় অনুপস্থিত।

আমি প্রতিটি বিষয়ের মধ্যে দুটি সম্পর্কিত এন্ড্রসেপ্টসও অন্তর্ভুক্ত করেছি, এর জন্য subjectএবং এর জন্য target, dvপ্রতিটি বিষয়ের মধ্যে পারস্পরিক সম্পর্কযুক্ত মানগুলি প্রতিফলিত করে এবং 14 টি সমস্যার সমাধান করা প্রতিটিটির মধ্যে (প্রতিটি অংশগ্রহণকারী একটি নিয়ন্ত্রণ এবং প্রতিটি সমস্যার পরীক্ষামূলক সংস্করণ উভয়ই সমাধান করেছেন)।

library(lme4)
data = read.csv("data.csv")

null_model        = lmer(dv ~ (1 | subject) + (1 | target), data = data)
mainfx_model      = lmer(dv ~ condition + appropriate + (1 | subject) + (1 | target),
                         data = data)
interaction_model = lmer(dv ~ condition + appropriate + condition*appropriate +
                              (1 | subject) + (1 | target), data = data)
summary(interaction_model)

আউটপুট:

## Linear mixed model fit by REML ['lmerMod']
## ...excluded for brevity....
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  subject  (Intercept) 0.006594 0.0812  
##  target   (Intercept) 0.000557 0.0236  
##  Residual             0.210172 0.4584  
## Number of obs: 690, groups: subject, 38; target, 14
## 
## Fixed effects:
##                                Estimate Std. Error t value
## (Intercept)                    0.2518     0.0501    5.03
## conditioncontrol               0.0579     0.0588    0.98
## appropriate                   -0.0358     0.0595   -0.60
## conditioncontrol:appropriate  -0.1553     0.0740   -2.10
## 
## Correlation of Fixed Effects:
## ...excluded for brevity.

আনোভা তারপরে interaction_modelতুলনামূলকভাবে আরও ভাল ফিট হতে দেখায় mainfx_model, সেখান থেকে আমি এই সিদ্ধান্তে পৌঁছেছি যে একটি উল্লেখযোগ্য ইন্টারঅ্যাকশন উপস্থিত রয়েছে (পি = .035)।

anova(mainfx_model, interaction_model)

আউটপুট:

## ...excluded for brevity....
##                   Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)  
## mainfx_model       6 913 940   -450      901                          
## interaction_model  7 910 942   -448      896  4.44      1      0.035 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

সেখান থেকে, আমি সেই ডেটার একটি উপসেট বিচ্ছিন্ন করি যার জন্য appropriateপ্রয়োজনীয়তা পূরণ করা হয় (অর্থাত্‍ appropriate = 1), এবং এটির জন্য একটি শূন্য মডেল মাপসই করা হয়, এবং একটি মডেল conditionযেমন একটি ফলস্বরূপ, পুনরায় আনোভা ব্যবহার করে দুটি মডেলের তুলনা করে, এবং দেখুন, এটি সন্ধান করুন conditionএকটি গুরুত্বপূর্ণ ভবিষ্যদ্বাণী।

good_data = data[data$appropriate == 1, ]
good_null_model   = lmer(dv ~ (1 | subject) + (1 | target), data = good_data)
good_mainfx_model = lmer(dv ~ condition + (1 | subject) + (1 | target), data = good_data)

anova(good_null_model, good_mainfx_model)

আউটপুট:

## Data: good_data
## models:
## good_null_model: dv ~ (1 | subject) + (1 | target)
## good_mainfx_model: dv ~ condition + (1 | subject) + (1 | target)
##                   Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)  
## good_null_model    4 491 507   -241      483                          
## good_mainfx_model  5 487 507   -238      477  5.55      1      0.018 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

পি- ভ্যালুতে আরও তথ্যের জন্য এই প্রশ্নটি এতে চেক করুন lme4: stats.stackexchange.com/questions/118416/…
টিম

লামার টেস্ট :: আনোভা () ব্যবহার করে আপনাকে প্রতিটি শব্দটির জন্য পি-মান সহ অ্যানোভা সারণী দেবে। এটি আপনাকে সামগ্রিক মডেলের তুলনা না করে সরাসরি ইন্টারঅ্যাকশন পরীক্ষা করার অনুমতি দেবে। @ টিমের সাথে লিঙ্কিত প্রশ্নের উত্তরটি দেখুন: stats.stackexchange.com/a/118436/35304
সাওয়ের

উত্তর:


3

আমি এখানে বলতে খুব বেশি দেখতে পাচ্ছি না। আমি মনে করি আপনি একটি ভাল কাজ করেছেন।

জটিল মিশ্র প্রভাবগুলির মডেলগুলির জন্য লোকেরা প্রভাবগুলি পরীক্ষা করতে এবং পি-মান পেতে আলোচিত হয়েছে ways এখানে একটি ভাল ওভারভিউ আছে । গণনাগতভাবে নিবিড় পদ্ধতিগুলি (বুটস্ট্র্যাপিং বা বায়সিয়ান পদ্ধতি) ব্যবহার করা সবচেয়ে ভাল তবে এটি বেশিরভাগ মানুষের পক্ষে আরও উন্নত। দ্বিতীয় সেরা (এবং সেরা সুবিধাজনক) পদ্ধতিটি হ'ল সম্ভাবনা অনুপাতের পরীক্ষাটি ব্যবহার করা। এটিই anova()(প্রযুক্তিগতভাবে ? Anova.merMod () ) করছে। এটি গুরুত্বপূর্ণ শুধুমাত্র মডেলের একটি সম্ভাবনা অনুপাত পরীক্ষা করে পূর্ণ সঙ্গে হইয়া ছিল ব্যবহার করতে সর্বোচ্চ সম্ভাবনা বদলে সীমাবদ্ধ সর্বাধিক সম্ভাবনা(REML)। অন্যদিকে, আপনার চূড়ান্ত মডেল এবং ব্যাখ্যার জন্য, আপনি আরএএমএল ব্যবহার করতে চান। এটি অনেক লোকের জন্য বিভ্রান্তিকর। আপনার আউটপুটে, আমরা দেখতে পেলাম যে আপনি আপনার মডেলগুলিকে আরএমএল দিয়ে ফিট করেন (এটি কারণ বিকল্পটি TRUEডিফল্ট হিসাবে সেট করা থাকে lmer()That এর অর্থ হ'ল আপনার পরীক্ষাটি অবৈধ, যদিও এটি একটি সাধারণ ভুল, anova.merMod()এতে একটি refitযুক্তি রয়েছে যা দ্বারা ডিফল্ট সেট করা আছে TRUE, এবং আপনি এটি পরিবর্তন করেন নি So সুতরাং প্যাকেজ বিকাশকারীদের দূরদর্শন আপনাকে সেখানে সংরক্ষণ করেছে।

ইন্টারঅ্যাকশন আনপ্যাক করার জন্য আপনার কৌশল সম্পর্কে, আপনি যা করেছেন তা ঠিক আছে। কেবল মনে রাখবেন যে ইন্টারঅ্যাকশনটি তার পরীক্ষার জন্য সমস্ত ডেটা ব্যবহার করে। একটি গুরুত্বপূর্ণ ইন্টারঅ্যাকশন করা সম্ভব তবে স্ট্রাইটেড পরীক্ষাগুলির দুটিওই তাৎপর্যপূর্ণ নয়, যা কিছু লোককে বিভ্রান্ত করে। (যদিও আপনার সাথে এটি ঘটেছে বলে মনে হয় না))


0

আমি একটি ব্রতী নিজেকে, এবং Zuur এট .. আমি ব্যবহার থেকে উপদেশ অনুসরণ lmeথেকে nlmeপ্যাকেজের পরিবর্তে lme4যখন আমি একটি অন্যথায় রৈখিক মডেলের একটি হায়ারারকিকাল ত্রুটি গঠন যোগ করতে হবে। আমার প্রতিক্রিয়া বন্ধ হতে পারে।

দুটি মন্তব্য:

(1) আমি নিশ্চিত না যে কেবলমাত্র conditionযখন সাবসেটটিতে পরীক্ষা করা বোধগম্য হয় appropriate==1। আপনি যদি প্রধান প্রভাবগুলির জন্য পি-মানগুলি পেতে চান তবে আপনি Anova'গাড়ী' প্যাকেজ থেকে ব্যবহার করতে পারেন :

require(car)
Anova(M,type="III")# type III Sum of Squares. M was fitted using method=REML

আপনি যদি ইন্টারঅ্যাকশনটি সমাধান করতে চান, আপনি সরাসরি জুড়ি তুলনা (?) চালাতে পারেন বা আপনি যা করেছেন তা উভয় সাবসেটে (যেমন সাবসেটের সাথেও রয়েছে appropriate==0) করতে পারেন।

(২) আপনি প্রথমে আপনার ত্রুটি কাঠামোটি বেছে নিতে বেছে বেছে বেছে বেছে বেছে বেছে বেছে বেছে বেছে বেছে বেছে নিতে পারেন (1 | subject) + (1 | target)the আপনি যা লিখেছেন, সেগুলি থেকে আমি এটি সংগ্রহ করি conditionএটি একটি বিষয় ফ্যাক্টরের মধ্যে থাকে, তবে appropriateহয় হয় মধ্যবর্তী বিষয় বা একটি লক্ষ্য-লক্ষ্য ফ্যাক্টর। আপনি সাবজেক্টের মধ্যে এবং / অথবা-টার্গেট ফ্যাক্টরের জন্য opালু যুক্ত করতে চাইতে পারেন, উদাহরণস্বরূপ: dv ~ condition + appropriate + (1+condition | subject) + (1 | target)অভ্যন্তরীণ-বিষয়টির জন্য একটি এলোমেলো slাল যুক্ত করে condition। বিষয়গুলির / টার্গেটের কারণগুলির মধ্যে কোনও opালু প্রয়োজন নেই।

চিয়ার্স


ধন্যবাদ। Anovaশুধু -র-সাবজেক্টের ভান করবেন না এবং -টারেটেজ পারস্পরিক সম্পর্কগুলি যদিও নেই? আমি বিশ্লেষণটি কেবলমাত্র ডেটা দিয়ে পুনরায় বলার কারণ যেখানে appropriate==1এই যে ব্যবহার করা বেশ কয়েকটি উপকরণকে পরীক্ষার পরে সমস্যাযুক্ত হিসাবে দেখানো হয়েছিল, সুতরাং 'অনুপযুক্ত'। পরিশেষে, আমি সাধারণ কারণে এলোমেলো usedালু ব্যবহার করি নি যে মডেলগুলি তাদের ছাড়া আরও ভাল ফিট করে।
ইয়ন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.