題:
如何在lme4混合模型中獲得效果的p值(檢查顯著性)?
ECII
2012-02-17 01:02:04 UTC
view on stackexchange narkive permalink

我在R中使用lme4來擬合混合模型

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

其中值是連續的,狀態和實驗是因素,而我得到的

 通過REML擬合的線性混合模型公式:值〜狀態+(1 |實驗)AIC BIC logLik偏差REMLdev 29.1 46.98 -9.548 5.911 19.1隨機效應:組名稱方差標準偏差。實驗(攔截)0.065526 0.25598殘差0.053029 0.23028觀察數:264,組:實驗,10固定效果:估計標準。誤差t值(截距)2.78004 0.08448 32.91statusD 0.20493 0.03389 6.05statusR 0.88690 0.03583 24.76固定效果的相關性:(Intr)statsDstatusD -0.204 statusR -0.193 0.476  

我怎麼知道效果地位很重要? R僅報告$ t $值,而不報告$ p $值。

根據提供給該問題的答案,人們想知道OP在這裡真正感興趣的是:針對空值測試係數(香草$ t $-測試針對空值$ H_0:\ beta = \ beta _ {\text {null}} $),或進行方差最小化測試(我們從多種ANOVA中獲得的$ F $檢驗)。那兩個針對不同的事物。儘管不是關於混合效應模型的啟發,但在[此處](http://stats.stackexchange.com/a/28973/60613)中找到了一個有啟發性的答案。
九 答案:
Ben Bolker
2012-02-17 06:06:04 UTC
view on stackexchange narkive permalink

GLMM常見問題解答中有很多有關此主題的信息。但是,在您的特定情況下,我建議使用

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

,因為您不需要 lmer 提供的任何內容(更快,處理交叉隨機效果,GLMM等)。 lme 應該為您提供完全相同的係數和方差估計值,但還會為您計算df和p值(在您這樣的“經典”設計中,這樣做很有意義似乎有)。您可能還需要考慮隨機術語〜status | experiment (允許跨塊的狀態效果變化,或者等效地包括逐個狀態的交互)。上面的海報也很正確,即您的 t 統計數據如此之大,以至於您的p值一定是<0.05,但是我可以想像您會想要“真實的” p值。

我不知道這個答案。 lmer可以很容易地報告相同類型的p值,但出於正當理由而無法報告。我想這是有任何“真實” p值困擾我的評論。您可能會爭辯說可以找到一個可能的臨界值,並且可以通過任何合理的臨界值。但是您不能說存在真正的p值。
對於經典設計(平衡的,嵌套的等),我認為我確實可以辯稱存在真正的p值,即如果假設為零(beta = 0),則有可能獲得估計的貝塔值的估計值或更大的概率。是錯誤的...我相信lme4不提供這些分母df,因為通常很難從lme4模型結構中檢測出來,因為指定的模型是一種可以計算經典分母df的啟發式模型...
嘗試`summary(m1)`(我將其與nlme包一起使用)
pbx101
2015-02-22 14:59:48 UTC
view on stackexchange narkive permalink

您可以使用軟件包 lmerTest。您只需安裝/加載它,lmer模型就會得到擴展。因此,例如

 庫(lmerTest)lmm <- lmer(value〜status +(1 | experiment))summary(lmm)anova(lmm) 

會為您提供p值的結果。如果p值是正確的指示,則有點爭議,但是如果您想擁有它們,這就是獲取它們的方法。

Mike Lawrence
2012-02-17 02:06:23 UTC
view on stackexchange narkive permalink

如果您可以處理放棄的p值(,而且應該),則可以通過以下方式計​​算似然比,該似然比代表狀態影響的證據權重:

 #計算一個估計狀態影響的模型unrestricted_fit = lmer(公式=值〜(1 |實驗)+ status,REML = F#因為我們要比較似然性模型)#next,計算一個模型,其中狀態的影響未估算。restricted_fit= lmer(公式=值〜(1 |實驗),REML = F#因為我們想比較似然模型)#計算AIC校正的log-base-2似然比(aka“ bits證據”)(AIC(restricted_fit)-AIC(unrestricted_fit))* log2(exp(1)) 
請注意,似然比是漸近的,即在剩餘方差的估計中不考慮不確定性...
我對你的最後一行感興趣。對結果的解釋是什麼?有沒有我可以看的資料?
Michelle
2012-02-17 01:47:36 UTC
view on stackexchange narkive permalink

問題在於這些模型的p值的計算並非易事,請參見此處的討論,因此 lme4 包的作者故意選擇不包括輸出中的p值。您可能會找到一種計算這些方法的方法,但是它們不一定正確。

John
2012-08-05 07:37:18 UTC
view on stackexchange narkive permalink

考慮您的要求。如果您只是想知道狀態影響的整體p值是否通過某種任意的截止值,例如0.05,那麼這很容易。首先,您想找出整體效果。您可以從 anova 中獲得。

  m <-lmer(...)#只需運行lmer命令,但保存modelanova(m) 

現在您有了一個 F 值。您可以將其放在一些 F 表中進行查找。只需選擇最低的標稱值即可。自由程度。臨界值大約為20。您的 F 可能會更大,但我可能是錯的。即使不是,也可以使用已有的實驗次數,從常規ANOVA計算中查看自由度的數目。將該值保留在您的範圍內可降低到大約5。現在,您可以輕鬆地通過學習。模型的“真實” df值將比該值高一些,因為您正在建模每個數據點,而不是ANOVA會建模的聚合值。

如果您實際上想要一個確切的p值,則可以除非您願意對此做一個理論上的陳述,否則不要這樣。如果您閱讀了Pinheiro & Bates(2001年,也許還有更多關於該主題的書……請參見這些答案中的其他鏈接),但您卻為特定的df爭論不休,那麼您可以使用它。但是無論如何,您實際上並不是在尋找確切的p值。我之所以這樣說是因為您因此不應報告確切的p值,而僅報告您的臨界值已通過。

您應該真正考慮邁克·勞倫斯(Mike Lawrence)的答案,因為僅僅堅持使用p值的通過點作為從數據中提取的最終和最重要的信息的整個想法通常是錯誤的(但在您的情況下可能不會這樣)我們實際上沒有足夠的信息要知道)。 Mike正在使用一個有趣的LR計算的寵物版本,但是可能很難找到很多有關它的文檔。如果您使用AIC進行模型選擇和解釋,您可能會喜歡。

