我使用了 nlme 的 gls 来拟合这个模型:
require(nlme)
set.seed(101)
mp <-data.frame(year=1990:2010)
N <- nrow(mp)
mp <- within(mp,
{
wav <- rnorm(N)*cos(2*pi*year)+rnorm(N)*sin(2*pi*year)+5
wow <- rnorm(N)*wav+rnorm(N)*wav^3
})
m01 <- gls(wow~poly(wav,3), data=mp, correlation = corARMA(p=1))
我想计算任何拟合优度的度量,例如伪 R 平方:可以推荐哪一个?以及如何计算?
谢谢
最佳答案
您需要有某种基线进行比较:
> summary(m01)
Generalized least squares fit by REML
Model: wow ~ poly(wav, 3)
Data: mp
AIC BIC logLik
226.5434 231.5427 -107.2717
m01 <- gls(wow~1, data=mp, correlation = corARMA(p=1))
> summary(m01)
Generalized least squares fit by REML
Model: wow ~ 1
Data: mp
AIC BIC logLik
256.5048 259.492 -125.2524
非线性拟合的问题在于平均值不再是“基线”,而这正是 R 平方测度所假设的。
关于r - 如何从装有来自 R 中 nlme 包的 gls 的模型计算伪 R 平方,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14451182/