繁体   English   中英

LSTM预测如何合并多个自相关

[英]LSTM prediction how to incorporate multiple autocorrelation

我正在进行一个旨在预测高度自相关时间序列的项目。 LSTM对我而言似乎非常理想。 但是,没有人知道如何将多个大型自相关合并到预测网络中吗? 即,存在非常强的年度相关性和季节性相关性; 如何将这些信息包含到LSTM网络中?

真诚的谢谢你

如果存在自相关,则相关是线性的 (不是非线性的),因为常见的自相关是对线性相关进行测试。 默认情况下,任何LSTM都能够捕获此线性相关性,无论时间序列中有多少线性相关性,LSTM都会捕获它。 问题可能是内存的长度,LSTM的内存在200到500个时间步之间( https://machinelearningmastery.com/handle-long-sequences-long-short-term-memory-recurrent-neural-networks/ ),因此,如果长期线性相关在时间序列中的位置超出此范围,则LSTM将无法捕获,因为它缺少内存(不是物理计算机内存,而是LSTM结构中的内存)

因此,就如Upasana Mittal在评论中所述,只需在keras中构建LSTM模型并对其进行预测,请参见http://www.business-science.io/timeseries-analysis/2018/04/18/keras-lstm-sunspots- time-series-prediction.html


更新的答案,因为注释中没有足够的空间。 http://www.business-science.io/timeseries-analysis/2018/04/18/keras-lstm-sunspots-time-series-prediction.html中使用了滞后时间序列来确定ACF,这是客观的确定ACF是不可能的:

首先,我们需要回顾自相关函数(ACF),它是滞后版本本身中感兴趣的时间序列之间的相关性 统计资料库中的acf()函数以图表形式返回每个滞后的ACF值。 但是,我们希望将ACF值作为数据获取,以便我们可以调查基础数据。 为此,我们将创建一个自定义函数tidy_acf(),以整齐的小标题返回ACF值。

没有使用特别滞后的时间序列作为输入,也没有使用系统的历史记录或过去的系统状态来预测未来的系统状态,这也是任何RNN中的客观要求和必要条件。

因此, http://www.business-science.io/timeseries-analysis/2018/04/18/keras-lstm-sunspots-time-series-prediction.html中的处理方式是客观的。

您可能要说的另一点是有状态模式,但是使用它非常重要,因为只有在有状态模式下,样本才可以混洗,并且可以提高准确性。 无状态神经网络工作在概率分布上,改组概率分布不会改变它( 置换不变性 ), 有状态神经网络包括数据的顺序排序,因此改组会改变结果,在网络上搜索“ 改组多重分形数据 ”:

在正常(或“无状态”)模式下,Keras会对样本进行混洗,并且时间序列与其自身的滞后版本之间的依赖关系将丢失。 但是,在“有状态”模式下运行时,我们通常可以利用时间序列中存在的自相关来获得高精度结果。

根据定义,LSTM使用时间序列和时间序列的滞后版本( timesteps ,...),因此这也是客观的分析。

如果您想更深入地研究该问题,并超越ACF捕获的线性相关性,则应了解非线性动力学系统 (混沌理论,分形,多重分形),因为它涉及非线性系统和非线性相关性,即处于混沌状态的非线性动力学系统的时间序列始终表现出非线性。 Logistic映射在其混沌区域的滞后图显示了抛物线,三次非线性映射的滞后图显示了三次曲线,... RNN仅能完美地建模/近似系统,而滞后图则显示出足够简单结构(圆形,螺旋形,双曲面,三次曲线,二次曲线等),即对于神经网络,不可能近似素数序列,因为素数序列的滞后图被构造为复数(但是忽略顺序时 ,显示了lag = 1的清晰模式)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM