【问题标题】:Time Series Prediction | Training the Model时间序列预测 |训练模型
【发布时间】:2020-09-14 21:25:45
【问题描述】:

所以我加载并预处理了我的数据以进行时间序列预测。我已经创建了一个模型,但现在我不确定如何实际训练它。

代码如下:

import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib as plt

# Loading Data
df = pd.read_csv("testdata.csv", header=0, parse_dates=[
                 0], names=['Month', 'People'], index_col=0)

print(df)
print(df.shape)

# Preprocessing
log_df_People = np.log(df.People)
print(log_df_People)
log_df_People_diff = log_df_People - log_df_People.shift()
print(log_df_People_diff)
log_df_People_diff.dropna(inplace=True)

# Creating the Model
model = tf.keras.Sequential()
model.add = tf.keras.layers.LSTM(100, activation="relu", input_shape=(2,))
model.add = tf.keras.layers.Dropout(rate=0.2)
model.add = tf.keras.layers.Dense(1, activation='relu')
model.compile(optimizer='adam', loss='mean_absolute_error',
              metrics=['accuracy'])

# Training the Model?

我做了一些研究,但没有关于如何专门为时间序列预测训练模型的深入教程。

【问题讨论】:

  • 你看过这个教程吗tensorflow.org/tutorials/keras/regression也许它就是你要找的。我会写一个代码示例,但我认为您自己发现解决方案会更好。
  • 你想用当前和上个月的people值来预测下个月的值吗?您的问题中的输入和所需输出不清楚
  • @Meto 我正在尝试做时间序列预测。
  • @HusseinAwala 对不起,我想用下个月的值来预测人的价值。

标签: python tensorflow machine-learning


【解决方案1】:

尚不清楚您的数据框的外观以及您记录它的原因。但在这里,我将向您展示如何使用LSTM 来训练预测模型。 假设以下是您的数据:

df = pd.DataFrame({'People':[10,12,11,13,15,18]})

然后你出于某种原因使用log

log_df_People = np.log(df.People)

然后你像这样换档:

import tensorflow as tf
X = log_df_People.to_numpy()[:-1]
Y = log_df_People.shift(-1).to_numpy()[:-1]

然后你创建你的模型:

model = tf.keras.Sequential()
model.add = tf.keras.layers.LSTM(100, activation="relu", input_shape=(2,))
model.add = tf.keras.layers.Dropout(rate=0.2)
model.add = tf.keras.layers.Dense(1, activation='relu')
model.compile(optimizer='adam', loss='mean_absolute_error',
              metrics=['accuracy'])

最后你训练你的模型几个时期:

model.fit(X,Y,epochs=100)

但通常你应该考虑使用滑动窗口进行预测,但这需要更多的描述。

【讨论】:

  • 解释清楚!正如您还提到使用滑动窗口方法,您是否愿意通过一个基本示例或参考一些有用的编码源来阐明它?谢谢!
  • @Jack_T,你可以阅读我的论文“Anomaly Detection in Univariate Time-series: A Survey on the State-of-the-Art”(arxiv.org/abs/2004.00433)。那里详细解释了滑动窗口的方法。
猜你喜欢
  • 1970-01-01
  • 2022-10-19
  • 1970-01-01
  • 2017-08-19
  • 2018-03-24
  • 2018-04-15
  • 2020-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多