对于R中strucchange断点时间序列模型型号比较

问题描述 投票:0回答:1

我想测试一个时间序列是否包含结构变化与否。

使用这种模拟的示例创建后30条80的意见有两个休息一个系列。

set.seed(42)
sim_data = data.frame(outcome = c(rnorm(30, 10, 1), rnorm(50, 20, 2), rnorm(20, 45, 1)))
sim_ts = ts(data = sim_data, start = c(2010, 1), frequency = 12)
plot(sim_ts)

我用的是strucchange R package确定的破发点并模型这些数量(如果有的话):

library("strucchange")
break_points = breakpoints(sim_ts ~ 1) #2 breakpoints at 30 and 80
break_factor = breakfactor(break_points, breaks = 2)
break_model = lm(sim_ts ~ break_factor - 1)

...并把与原时间序列的前2个结构变化点的拟合模型:

lines(fitted(break_points, breaks = 2), col = 4)

我很感兴趣的是:如何测试与结构变化的模型是否符合比简单的线性模型更好?

simple_lm = lm(sim_ts ~ time(sim_ts))
abline(simple_lm, col='red') #to add the linear line to the plot

enter image description here

是模型的比较只是:anova(simple_lm, break_model)

而且也不会,我需要平稳第一个最初的测试?或者是这个由模型比较包容?

r time-series model-comparison
1个回答
1
投票

在预测文学的“正常”的方式来评估一个不错的选择是使用损失函数(MSE)的。因为你没有预测也许最简单的方法是只比较R 2。 (如果你所关心的是一个不错的选择)

方差分析方法需要qazxsw POI的假设,所以我不知道如果有可能的陷阱。尽管它似乎在这里工作。

© www.soinside.com 2019 - 2024. All rights reserved.