r - 带有 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"
它可以正常工作,但我想使用对数似然比测试来比较模型,所以我需要坚持使用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, 2L, 3L,
5L, 10L), class = "data.frame")
我的“y”变量是“perc_kcal”,我的“x”是“fai”。
谢谢
PS。如果我使用不同的响应变量(“min_stand”)执行相同的建模过程,则模型无法仅在相同的 p=2 和 q=3 项下收敛。
Error in gls(model = min_stand ~ fai, data = na.omit(df_cum_kam), method = "ML", :
function evaluation limit reached without convergence (9)
解决方案
推荐阅读
- android - NullPointerException 并跳过 110 帧
- reactjs - 如何将特定元素传递给反应
- sql - Oracle to Postgres Conversion
- google-chrome-extension - 使用 Visual Studio 进行调试时如何在 chrome 中查看 SAML 响应
- javascript - WordPress 和插件
- css - 溢出:滚动导致图像被切断
- sockets - Linux 用户空间代码,用于在 Linux 板和运行 contiki udp 发送器示例代码的每个节点之间进行通信
- bash - 带有多个命令的 bash 脚本管道
- javascript - 正则表达式无效转义 Javascript 问题
- r - 如何使用 ggplotly 创建多色分段线?