原文链接:https://tecdat/?p=37228

原文出处:拓端数据部落公众号

分析师:Kechen Zhao

本文将通过视频讲解,展示如何用Xgboost、ARIMA 和 Prophet对国际牛肉市场市场份额数据时间序列预测,并结合一个Python# ARIMA、XGBOOST、PROPHET和LSTM预测比特币价格实例的代码数据,为读者提供一套完整的实践数据分析流程。

摘要

国际贸易市场的波动受多种因素影响。本项目旨在通过历史数据识别最具影响力的因素,并利用这些因素预测国际市场的未来走势,特别关注澳洲牛肉在美国市场的份额。面对数据收集和模型选择的挑战,本研究将采用数学建模和分析方法。

任务/目标

本项目的目标是根据客户要求,整合多种数据源,实现对澳洲出口牛肉在美国市场份额未来半年至一年的预测,并进行深入分析。

数据源准备

客户已提供澳洲国内牛肉产业的统计数据和美国牛肉进口市场的部分分析。本研究进一步调查发现,澳洲的人口统计指标、气候条件、自然灾害、货币汇率、美国国内人口统计数据、居民平均收入以及素食主义者比例等因素,可能对澳洲牛肉出口量在美国市场的占比产生影响。政治事件和主要竞争者的特征也被纳入考虑。

特征转换和处理

由于数据多来源于年度报告,需将其转换为月度数据以满足预测需求。具体方法如下:

  • 生产总量数据:年产量除以12得到月平均产量。

  • 有趋势的数据(如人口增长):使用线性回归模型预测月度数据。

  • 图片形式的数据(如天气和自然灾害):手动输入以供模型使用。

  • 政治事件等非量化特征:采用虚拟变量方法,事件发生月份设为1,未发生设为0。

对于数据丢失的处理:

  1. 大量数据丢失:选择删除并寻找替代特征。

  2. 小部分数据丢失:缺失部分记录为0。

模型构建

基于上述特征收集和处理,构建预测模型。以下为部分特征示例,其中Import_ratio作为预测目标。

数据划分与模型构建

数据划分

为确保模型的准确性和泛化能力,我们将数据集分为训练集、测试集和验证集。具体划分如下:

12个月预测

  • 训练集:2008-01-01 至 2018-12-31

  • 测试集:2019-01-01 至 2019-12-31

  • 验证集:2014-01-01 至 2014-12-31 和 2016-01-01 至 2016-12-31

6个月预测

  • 训练集:2008-01-01 至 2019-06-30

  • 测试集:2019-07-01 至 2019-12-31

  • 验证集:2014-04-01 至 2014-09-30、2016-01-01 至 2016-06-30 和 2016-05-01 至 2016-10-31

模型选择

本项目共采用三种模型:Xgboost、ARIMA 和 Prophet。

ARIMA模型概述

ARIMA是一个广泛应用于时间序列预测的模型,它能够在不使用外部回归特征的情况下,仅利用历史数据进行预测。模型由以下三部分组成:

  1. 自回归(Autoregressive):使用变量本身的历史数据对未来进行预测。

  2. 差分(Integrated):将目标变量在某个时间点的数值用当前数值与上一个时间点数值的差所取代。

  3. 滑动平均(Moving Average):回归将以目标变量及其滞后误差的线性组合形式呈现。

基础模型建设

在选定模型后,首先进行基础模型的构建,即不包括任何特征,仅使用市场份额的历史数据进行预测,并记录三个模型的预测精度(RMSE, MAE, MAPE)。