कैसे एक lme4 मिश्रित मॉडल में एक प्रभाव के पी-मूल्य (चेक महत्व) प्राप्त करने के लिए?


56

मैं मिश्रित मॉडल को फिट करने के लिए R में lme4 का उपयोग करता हूं

lmer(value~status+(1|experiment)))

जहां मूल्य निरंतर है, स्थिति और प्रयोग कारक हैं, और मुझे मिलता है

Linear mixed model fit by REML 
Formula: value ~ status + (1 | experiment) 
  AIC   BIC logLik deviance REMLdev
 29.1 46.98 -9.548    5.911    19.1
Random effects:
 Groups     Name        Variance Std.Dev.
 experiment (Intercept) 0.065526 0.25598 
 Residual               0.053029 0.23028 
Number of obs: 264, groups: experiment, 10

Fixed effects:
            Estimate Std. Error t value
(Intercept)  2.78004    0.08448   32.91
statusD      0.20493    0.03389    6.05
statusR      0.88690    0.03583   24.76

Correlation of Fixed Effects:
        (Intr) statsD
statusD -0.204       
statusR -0.193  0.476

मुझे कैसे पता चलेगा कि स्थिति का प्रभाव महत्वपूर्ण है? R केवल -values ​​की रिपोर्ट करता है और -values ​​की नहीं ।tp


1
इस प्रश्न के उत्तर में जाने से, एक व्यक्ति आश्चर्यचकित होता है कि वास्तव में ओपी यहाँ क्या रुचि रखता है: एक अशक्त के खिलाफ गुणांक का परीक्षण करना (वेनिला -टेस्ट एक नियमित रूप से रैखिक प्रतिगमन में एक अशक्त खिलाफ करता है ), या विचरण को कम करने के लिए परीक्षण ( -test हम कई प्रकार के एनोवा से प्राप्त करते हैं)। उन दोनों का उद्देश्य अलग-अलग चीजों से है। मिश्रित ज्ञान-प्रभाव वाले मॉडल के बारे में ज्ञानवर्धक उत्तर यहां मिलता हैएच 0 : β = β अशक्त एफtH0:β=βnullF
Firebug

जवाबों:


61

इस विषय पर GLMM FAQ में बहुत सी जानकारी है । हालाँकि, आपके विशेष मामले में, मैं उपयोग करने का सुझाव दूंगा

library(nlme)
m1 <- lme(value~status,random=~1|experiment,data=mydata)
anova(m1)

क्योंकि आपको किसी भी ऐसे सामान की ज़रूरत नहीं है जो lmerप्रदान करता है (उच्च गति, पार किए गए यादृच्छिक प्रभावों से निपटने, GLMMs ...)। lmeआप बिल्कुल वैसा ही गुणांक और विचरण अनुमान देना चाहिए, लेकिन यह भी आप के लिए df और पी मूल्यों (जो की गणना करेंगे कर एक "शास्त्रीय" डिजाइन में समझ बनाने के इस तरह के रूप में आप दिखाई देते हैं)। आप यादृच्छिक शब्द पर विचार करना चाह सकते हैं ~status|experiment(खंडों में स्थिति प्रभावों की भिन्नता के लिए, या समकक्ष स्थिति-प्रयोग प्रयोग सहित)। ऊपर दिए गए पोस्टर भी सही हैं कि आपके tआंकड़े इतने बड़े हैं कि आपका पी-मूल्य निश्चित रूप से <0.05 होगा, लेकिन मैं कल्पना कर सकता हूं कि आप "वास्तविक" पी-मूल्यों को पसंद करेंगे।


3
मैं इस उत्तर के बारे में नहीं जानता। lmerबस उसी प्रकार के पी-वैल्यू को आसानी से रिपोर्ट कर सकता है, लेकिन वैध कारणों से नहीं। मुझे लगता है कि यह टिप्पणी है कि यहाँ कोई "वास्तविक" पी-मूल्य हैं जो मुझे परेशान करते हैं। आप तर्क दे सकते हैं कि आप एक संभव कटऑफ पा सकते हैं, और यह कि कोई भी उचित कटऑफ पारित किया गया है। लेकिन आप तर्क नहीं दे सकते कि एक वास्तविक पी-मूल्य है।
जॉन

11
एक शास्त्रीय डिजाइन (संतुलित, नेस्टेड, आदि) के लिए मुझे लगता है कि मैं वास्तव में तर्क दे सकता हूं कि एक वास्तविक पी-वाऊ है, अर्थात एक मनाया परिमाण के बीटा का अनुमान प्राप्त करने की संभावना या अधिक अगर शून्य परिकल्पना (बीटा = 0)। झूठे थे ... lme4 इन विभाजक df प्रदान नहीं करता है, मुझे विश्वास है, क्योंकि यह एक lme4 मॉडल संरचना से सामान्य रूप से पता लगाने के लिए कठिन है जब निर्दिष्ट मॉडल एक है जहां एक शास्त्रीय भाजक डीएफ की गणना के लिए कुछ अनुमानी काम करेगा ...
बेन बोल्कर

कोशिश summary(m1)के बजाय (मैं nlme पैकेज के साथ इसका उपयोग करें)
जेना

