案例代写:QBUS2820 Assignment 2——CPI时间序列预测
编辑
15
2024-11-02
案例代写:QBUS2820 Assignment 2——CPI时间序列预测
背景与任务说明
目标:构建一个时间序列模型来预测特定领域的消费者价格指数(CPI),并基于给定的季度历史数据进行未来值的预测。本次任务使用了CPI_train.csv
数据集,涵盖1997年3月至2021年12月的季度CPI数据(共100个数据点)。预测结果需提交在CSV文件中,并包括相应的测试误差。
测试误差计算
预测的准确性通过均方误差(MSE)来衡量,公式如下:
[
\text{test error} = \frac{1}{8} \sum_{h=1}^{8} \left(\hat{y}{T+h|1:T} - y{T+h}\right)^2
]
其中,$\hat{y}{T+h|1:T}$表示基于训练数据的第h步预测值,而$y{T+h}$为测试数据的真实值。
提交要求
-
Python代码文件:命名为
SID_implementation.ipynb
,包括完整的数据分析过程,并输出测试误差。 -
预测结果CSV文件:命名为
CPI_forecast.csv
,需包含两列:Quarter
:表示季度CPI
:对应季度的预测CPI值
-
代码运行要求:Python文件中需要固定随机种子,以确保结果可重复性,示例如
np.random.seed(0)
。 -
文件结构:
- 数据处理、可视化、预测模型的代码及解释。
- 代码组织需清晰,包含Markdown解释说明,确保可读性。
分数分配标准
本次作业满分为30分:
- 预测准确度(15分):基于MSE评分并与其他提交结果进行对比。
- Notebook展示和数据分析过程(15分):包括Notebook的清晰度、代码组织和解释、以及模型选择的合理性。
- CSV文件格式(-2分):若未正确提交格式,将扣分。
实施步骤
-
数据读取与预处理:
- 导入
CPI_train.csv
文件,进行缺失值处理与时间序列分析准备。
- 导入
-
探索性数据分析(EDA):
- 使用可视化展示数据趋势,分析季节性、趋势和周期性。
-
模型选择与构建:
- 选择适合的时间序列模型(如ARIMA、SARIMA、Prophet等)。
- 训练模型并调优,确保其对季度数据的预测能力。
-
预测与评估:
- 生成未来8个季度的预测值。
- 计算预测值的MSE,以测试误差作为评估标准。
-
结果导出:
- 将预测结果存入
CPI_forecast.csv
文件。 - 输出测试误差,以供评分使用。
- 将预测结果存入
提交格式
- Jupyter Notebook:文件命名为
SID_implementation.ipynb
,包含代码及详细解释。 - CSV文件:包含未来8个季度的CPI预测值。
- 注意事项:确保代码可运行,并符合Notebook的格式要求。
参考资料
- CPI计算和分析方法:https://www.abs.gov.au/
- Python时间序列分析工具库(如
statsmodels
,prophet
,pandas
联系我们
WeChat:pythonyt001
Email: [email protected]
- 0
-
分享