原文:https://otexts.com/fppcn/regression-exercises.html
2014年澳大利亚维多利亚州的每日耗电量包含在 elecdaily
中。前20天的日度耗电量数据可以通过如下方式获得。
daily20 <- head(elecdaily, 20)
写出模型预测值的预测区间。以下R代码将帮助你入门:
autoplot(daily20, facets=TRUE)
daily20 %>%
as.data.frame() %>%
ggplot(aes(x=Temperature, y=Demand)) +
geom_point() +
geom_smooth(method="lm", se=FALSE)
fit <- tslm(Demand ~ Temperature, data=daily20)
checkresiduals(fit)
forecast(fit, newdata=data.frame(Temperature=c(15,35)))
利用 elecdaily
中的所有数据,绘制日度耗电量和温度的关系图。你对你的模型有什么认识?
数据集 mens400
中包含了从1896年到2016年间,奥运会男子400米冠军得主的成绩(秒)。
输入 easter(ausbeer)
并解释你所得到的内容。
弹性系数是被预测变量(\(y\))的百分比变化与预测变量(\(x\))的百分比变化之比。在数学中,弹性系数被定义为 \((dy/dx)\times(x/y)\) 。考虑双对数模型: \[ \log y=\beta_0+\beta_1 \log x + \varepsilon. \] 将 \(y\) 用 \(x\) 表示,并证明 \(\beta_1\) 是弹性系数。
数据集 fancy
包含1987年一月开始,礼物、纪念品和新奇商品的销量。该商店位于澳大利亚昆士兰州海滩度假小镇的码头上。销售量随季节性游客人数而变化。圣诞节期间以及自1988年以来每年三月举办的冲浪节都有大量的游客涌入。并且随着时间的推移,商店扩大了其场地,产品范围和员工数量。
数据集 gasoline
中包含1991年2月2日至2017年1月20日美国成品汽油产品供应的每周数据。单位为“每天百万桶”。仅考虑截止到2004年底的数据。
checkresiduals()
函数检验最终模型的残差。尽管残差未通过相关性测试,但对结果影响不大,不会对预测值和预测区间产生太大影响。(请注意,即使相关性很重要,但此处相关性相对较小。)要使用谐波回归进行预测,需要生成傅立叶项的未来值。 可以通过如下代码完成。
fc <- forecast(fit, newdata=data.frame(fourier(x, K, h)))
其中, fit
是使用 tslm()
的模型拟合值, K
是傅里叶项数, h
是预测步长。
预测2005年预测值并与其真实值比较,你发现了什么?
数据集 huron
中包含了1875–1972年间休伦湖的水位数据。
(适用于第5.7节的高阶读者)
利用矩阵可将模型表现为, \(\bm{y}=\bm{X}\bm{\beta}+\bm{\varepsilon}\) ,其中 \(\bm{e}\) 均值为0,方差为 \(\sigma^2\bm{I}\) ;估计系数为 \(\hat{\bm{\beta}}=(\bm{X}'\bm{X})^{-1}\bm{X}'\bm{y}\) ;预测值为 \(\hat{y}=\bm{x}^*\hat{\bm{\beta}}=\bm{x}^*(\bm{X}'\bm{X})^{-1}\bm{X}'\bm{y}\) ,其中 \(\bm{x}^*\) 为原始向量(和 \(\bm{X}\) 具有相同格式);预测值的方差为 \(var(\hat{y})=\sigma^2 \left[1+\bm{x}^*(\bm{X}'\bm{X})^{-1}(\bm{x}^*)'\right]\) 。
考虑简单的时间趋势模型 \(y_t = \beta_0 + \beta_1t\) ,使用下列表达式: \[ \sum^{T}_{t=1}{t}=\frac{1}{2}T(T+1),\quad \sum^{T}_{t=1}{t^2}=\frac{1}{6}T(T+1)(2T+1) \] 证明下列表达式:
\(\displaystyle\bm{X}'\bm{X}=\frac{1}{6}\left[ \begin{array}{cc} 6T & 3T(T+1) \\ 3T(T+1) & T(T+1)(2T+1) \\ \end{array} \right]\)
\(\displaystyle(\bm{X}'\bm{X})^{-1}=\frac{2}{T(T^2-1)}\left[ \begin{array}{cc} (T+1)(2T+1) & -3(T+1) \\ -3(T+1) & 6 \\ \end{array} \right]\)
\(\displaystyle\hat{\beta}_0=\frac{2}{T(T-1)}\left[(2T+1)\sum^T_{t=1}y_t-3\sum^T_{t=1}ty_t \right]\)
\(\displaystyle\hat{\beta}_1=\frac{6}{T(T^2-1)}\left[2\sum^T_{t=1}ty_t-(T+1)\sum^T_{t=1}y_t \right]\)
\(\displaystyle\text{Var}(\hat{y}_{t})=\hat{\sigma}^2\left[1+\frac{2}{T(T-1)}\left(1-4T-6h+6\frac{(T+h)^2}{T+1}\right)\right]\)