我有以下的时间序列,我分为火车,瓦尔和测试:
📷
基本上,我对ARIMA和LSTM进行了关于这些数据的培训,结果完全不同,就预测而言: ARIMA:
📷
LSTM:
📷
现在,也许我是通过了,在某种程度上,测试设置为LSTM,以便表现得更好?或者LSTM仅仅是比ARIMA更好?下面是一些代码。请注意,为了在将来进行预测,在训练和预测: ARIMA代码之前,我要在我的系列中添加新的和最后的预测值:
# Create list of x train valuess
history = [x for x in x_train]
# establish list for predictions
mo
Keras: 2.1.6,python 3.6,tensorflow 1.8.0
我正在尝试训练一个序列模型,它有两个LSTM层和3个密集层。我事先做了一些数据准备,并将数据设置为LSTM层要求的格式,即(n_samples, n_timesteps, n_features)。我的数据有14个特性,实际上是5000步的长序列,因此我将其分解为500个样本,每个步骤10个时间步骤。完成后,我从下面的模型开始,但很快就遇到了最后一层输入形状的错误。我尝试使用Sequential和Functional都会产生相同的错误。
import keras
from keras import callbac
我第一次使用Keras中的LSTM和Python中的Tensorflow,我想要创建一个包含一些层的神经网络,它提供了10个输出值。我在一个神经网络中生成了多个层,并创建了一个由10个元素组成的输出DenseLayer。我有下一个代码:
from pandas import DataFrame
from pandas import Series
from pandas import concat
from pandas import read_csv
from pandas import datetime
from sklearn.metrics import mean_squared_err
我正在尝试弄清楚如何使用LSTM/GRU构建一个模型,该模型可以预测多对多,但对于每n次(在我的例子中是7次)输入。例如,我的输入数据有一整年每天的时间步长,但我只尝试预测每周结束时的输出,而不是每天。 我能找到的唯一信息是这个答案:Many to one and many to many LSTM examples in Keras 它说:“当步数不同于输入/输出长度时,多对多:这在Keras中是异常困难的。没有容易的代码片段来编码。” 在pytorch中,似乎你可以在损失函数中设置ignore_index,我认为这应该可以做到这一点。 keras有解决方案吗?
使用带有csv数据模型的Keras处理LSTM,如下所示
我用下面的代码训练它
import numpy as np
def to_sequences(seq_size, obs):
x = []
y = []
for i in range(len(obs)-SEQUENCE_SIZE-1):
#print(i)
window = obs[i:(i+SEQUENCE_SIZE)]
after_window = obs[i+SEQUENCE_SIZE]
window = [[x] for x in
这是一个单变量时间序列预测问题。如下面的代码所示,我将初始数据划分为一个列车数据集(trainX)和一个测试数据集(testX),然后通过keras创建一个LSTM网络。接下来,通过训练数据集对模型进行训练。然而,当我想得到预测时,我需要知道测试值,所以我的问题是:既然我知道问题中的测试数据集的真实值,我为什么要预测。我想得到的是未来时间的预测值?如果我对LSTM网络有一些误解,请告诉我。
谢谢!
# create and fit the LSTM network
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)
我正在尝试复制:
# as the first layer in a Sequential model
model = Sequential()
model.add(LSTM(32, input_shape=(10, 64)))
# now model.output_shape == (None, 32)
# note: `None` is the batch dimension.
# for subsequent layers, no need to specify the input size:
model.add(LSTM(16))
但是当我运行以下命令时:
# only lines
我试图创建一个模型,预测未来的股票数据使用13个数据功能。我使用的是TimeseriesGenerator,但是当我试图安装我的模型时,我收到了一个错误,上面写着:
ValueError:检查输入时出错:期望lstm_1_input具有形状(529,13),但得到形状为(5,13)的数组
我的数据集有529行,我想用来训练它们来预测未来的5天。如能在这方面提供任何协助,将不胜感激。
# Part 1 - Data Preprocessing
# Importing the Libraries
import numpy as np
import matplotlib.pyplot as plt
我有将近5年的时间序列数据。使用这些数据,我想预测未来两年。该怎么做呢?
我参考了很多关于这方面的网站。如果可以通过TensorFlow来实现这一点的话。我可以知道如何做到这一点吗?
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import tensorflow as tf
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.ker
我在试着预测谷歌的股价。我已经建立了两个模型,一个使用LSTM,另一个使用双向LSTM,但是预测值与测试值不太一致。我尝试过不同的参数,但几乎没有任何改进。
First I had to install these libraries:
!pip install yfinance
!pip install yahoofinancials
Then I import the needed libraries:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import os
import
我正在使用长短期记忆(LSTM)来生成预测。我注意到,每次运行LSTM模型时,它使用相同的数据生成略有不同的预测。我想知道为什么会发生这种情况,是不是我做错了什么? 谢谢你 from numpy import array
from keras.models import Sequential
from keras.layers import LSTM
from keras.layers import Dense
from keras.layers import Flatten
from keras.layers import TimeDistributed
from keras.layers
我有一个LSTM网络,我用它来预测负载。我想得到预测的置信区间。我不确定我能不能做到这一点。我试着在不同的平台上搜索,但是我找不到解决方案。这是我的简单模型。
导入熊猫为pd pd.options.mode.chained_assignment = None #默认值=‘警告’进口np
import tensorflow as tf
from datetime import datetime
from tensorflow import keras
from keras.models import Sequential
from keras.layers import LSTM, Dense,
我正在尝试训练LSTM,但训练精度在每个时期都保持为零。我已经将数据转换为多变量时间序列数据,并以三维形状进行形状。我也有使用minmaxsaller的归一化数据。
我已经尝试了从5到50的纪元数和从25到200的批量大小。我尝试了从1000000到1000的数据样本,但都不起作用。
每次我得到的训练准确率都是零。
有没有人可以帮我理解它,或者建议我做更多的实验。
下面是我的网络。
from keras.layers.core import Dense,Activation,Dropout
from keras.layers.recurrent import LSTM
from keras.m