R包`bfast`错误:缺少需要TRUE / FALSE的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R包`bfast`错误:缺少需要TRUE / FALSE的值相关的知识,希望对你有一定的参考价值。

我使用R包bfast来检测时间序列中的任何变化点,并遇到以下错误。有什么建议吗?非常感谢。

library(bfast)
Mydata = Nile
bf1 <- bfast01(data = Mydata)

if(is.nan(p0)|| p0 <a2 || p0>(1 - a2)){:缺失值需要TRUE / FALSE时出错

答案

似乎bfast01试图从其他函数参数猜测模型。我对bfast不太熟悉,但这似乎导致了Nile数据的错误。

如果我们明确指定模型,

fit <- bfast01(Nile, formula = response ~ trend);

没有错误,bfast01在索引28处获得了一个变化点。

fit$breakpoints;
#[1] 28

该结果与使用changepoint的类似变化点分析的结果一致:

changepoint::cpt.mean(Nile, class = FALSE);
#    cpt conf.value
#     28          1

请注意,对于bfast变化点分析,仅涉及trend分量的模型似乎就足够了,因为季节性/自回归效应发生在较小的范围内。您需要根据实际数据检查模型的有效性。

以上是关于R包`bfast`错误:缺少需要TRUE / FALSE的值的主要内容,如果未能解决你的问题,请参考以下文章

R中的时间序列突破/变化/干扰检测:结构,变化点,突破检测,bfast等

R3.4.0安装包时报错“需要TRUE/FALSE值的地方不可以用缺少值”,需升级到R3.5.0

pls R 的交叉验证中如何计算 R2 和 RMSE

使用 Xcode 7 提交应用程序:错误 ITMS-90533 缺少架构。扩展包需要“arm64”的 UIRequiredDeviceCapabilities 值

错误:缺少依赖项:包 ambari-server-1.7.0-169.noarch 需要 python >= 2.6

Js evel 解析Json 出现错误