Jeff
2012-08-05 04:34:37 UTC
view on stackexchange narkive permalink

編輯:較新的lme4版本不再支持此方法。按照pbx101的此答案中的建議使用lmerTest軟件包。

lme4的作者在R列表上有一個 post不顯示p值。他建議改用MCMC樣本,您可以使用languageR包中的pvals.fnc進行操作。

  library(“ lme4”)library(“ languageR”)model = lmer(...) pvals.fnc(model) 

有關示例和詳細信息,請參見 http://www2.hawaii.edu/~kdrager/MixedEffectsModels.pdf

lme4不再支持此功能。可以更新此帖子,以使人們不必像我剛才那樣發現它。
smillig
2012-02-17 02:08:27 UTC
view on stackexchange narkive permalink

您是否想知道 status 的組合影響是否對 value 有顯著影響?如果是這樣,您可以使用 car 包中的 Anova 函數(不要與基本 R anova 函數混淆/code>)。

dat<- data.frame(實驗= sample(c(“ A”,“ B”,“ C”,“ D”),264,replace = TRUE ),狀態= sample(c(“ D”,“ R”,“ A”),264,replace = TRUE),value = runif(264))require(lme4)(fm <-lmer(value〜status +(1 |實驗),data = dat))require(car)Anova(fm) 

加載 car 後查看 Anova code>包。

知道嗎car :: Anova()如何避免Michelle鏈接的p值計算中的粘性問題?
我沒有,但是我的猜測是它通過忽略它們避免了粘性問題!重新閱讀原始帖子後,我覺得我可能誤解了這個問題。如果OP需要固定效果參數的準確p值,則他/她有麻煩。但是,如果OP只是想知道它們是否重要,我認為t值要比任何精確計算p值的不確定性都大。 (換句話說,它們很重要。)
我認為重定向到ANOVA計算以找出統計數據的整體效果絕對是個好主意,但我不確定對p值進行精細化是否很好。常規的“ anova”命令將為您提供F。
我認為這有點明顯。當您想最小化方差時,運行方差分析是有效的,但是從問題措辭來看,我認為OP希望確定變量的邊際效應,即針對空值測試係數。
Stefano Cacciatore
2017-07-09 19:45:03 UTC
view on stackexchange narkive permalink

lme4不再支持功能 pvals.fnc 。 使用lmerTest軟件包,可以使用其他方法來計算p值,例如Kenward-Roger的近似值

  model = lmer(value〜status + 1 | experiment)
方差分析(模型,ddf =“ Kenward-Roger”)
 
Maryam Nasseri
2019-06-14 00:50:51 UTC
view on stackexchange narkive permalink

簡單地加載afex軟件包將在lme4軟件包的lmer函數的輸出中打印p值(您無需使用afex;只需加載它即可):

  library(lme4)#用於混合模型
庫(afex)#用於p值
 

這會自動將l值列添加到lmer(您的模型)的輸出中以獲取固定效果。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...