gpt4 book ai didi

r - 带假期的泊松 BSTS - 中止陷阱 : 6

转载 作者:行者123 更新时间:2023-12-02 09:21:08 24 4
gpt4 key购买 nike

我正在尝试使用具有泊松响应变量的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com