當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R anova.lme 比較擬合對象的可能性


R語言 anova.lme 位於 nlme 包(package)。

說明

當僅存在一個擬合模型對象時,具有分子自由度、分母自由度、F-values 和模型中項的 Wald 測試 P 值的 DataFrame (當 TermsLNULL )、模型項的組合(當 Terms 不是 NULL 時)或模型係數的線性組合(當 L 不是 NULL 時)。否則,當比較多個擬合對象時,將返回一個 DataFrame ,其中包含每個對象的自由度、(受限)對數似然、赤池信息準則(AIC)和貝葉斯信息準則(BIC)。如果 test=TRUE ,隻要兩個連續對象具有不同數量的自由度,則返回的數據幀中將包含具有相關 p 值的似然比統計量。

用法

## S3 method for class 'lme'
anova(object, ..., test, type, adjustSigma, Terms, L, verbose)
## S3 method for class 'anova.lme'
print(x, verbose, ...)

參數

object

繼承自類 "lme" 的對象,表示擬合的線性混合效果模型。

...

其他可選的擬合模型對象繼承自類 "gls""gnls""lm""lme""lmList""nlme""nlsList""nls"

test

一個可選邏輯值,控製是否應使用似然比檢驗來比較 object 表示的擬合模型和 ... 中的對象。默認為 TRUE

type

一個可選字符串,指定模型中的項在 F-tests 中使用的平方和類型。如果 "sequential" ,則使用通過按模型中出現的順序包含項而獲得的連續平方和;否則,如果 "marginal" ,則使用通過一次從模型中刪除一項而獲得的邊際平方和。僅當將單個擬合對象傳遞給函數時才使用此參數。使用參數的部分匹配,因此隻需提供第一個字符。默認為 "sequential"

adjustSigma

可選的邏輯值。如果 TRUE 和用於獲取 object 的估計方法是最大似然,則將殘餘標準誤差乘以 ,將其轉換為 REML-like 估計值。僅當將單個擬合對象傳遞給函數時才使用此參數。默認為 TRUE

Terms

可選的整數或字符向量,指定模型中的哪些項應使用 Wald F-test 聯合測試為零。如果作為字符向量給出,其元素必須對應於術語名稱;否則,如果作為整數向量給出,則其元素必須與模型中包含項的順序相對應。僅當將單個擬合對象傳遞給函數時才使用此參數。默認為 NULL

L

一個可選的數值向量或數組,指定模型中應測試為零的係數的線性組合。如果以數組形式給出,則其行定義要測試的線性組合。如果將名稱分配給向量元素(數組列),則它們必須與係數名稱相對應,並將用於將線性組合映射到係數;否則,如果沒有可用的名稱,則假定向量元素(數組列)的順序與模型中出現的係數相同。僅當將單個擬合對象傳遞給函數時才使用此參數。默認為 NULL

x

從類 "anova.lme" 繼承的對象

verbose

可選的邏輯值。如果 TRUE ,每個擬合模型對象的調用序列將與輸出的其餘部分一起打印,如果 verbose = FALSE 則被省略。默認為 FALSE

繼承自類 "anova.lme" 的 DataFrame 。

注意

對於使用受限最大似然和具有不同固定效應的對象擬合來說,似然比較沒有意義。

例子

fm1 <- lme(distance ~ age, Orthodont, random = ~ age | Subject)
anova(fm1)
fm2 <- update(fm1, random = pdDiag(~age))
anova(fm1, fm2)

## Pinheiro and Bates, pp. 251-254 ------------------------------------------
fm1Orth.gls <- gls(distance ~ Sex * I(age - 11), Orthodont,
		   correlation = corSymm(form = ~ 1 | Subject),
		   weights = varIdent(form = ~ 1 | age))
fm2Orth.gls <- update(fm1Orth.gls,
		      corr = corCompSymm(form = ~ 1 | Subject))
## anova.gls examples:
anova(fm1Orth.gls, fm2Orth.gls)
fm3Orth.gls <- update(fm2Orth.gls, weights = NULL)
anova(fm2Orth.gls, fm3Orth.gls)
fm4Orth.gls <- update(fm3Orth.gls, weights = varIdent(form = ~ 1 | Sex))
anova(fm3Orth.gls, fm4Orth.gls)
# not in book but needed for the following command
fm3Orth.lme <- lme(distance ~ Sex*I(age-11), data = Orthodont,
                   random = ~ I(age-11) | Subject,
                   weights = varIdent(form = ~ 1 | Sex))
# Compare an "lme" object with a "gls" object (test would be non-sensical!)
anova(fm3Orth.lme, fm4Orth.gls, test = FALSE)

## Pinheiro and Bates, pp. 222-225 ------------------------------------------
op <- options(contrasts = c("contr.treatment", "contr.poly"))
fm1BW.lme <- lme(weight ~ Time * Diet, BodyWeight, random = ~ Time)
fm2BW.lme <- update(fm1BW.lme, weights = varPower())
# Test a specific contrast
anova(fm2BW.lme, L = c("Time:Diet2" = 1, "Time:Diet3" = -1))

## Pinheiro and Bates, pp. 352-365 ------------------------------------------
fm1Theo.lis <- nlsList(
     conc ~ SSfol(Dose, Time, lKe, lKa, lCl), data=Theoph)
fm1Theo.lis
fm1Theo.nlme <- nlme(fm1Theo.lis)
fm2Theo.nlme <- update(fm1Theo.nlme, random= pdDiag(lKe+lKa+lCl~1) )
fm3Theo.nlme <- update(fm2Theo.nlme, random= pdDiag(    lKa+lCl~1) )

# Comparing the 3 nlme models
anova(fm1Theo.nlme, fm3Theo.nlme, fm2Theo.nlme)

options(op) # (set back to previous state)

作者

José Pinheiro and Douglas Bates bates@stat.wisc.edu

參考

Pinheiro, J.C., and Bates, D.M. (2000) "Mixed-Effects Models in S and S-PLUS", Springer.

也可以看看

gls , gnls , nlme , lme , AIC , BIC , print.anova.lme , logLik.lme ,

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Compare Likelihoods of Fitted Objects。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。