36

आप पैकेज lestTest का उपयोग कर सकते हैं । आप इसे स्थापित / लोड करते हैं और lmer मॉडल विस्तारित हो जाते हैं। इसलिए उदा

library(lmerTest)
lmm <- lmer(value~status+(1|experiment)))
summary(lmm)
anova(lmm)

आपको पी-मान के साथ परिणाम देगा। यदि पी-वैल्यू सही संकेत हैं, तो थोड़ा विवादित है, लेकिन यदि आप उन्हें करना चाहते हैं, तो उन्हें प्राप्त करने का यही तरीका है।


28

यदि आप पी-वैल्यू को त्याग कर संभाल सकते हैं ( और आपको चाहिए ), तो आप एक संभावना अनुपात की गणना कर सकते हैं जो स्थिति के प्रभाव के लिए साक्ष्य के भार का प्रतिनिधित्व करेगा:

#compute a model where the effect of status is estimated
unrestricted_fit = lmer(
    formula = value ~ (1|experiment) + status
    , REML = F #because we want to compare models on likelihood
)
#next, compute a model where the effect of status is not estimated
restricted_fit = lmer(
    formula = value ~ (1|experiment)
    , REML = F #because we want to compare models on likelihood
)
#compute the AIC-corrected log-base-2 likelihood ratio (a.k.a. "bits" of evidence)
(AIC(restricted_fit)-AIC(unrestricted_fit))*log2(exp(1))

16
ध्यान दें कि संभावना अनुपात असममित हैं, अर्थात अवशिष्ट विचरण के अनुमान में अनिश्चितता के लिए कोई खाता नहीं है ...
बेन बोल्कर

5
मुझे आपकी अंतिम पंक्ति में दिलचस्पी है। परिणाम की व्याख्या क्या है? क्या ऐसे स्रोत हैं जिन पर मैं नज़र डाल सकता हूं?
mguzmann

13

मुद्दा यह है कि इन मॉडलों के लिए पी-वैल्यू की गणना तुच्छ नहीं है, यहां देखें कि क्या lme4पैकेज के लेखकों ने जानबूझकर चुना है ताकि आउटपुट में पी-वैल्यू को शामिल न किया जा सके। आपको इनकी गणना करने की एक विधि मिल सकती है, लेकिन वे जरूरी सही नहीं होंगे।


9

विचार करें कि आप क्या पूछ रहे हैं। यदि आप केवल यह जानना चाहते हैं कि क्या स्थिति के प्रभाव के लिए समग्र पी-मान 0.05 की तरह किसी प्रकार के मनमाने कटऑफ मान से गुजरता है, तो यह आसान है। सबसे पहले, आप समग्र प्रभाव का पता लगाना चाहते हैं। आप इससे प्राप्त कर सकते हैं anova

m <- lmer(...) #just run your lmer command but save the model
anova(m)

अब आपके पास एक एफ वैल्यू है। आप इसे ले सकते हैं और इसे कुछ एफ तालिकाओं में देख सकते हैं । सबसे कम संभव मूल्यवर्ग को चुनें। स्वतंत्रता का दर्जा। कटऑफ 20 के आसपास होने वाली है। आपका एफ इससे बड़ा हो सकता है लेकिन मैं गलत हो सकता हूं। यहां तक ​​कि अगर यह नहीं है, तो अपने पास मौजूद प्रयोगों की संख्या का उपयोग करके यहां एक पारंपरिक एनोवा गणना से स्वतंत्रता की डिग्री की संख्या को देखें। उस मूल्य को आप एक कटऑफ के लिए लगभग 5 से नीचे रखते हैं। अब आप इसे आसानी से अपने अध्ययन में पास कर लेते हैं। आपके मॉडल के लिए 'सही' df इससे कुछ अधिक होगा क्योंकि आप प्रत्येक डेटा बिंदु को एंग्लो मॉडल के रूप में एकत्रित मानों के विपरीत मॉडलिंग कर रहे हैं।

यदि आप वास्तव में एक सटीक पी-मूल्य चाहते हैं तो ऐसी कोई बात नहीं है जब तक कि आप इसके बारे में एक सैद्धांतिक बयान देने के लिए तैयार न हों। यदि आप पिनेहिरो और बेट्स (2001, और शायद इस विषय पर कुछ और किताबें पढ़ते हैं ... इन उत्तरों में अन्य लिंक देखें) और आप एक विशिष्ट डीएफ के लिए तर्क के साथ आते हैं तो आप इसका उपयोग कर सकते हैं। लेकिन आप वास्तव में वैसे भी एक सटीक पी-मूल्य की तलाश नहीं कर रहे हैं। मैं इसका उल्लेख करता हूं क्योंकि आपको इसलिए सटीक p- मान की रिपोर्ट नहीं देनी चाहिए, केवल यह कि आपका कटऑफ पास हो गया है।

