如何将静态特征与时间序列相结合进行预测

Ali*_*ali 6 python static time-series recurrent-neural-network

我试图找到类似的问题及其答案,但没有成功。这就是为什么我要问一个以前可能被问过的问题:

我正在研究一个输出多个水井的累积产水量的问题。我的特征是时间序列(水流量和泵速作为时间的函数)和静态特征(井的深度、井的纬度和经度、含水层的厚度等)

我的 #1 井输入数据如下所示。

动态数据:

                water rate   pump speed   total produced water
2000-01-01         10            4                 1120
2000-01-02         20            8                 1140
2000-01-03         10            4                 1150
2000-01-04         10            3                 1160
2000-01-05         10            4                 1170
Run Code Online (Sandbox Code Playgroud)

静态数据:

depth of the well_1 = 100
latitude and longitude of the well_1 = x1, y1
thickness of the water bearing zone of well_1 = 3
Run Code Online (Sandbox Code Playgroud)

我的问题是如何构建一个可以同时采用动态和静态特征的 RNN 模型(LSTM、GRU...)?

Zab*_*azi 6

有多种选择,您需要尝试哪一种最适合您的情况。

选项 1:您可以将静态特征视为固定时间数据。因此,您为每个静态特征创建一个时间维度,然后让 LSTM 处理其余部分。

例如,您转换后的数据将如下所示:

                water rate   pump speed   total produced water   depth_wall
2000-01-01         10            4                 1120             100
2000-01-02         20            8                 1140             100
2000-01-03         10            4                 1150             100
2000-01-04         10            3                 1160             100
2000-01-05         10            4                 1170             100
Run Code Online (Sandbox Code Playgroud)

选项 2:设计多头网络。

TIME_SERIES_INPUT ------> LSTM -------\
                                       *---> MERGE / Concatenate ---> [more layers]
STATIC_INPUTS --> [FC layer/ conv] ---/
Run Code Online (Sandbox Code Playgroud)

这是一篇解释组合策略的论文:https://arxiv.org/pdf/1712.08160.pdf

这是另一篇利用选项 2 的论文:https://www.researchgate.net/publication/337159046_Classification_of_ECG_signals_by_dot_Residual_LSTM_Network_with_data_augmentation_for_anomaly_detection

论文2的源代码:https ://github.com/zabir-nabil/dot-res-lstm