├── README.md ├── fig ├── EMD分解.png ├── LN分解.png ├── Wide-Deep Popularity Prediction.jpg ├── base_model.png ├── result_2019-5-15.png └── result_2019-5-17_seed_1000.png ├── 报告.md └── 报告.pdf /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | - [传统时序建模方法](#传统时序建模方法) 5 | - [1.AR](#1ar) 6 | - [2.MA](#2ma) 7 | - [3.ARMA](#3arma) 8 | - [深度学习方法](#深度学习方法) 9 | - [1.TCNN](#1tcnn) 10 | - [2.RNN](#2rnn) 11 | - [注意事项](#注意事项) 12 | - [1.概念漂移](#1概念漂移) 13 | - [2.序列的自相关性](#2序列的自相关性) 14 | - [3.训练集和测试集的划分](#3训练集和测试集的划分) 15 | - [4.序列分解](#4序列分解) 16 | - [具体实践-流行度预测](#具体实践-流行度预测) 17 | - [1.数据描述](#1数据描述) 18 | - [2.时序数据特点](#2时序数据特点) 19 | - [3.时序数据分解方式](#3时序数据分解方式) 20 | - [4.外部特征](#4外部特征) 21 | - [5.模型初步结构](#5模型初步结构) 22 | - [6.现阶段结果](#6现阶段结果) 23 | - [7.问题](#7问题) 24 | - [8.进阶](#8进阶) 25 | 26 | 27 | 28 | ## 传统时序建模方法 29 | 30 | ### 1.AR 31 | 32 | ### 2.MA 33 | 34 | ### 3.ARMA 35 | 36 | ## 深度学习方法 37 | 38 | ### 1.TCNN 39 | 40 | ### 2.RNN 41 | 42 | ## 注意事项 43 | 44 | ### 1.概念漂移 45 | 46 | > 所谓概念漂移,表示目标变量的统计特性随着时间的推移以不可预见的方式变化的现象,也就是每过一段时间序列的规律是会变化的。所以,在这种情况下,拿全部时间内的数据去训练,就相当于是增加了各种噪声,预测精度是会下降的。所以,一种解决办法是不断的取最新的一阶段内的数据来训练模型做预测。 47 | 48 | ### 2.序列的自相关性 49 | 50 | > 做过时间序列的朋友可能常常会有这样的感受,用了某种算法做出来的测试集的平均绝对误差率或者r2系数都很好,但是把测试集的真实值及预测值画出来对比一下,就会发现t时刻的预测值往往是t-1时刻的真实值,也就是模型倾向于把上一时刻的真实值作为下一时刻的预测值,导致两条曲线存在滞后性,也就是真实值曲线滞后于预测值曲线,就像下图右边所显示的那样。之所以会这样,是因为序列存在自相关性,如一阶自相关指的是当前时刻的值与其自身前一时刻值之间的相关性。因此,如果一个序列存在一阶自相关,模型学到的就是一阶相关性。而消除自相关性的办法就是进行差分运算,也就是我们可以将当前时刻与前一时刻的差值作为我们的回归目标 51 | 52 | ### 3.训练集和测试集的划分 53 | 54 | > 在时间序列任务上,如果还跟其他任务一样随机划分训练集和测试集是不合理的。随机划分的测试集,跟训练集的分布会是很接近的,效果肯定比一刀切的方法更好。因此,一般是选取某个时间节点之前作为训练集,节点之后作为测试集 55 | 56 | ### 4.序列分解 57 | 58 | > 对于无明显周期和非平稳时序数据,直接预测难以达到满意效果,可以利用经验模式分解(empirical mode decomposition,EMD)和长短期记忆(long short-term memory, LSTM)的组合算法应用于时序预测。将时序数据通过EMD算法进行分解,然后将分解后的分量数据分别转化为三维数据样本。对归一化的分量数据和原始数据分别进行预测建模及重构。 59 | 60 | ## 具体实践-流行度预测 61 | 62 | ### 1.数据描述 63 | > 用户观看视频的数据。数据格式为:(时间,用户,视频) 64 | 65 | ### 2.时序数据特点 66 | - 稀疏,很多为0 67 | 1. 插值 68 | 2. embedding(因为观看次数取值全为整数) 69 | - 非平稳 70 | 1. 时间序列分解 71 | 解决方案:**分解-->预测-->重组** 72 | 73 | ### 3.时序数据分解方式 74 | 75 | - LN分解 76 | > 分解成线性项和非线性项。可以理解成ensemble实现。 77 |