आपको वास्तव में माइक लॉरेंस जवाब पर विचार करना चाहिए क्योंकि पी-मानों के लिए पास बिंदु के साथ चिपके रहने का पूरा विचार अंतिम और सबसे महत्वपूर्ण जानकारी आपके डेटा से निकालने के लिए आम तौर पर गुमराह किया जाता है (लेकिन आपके मामले में नहीं हो सकता है क्योंकि हम डॉन ' t वास्तव में जानने के लिए पर्याप्त जानकारी है)। माइक एलआर गणना के एक पालतू संस्करण का उपयोग कर रहा है जो दिलचस्प है, लेकिन इस पर बहुत सारे दस्तावेज ढूंढना मुश्किल हो सकता है। यदि आप AIC का उपयोग करके मॉडल के चयन और व्याख्या को देखते हैं तो आप इसे पसंद कर सकते हैं।


9

संपादित करें: यह विधि अब lme4 के नए संस्करणों में समर्थित नहीं है। Pbx101 द्वारा इस उत्तर में सुझाए गए lmerTest पैकेज का उपयोग करें ।

P-मान प्रदर्शित नहीं किए जाने के लिए lme4 के लेखक द्वारा R सूची पर एक पोस्ट है । वह इसके बजाय MCMC नमूनों का उपयोग करने का सुझाव देता है, जो आप भाषा के पैकेज से pales.fnc का उपयोग करते हैं:

library("lme4")
library("languageR")
model=lmer(...)
pvals.fnc(model)

एक उदाहरण और विवरण के लिए http://www2.hawaii.edu/~kdrager/MixedEffectsModels.pdf देखें ।


3
lme4 अब इसका समर्थन नहीं करता है। इस पोस्ट को अपडेट किया जा सकता है ताकि यह पता लगाया जा सके जैसे मैंने अभी किया है।
टिमोथी। लाला

5

क्या आप यह जानने में रुचि रखते हैं कि क्या संयुक्त प्रभाव का statusमहत्वपूर्ण प्रभाव है value? यदि हां, तो आप पैकेज Anovaमें फ़ंक्शन का उपयोग कर सकते हैं car( anovaआधार में फ़ंक्शन के साथ भ्रमित होने की नहीं R)।

dat <- data.frame(
  experiment = sample(c("A","B","C","D"), 264, replace=TRUE), 
  status = sample(c("D","R","A"), 264, replace=TRUE), 
  value = runif(264)   
)
require(lme4)
(fm <- lmer(value~status+(1|experiment), data=dat))

require(car)
Anova(fm)

पैकेज ?Anovaलोड करने के बाद एक नज़र डालें car


किसी भी विचार कैसे car::Anova()मिशेल पी लिंक की गणना के आसपास चिपचिपा मुद्दों से बचा जाता है?
माइक लॉरेंस

मैं नहीं, लेकिन मेरा अनुमान है कि यह उन्हें अनदेखा करके चिपचिपा मुद्दों से बचा जाता है! मूल पोस्ट को फिर से पढ़ने के बाद, मुझे लगता है कि मुझे सवाल गलत लग सकता है। यदि ओपी निश्चित प्रभाव मापदंडों के लिए सटीक पी-मान चाहता है, तो वह मुसीबत में है। लेकिन अगर ओपी सिर्फ यह जानना चाहता है कि क्या वे महत्वपूर्ण हैं, मुझे लगता है कि टी-मान किसी भी अनिश्चितता से बड़ा है कि सटीक पी-मूल्य की गणना कैसे की जाएगी। (दूसरे शब्दों में, वे महत्वपूर्ण हैं।)
smillig

1
मुझे लगता है कि आँकड़ों के समग्र प्रभाव का पता लगाने के लिए एक एनोवा गणना की ओर पुनर्निर्देशित करना निश्चित रूप से एक अच्छा विचार था, लेकिन मुझे यकीन नहीं है कि पी-वैल्यूज़ का अच्छा होना। नियमित anovaकमांड आपको F का मौका देगा।
जॉन

मुझे लगता है कि यह स्पष्ट से थोड़ा चिपचिपा है। जब आप वैरिएशन को कम करना चाहते हैं तो ANOVA चलाना वैध है, लेकिन सवाल के शब्दों में, मुझे लगता है कि ओपी वैरिएबल के मामूली प्रभाव को स्थापित करना चाहता है, यानी एक अशक्त के खिलाफ गुणांक।
Firebug

0

फ़ंक्शन pvals.fncअब lme4 द्वारा समर्थित नहीं है। पैकेज lestTest पैकेज का उपयोग करते हुए, पी-मान की गणना करने के लिए अन्य विधि का उपयोग करना संभव है, जैसे कि केनवर्ड-रोजर-संघ

model=lmer(value~status+1|experiment)
anova(model, ddf="Kenward-Roger")

0

बस एफएक्स पैकेज को लोड करने से lme4 पैकेज से lmer फ़ंक्शन के आउटपुट में पी-वैल्यू प्रिंट होंगे (आपको एफएक्स का उपयोग करने की आवश्यकता नहीं है; बस इसे लोड करें):

library(lme4)  #for mixed model
library(afex)  #for p-values

यह स्वचालित रूप से निश्चित प्रभावों के लिए lmer (yourmodel) के आउटपुट में एक पी-वैल्यू कॉलम जोड़ देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.