【问题标题】:How to feed multiple time series sets into LSTM model for prediction?如何将多个时间序列集输入 LSTM 模型进行预测?
【发布时间】:2019-09-01 05:06:53
【问题描述】:

我正在尝试获取 this 数据集并预测一段时间内的新闻受欢迎程度。

该数据集由 145 列组成(1 是链接到单独文件中实际新闻报道的 ID,2 - 145 表示 144 个 20 分钟的时间片,其中一行中的每个单元格记录相应的流行程度新闻报道)。

我已经将数据集“Facebook_Economy.csv”标准化为 0 到 1 的范围。目前我只能将一个时间序列集输入到我的模型中(训练 ~100 个时间片并测试 ~44 个时间片)。我的目标是对 144 个时间片的几行进行训练并在其他几行上进行测试,例如,获取新闻故事 1-20 的时间序列数据并训练新闻故事 21-30 等。

这就是我目前将数据输入模型的方式:

def run(filename):
    series = read_csv(filename, header=0, index_col=0)

    repeats = 1
    results = DataFrame()
    timesteps = 1

    for i in range(len(series)):
        results['results'] = experiment(repeats, series.iloc[i].squeeze(), timesteps)
        # Where experiment(repeats, series, timesteps)
        print(results.describe())

同样(为了深入了解我的其余代码的外观)我一直在关注 Jason Brownlee 的 this 教程以获得一些指导。

【问题讨论】:

    标签: python-3.x tensorflow machine-learning keras time-series


    【解决方案1】:

    我不确定我是否很好地理解了这个问题,但我想我已经做过类似的事情了。首先,您必须将所有功能堆叠在一个数组中。我发现这个链接很有帮助:https://machinelearningmastery.com/how-to-develop-lstm-models-for-multi-step-time-series-forecasting-of-household-power-consumption/

    这是我使用的代码:(fen_pred = 输入大小,n_output = 输出大小)

        dataset_train_features = np.hstack((dataset_train,new_features_train,ssa_feature1_train,ssa_feature2_train))
    
        dataset_train_labels = dataset_train
    
        features_set = list()  
        labels = list() 
    
        # X_train
    
        for i in range(fen_pred, len_train):  
            if(len(dataset_train_features[i:i+n_output])<n_output):
                break
            features_set.append(dataset_train_features[i-fen_pred:i])
    
        for i in range(fen_pred, len_train):  
            if(len(dataset_train_labels[i:i+n_output])<n_output):
                break
            labels.append(dataset_train_labels[i:i+n_output])
    
        X_train=np.array(features_set)    
        y_train=np.array(labels)
    
    

    (请注意,我想预测一个时间序列的时间步长,这就是为什么我不预测多个特征)

    在您的情况下,我将编辑数组 dataset_train_features,在该数组中添加训练模型所需的每个特征,然后重现此技术以创建您的测试集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-04
      • 2017-10-03
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      • 2021-09-08
      相关资源
      最近更新 更多