如何解决带有 ARMA 术语的 gls:不适用于一种术语组合
我正在使用 nlme 的 gls 函数来拟合具有各种 ARMA 术语的模型。 我想比较多个不同的模型,看看哪一个 ARMA 术语提供了最好的模型。
我的一般模型如下:
fit <- gls(y ~ x,data = na.omit(data),method = "ML",correlation = corARMA(p = 2,q = 3))
我的 y 和 x 变量是百分比。
对于具有从 p = 1 到 p = 3 和 q = 1 到 q =3 的 ARMA 项组合的每个模型都可以正常工作,但是,当我拟合上面指定的模型 (ARMA(2,3)) 时,我得到以下错误消息。
"Error in `coef<-.corARMA`(`*tmp*`,value = value[parMap[,i]]) : NA/NaN/Inf in foreign function call (arg 1)"
如果我重新运行模型指定 method = "REML"
它工作正常,但我想使用对数似然 raio 测试比较模型,所以我需要坚持使用 method = "ML"
。
知道是什么原因造成的吗?
这是几行数据的dput
输出:
structure(list(date2 = structure(c(12234,12265,12296,12357,12509),class = "Date"),min = c(12,114,480,818,42),fai = c(0.632,0.707,3.397,7.107,2.011),total_time = c(1237L,3337L,4776L,9385L,3665L),min_stand = c(0.00970088924818108,0.0341624213365298,0.100502512562814,0.0871603622802344,0.0114597544338336),total_feed = c(6234L,7120L,5592L,6252L,2020L),perc_feed = c(0.192492781520693,1.60112359550562,8.58369098712446,13.0838131797825,2.07920792079208
),kcal = c(99.688648314,923.280754221,4671.223064892,6851.385488668,408.732018202),kcal_tot = c(26428.225231694,47032.415227701,20824.864136682,44505.409085806,16408.141649702),kcal_perc = c(0.377205232057916,1.96307323311181,22.4309893895724,15.3945006447612,2.49103175074932
),month = c(1L,2L,3L,5L,10L)),row.names = c(1L,10L),class = "data.frame")
我的“y”变量是“perc_kcal”,我的“x”是“fai”。
谢谢
附注。如果我使用不同的响应变量(“min_stand”)执行相同的建模过程,则模型仅使用相同的 p=2 和 q=3 项就无法收敛。
Error in gls(model = min_stand ~ fai,data = na.omit(df_cum_kam),:
function evaluation limit reached without convergence (9)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。