作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用具有泊松响应变量的 BSTS 来建模时间序列。但是,我只是收到一条错误消息。这是一个可重现的示例:
library(bsts)
holiday.list <- list(NamedHoliday("MemorialDay"),
NamedHoliday("IndependenceDay"),
NamedHoliday("LaborDay"),
NamedHoliday("Thanksgiving"),
NamedHoliday("Christmas"),
NamedHoliday("NewYearsDay"))
data <- ts(as.integer(EuStockMarkets))
ss <- AddLocalLinearTrend(list(), data)
ss <- AddRegressionHoliday(ss, data, holiday.list=holiday.list, time0=as.Date("1991-01-01"))
ss <- AddSeasonal(ss, data, nseasons=7) # weekly seasonal
bsts.poisson <- bsts(data, state.specification=ss, niter=500, family="poisson")
这会以代码 134 退出并打印以下消息:
Abort trap: 6
当我删除 family="poisson"
参数时,它可以正常工作,但我需要泊松响应,而不是高斯响应。我做错了什么?
编辑:我知道股市数据实际上不应该是泊松过程。这不是我在实际工作中建模的内容。它只是提供可重现示例的方便替代品。
编辑:一些版本信息 - R 版本 3.6.0 (2019-04-26)
,平台:x86_64-apple-darwin13.4.0(64 位)
, 运行环境:macOS Mojave 10.14.6
other attached packages:
[1] bsts_0.9.1 xts_0.11-2 zoo_1.8-6
[4] BoomSpikeSlab_1.1.1 Boom_0.9.1 MASS_7.3-51.4
最佳答案
问题不在于family="poisson"
。该问题是由于 AddRegressionHoliday
的输入变量 time0
引起的。
在没有 time0
的情况下运行以下命令:
library(bsts)
holiday.list <- list(NamedHoliday(holiday.name = "MemorialDay"),
NamedHoliday(holiday.name = "IndependenceDay"),
NamedHoliday(holiday.name = "LaborDay"),
NamedHoliday(holiday.name = "Thanksgiving"),
NamedHoliday(holiday.name = "Christmas"),
NamedHoliday(holiday.name = "NewYearsDay"))
data <- ts(as.integer(EuStockMarkets))
ss <- AddLocalLinearTrend(list(), data)
#ss <- AddRegressionHoliday(ss, data, holiday.list=holiday.list, time0=as.Date("1991-01-01"))
ss <- AddRegressionHoliday(ss, data, holiday.list=holiday.list)
ss <- AddSeasonal(ss, data, nseasons=7) # weekly seasonal
bsts.poisson <- bsts(data, ss, niter=500, family = "poisson")
产生以下输出:
=-=-=-=-= Iteration 0 Sun Sep 22 22:35:51 2019 =-=-=-=-=
=-=-=-=-= Iteration 50 Sun Sep 22 22:35:57 2019 =-=-=-=-=
=-=-=-=-= Iteration 100 Sun Sep 22 22:36:03 2019 =-=-=-=-=
=-=-=-=-= Iteration 150 Sun Sep 22 22:36:10 2019 =-=-=-=-=
=-=-=-=-= Iteration 200 Sun Sep 22 22:36:16 2019 =-=-=-=-=
=-=-=-=-= Iteration 250 Sun Sep 22 22:36:23 2019 =-=-=-=-=
=-=-=-=-= Iteration 300 Sun Sep 22 22:36:29 2019 =-=-=-=-=
=-=-=-=-= Iteration 350 Sun Sep 22 22:36:36 2019 =-=-=-=-=
=-=-=-=-= Iteration 400 Sun Sep 22 22:36:42 2019 =-=-=-=-=
=-=-=-=-= Iteration 450 Sun Sep 22 22:36:49 2019 =-=-=-=-=
但在这种情况下,它将采用 data[1]
作为 time0
,这可能会产生影响,并且可能不依赖于数据。
关于r - 带假期的泊松 BSTS - 中止陷阱 : 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57914289/
我是一名优秀的程序员,十分优秀!