R 带加权非线性回归(nls)的AIC
在比较加权和未加权模型与AIC值的偏差时,我遇到了一些差异。 一般示例(来自“nls”): 告诉我加权拟合的偏差明显更大(是一种更差的拟合) 现在有了R 带加权非线性回归(nls)的AIC,r,regression,nls,model-comparison,R,Regression,Nls,Model Comparison,在比较加权和未加权模型与AIC值的偏差时,我遇到了一些差异。 一般示例(来自“nls”): 告诉我加权拟合的偏差明显更大(是一种更差的拟合) 现在有了AIC(或BIC)我就明白了 这告诉我,第二个拟合在数量级上是更好的(AIC更低)。为什么会这样 如果我根据教科书中的残差平方和定义AIC RSS <- function (object) { w <- object$weights r <- residuals(object) if (is.null(w
AIC
(或BIC
)我就明白了
这告诉我,第二个拟合在数量级上是更好的(AIC更低)。为什么会这样
如果我根据教科书中的残差平方和定义AIC
RSS <- function (object)
{
w <- object$weights
r <- residuals(object)
if (is.null(w))
w <- rep(1, length(r))
sum(w * residuals(object)^2)
}
AICrss <- function(object)
{
n <- nobs(object)
k <- length(coef(object))
rss <- RSS(object)
n * log((2 * pi)/n) + n + 2 + n * log(rss) + 2 * k
}
这与基于对数似然性的上述AIC(stats:::AIC.logLik
)的值相同
但是
这更高,完全符合第二个模型的更高偏差
有谁能启发我吗?“nls”模型的标准AIC实施是否不适用于加权拟合
干杯,
Andrej我一直认为AIC通常不适用于
nls
fits。我不明白为什么您认为偏差为0.004789569和0.0164259的两个模型会“显著不同”。偏差函数对nls拟合是否有意义?如果它是有意义的,你不需要有大于3.84的差异(如果自由度更高,可能会更大)才能达到意义吗?如果你缩放你的体重,使它们总和为1,会发生什么?我怀疑R(正确或错误地)将权重视为它们对应于拥有更多数据……啊,感谢各位,当我标准化所有权重时,我得到的统计结果是:AIC.logLik AIC(fm1DNAse)=544,AIC(fm2DNase1)=589,这也支持未加权模型。“nls”文档中是否应注明,您必须使用总计为1的权重?再次感谢!请将评论移至回答!我一直认为AIC通常不适用于nls
fits。我不明白为什么您认为偏差为0.004789569和0.0164259的两个模型会“显著不同”。偏差函数对nls拟合是否有意义?如果它是有意义的,你不需要有大于3.84的差异(如果自由度更高,可能会更大)才能达到意义吗?如果你缩放你的体重,使它们总和为1,会发生什么?我怀疑R(正确或错误地)将权重视为它们对应于拥有更多数据……啊,感谢各位,当我标准化所有权重时,我得到的统计结果是:AIC.logLik AIC(fm1DNAse)=544,AIC(fm2DNase1)=589,这也支持未加权模型。“nls”文档中是否应注明,您必须使用总计为1的权重?再次感谢!请将评论移至回答!
fm2DNase1 <- nls(density ~ SSlogis(log(conc), Asym, xmid, scal),
DNase1, weights = rep(1:8, each = 2))
deviance(fm1DNase1)
[1] 0.004789569
> deviance(fm2DNase1)
[1] 0.0164259
> AIC(fm1DNase1)
[1] -76.41642
> AIC(fm2DNase1)
[1] -372.5437
RSS <- function (object)
{
w <- object$weights
r <- residuals(object)
if (is.null(w))
w <- rep(1, length(r))
sum(w * residuals(object)^2)
}
AICrss <- function(object)
{
n <- nobs(object)
k <- length(coef(object))
rss <- RSS(object)
n * log((2 * pi)/n) + n + 2 + n * log(rss) + 2 * k
}
> AICrss(fm1DNase1)
[1] -76.41642
> AICrss(fm2DNase1)
[1] -56.69772