时间序列型的数据做预测

        

        最近在公司有做一个  快递中转中心<--->另一个快递操作中心  操作量预测的项目,有一些方法和感想总结一下

一、问题背景

1、主要目的是为了预测T+7日内快递某操作中心到其他操作中心的发件量,即中心的操作量

2、T+1日的预测精度高对实际工作帮助较大

二、主要思路

1、做仿真系统,把实际影响的因素都考虑进去,读快递网点实时的收件数据,然后和快递中心的人、车等影响因素相匹配,得到近乎实际的预测数据,这个需要大数据的流处理,比如storm,streaming

2、传统机器学习方式做预测,回归、决策树、时间序列等

3、经验参数型,学习周期变化(周、季节、电商活动周期等)的参数,然后预测

4、深度学习系列,LSTM

三、 实际处理

我和小组内的另一个小伙伴一起做,源数据就是时间序列型的,某中心-->某中心,日期,操作量 这样格式

我主要用回归,决策树,经验参数,最后LSTM水了一下,完全不懂这个

另一个小伙伴主要用时间序列,主要用ARIMA这个模型

经验参数这个效果相对最好,主要思路:

1、观察数据,周之间的规律性较强,一个中心到另一个中心每周二相对周一的日环比大小相当

2、快递公司操作量很受电商活动的影响,电商影响的日期做平均处理,实际上线时单独处理

3、这样先预测一天的结果    某周二预测操作量=sum(之前x周的周二的操作量)/sum(之前x周的周一的操作量)*周一的操作量

4、然后同样求周三到周二变化率,周四到周三的变化率,累乘

5、然后就是具体调参数,用几周的平均值,还是随意给系数,这个可以根据误差率计算一个最优的参数

四、结果比较

经验参数结果更稳定且误差最小,最后上线采用的这个

五、总结

1、底层数据完善可以节省很多清洗数据的时间

2、特征工程很重要,做的时候只是简单的数据整理就跑模型,现在想特征工作认真做一下应该会有不小的提升

3、如果是线上的模型,最好开始做的时候就能在线上部分实现,这样很多想法能更快的尝试

4、机器学习的路还有很长要走,特征工程完全是凭感觉在做,没有一个系统的方法,希望能有机会去大厂工作学习下

最近有看到一篇文章写得蛮全面的,可以参考下:http://www.infoq.com/cn/articles/a-study-on-sales-forecasting-based-on-machine-learning/

### 关于离散数据时间序列预测 对于离散数据时间序列预测,通常面临的主要挑战在于如何处理这些数据的独特性质。离散数据指的是那些取值范围有限且通常是整数的数据。这类数据可能来自计数值、分类变量或其他具有固定间隔的测量。 #### 数据预处理 为了有效建模离散时间序列,在构建任何预测之前,先要对原始数据进行必要的转换和调整。这包括但不限于: - **平滑化**:由于离散数据可能存在较多噪声点,可以考虑采用移动平均法或者其他形式的滤波器来减少波动[^1]。 - **平稳性检验与修正**:许多传统统计方法依赖于时间序列具备一定的稳定性特性。因此,应该测试并尝试去除趋势成分以及季节效应等因素的影响,使得序列达到近似稳定状态[^3]。 #### 建立预测 针对经过适当准备后的离散时间序列,可以选择多种不同的算法来进行分析: - **ARIMA及其变体**:尽管标准版ARIMA更适合连续数据集,但对于某些特定类的离散事件发生频率记录而言仍然适用。不过需要注意的是,当遇到明显偏离正态分布的情况时,则需探索其他替代方案。 - **机器学习/深度学习框架下的回归树集成(如XGBoost)、LSTM神经网络等**:此类高级别工具能够更好地捕捉复杂的模式结构,并允许灵活设定目标函数以适应不同业务需求。特别是基于RNN架构设计而成的方法非常适合处理有序排列的历史观测值作为输入特征向量的情形[^4]。 ```python import pandas as pd from statsmodels.tsa.statespace.sarimax import SARIMAX # 加载离散时间序列数据 data = pd.read_csv('discrete_time_series.csv') model = SARIMAX(data['value'], order=(p,d,q), seasonal_order=(P,D,Q,s)) results = model.fit() forecast = results.get_forecast(steps=steps_ahead) ``` 上述代码片段展示了利用SARIMAX模对未来一段时间内的离散时间序列预测的过程。其中`order`参数定义了非季节部分自回归项(p),差分阶数(d)及时滞长度(q);而`seasonal_order`则用于指定周期性的组成部分[P, D, Q, s]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值