3.7 练习
对于下列时间序列数据,寻找合适的Box-Cox变换使其方差稳定。
usnetelec
usgdp
mcopper
enplanements
为什么Box-Cox变换不适用于
cangas
数据集?对于2.10节练习3的零售数据你会选择哪种Box-Cox变换?
下列的时间序列,绘制数据图表,如果有合适的变换,进行变换并描述变换效果。
dole
,usdeaths
,bricksq
.计算将周期性naïve方法应用于季度美国啤酒产量数据的预测结果的残差,下面的代码会帮到你
<- window(ausbeer, start=1992) beer <- snaive(beer) fc autoplot(fc) <- residuals(fc) res autoplot(res)
检验残差是否是白噪声并且服从正态分布
checkresiduals(fc)
你得到了什么结论?
重复数据集
WWWusage
和bricksq
的练习,在每个数据集中,使用naïve方法还是周期性naïve方法更合适?下列的描述正确还是错误?并解释。
- 良好的预测方法的残差应该服从正态分布
- 模型残差小,预测结果就好
- 模型准确度最好的判断标准是MAPE
- 如果你的模型预测效果不好,你应该让它变得更复杂
- 总是选择在测试集上具有最高精确度的模型
2.10节的练习3 中的零售数据序列,完成以下步骤:
使用下面的代码把数据分为两部分
<- window(myts, end=c(2010,12)) myts.train <- window(myts, start=2011) myts.test
利用下面的代码画图,检验数据是否被恰当地分为两部分
autoplot(myts) + autolayer(myts.train, series="Training") + autolayer(myts.test, series="Test")
在数据
myts.train
上使用snaïve
计算预测值<- snaive(myts.train) fc
利用
myts.test
中的真实值计算模型精确度accuracy(fc,myts.test)
检验残差
checkresiduals(fc)
残差是否看起来不相关并且服从正态分布?
模型精确度对训练集/测试集分割的敏感性有多强
visnights
包含从1998-2015年澳大利亚20个区域每个季度的夜间游客人数(单位:百万)对
visnights[,"QLDMetro"]
数据使用window()
创建3个训练集,分别去掉最后1年、2年、3年的数据,并各自命名为train1、train2、train3,例如train1 <- window(visnights[, "QLDMetro"], end = c(2014, 4))
.使用
snaïve
方法分别为每个训练集计算一年的预测,并命名为fc1
、fc2
、fc3
使用
accuracy()
在三个测试集中比较MAPE,你如何看待测试结果?
使用数据集
dowjones
中的道琼斯指数数据完成下列步骤- 画出序列的时间散点图
- 使用趋势法进行预测并画出结果图像
- 观察预测值是否等于把第一个和最后一个观测点用直线连接起来并延伸后得到的值
- 尝试使用其他的基准方法在该数据集上做预测,那个方法你认为最好?为什么?
使用数据集
ibmclose
中的IBM的每日股票收盘价数据,完成以下步骤:- 绘制一些描述数据的图像
- 将数据分为有300个观测的训练集和69个观测的测试集
- 尝试使用不同的基准预测方法在训练集上进行预测,在测试集上比较结果,哪种方法效果最好?
- 检验你认为最好的方法的残差,它们像白噪声吗?
使用数据集
hsales
中1973年1月-1995年12月美国新独户住宅销量数据,完成以下步骤:
a. 绘制一些描述数据的图像
b. 将`hsales`数据集分割成训练集和数据集,训练集是最近两年的数据
c. 尝试使用不同的基准预测方法在训练集上进行预测,在测试集上比较结果,哪种方法效果最好?
d. 检验你认为最好的方法的残差,它们像白噪声吗?