невозможно предсказать временные ряды часов до временных рядов минут? - PullRequest
0 голосов
/ 01 мая 2019
model = Sequential()

model.add(LSTM(512, input_shape=(None, 1), return_sequences=True))

model.add(Dropout(0.3))



model.add(LSTM(512, input_shape=(None, 1)))

model.add(Dropout(0.3))



model.add(Dense(1))



model.compile(loss='mean_squared_error', optimizer='rmsprop', metrics=['accuracy'])

model.summary()

model.fit(x_train, y_train, epochs=10, batch_size=16)

p = model.predict(x_test)

это мой код и

здесь модель lstm временного ряда часов и результат ниже

a

и я хочу получить эту модельдля прогнозирования минутных единиц

мне просто интересно попробовать линейную регрессию

data = y # p
scaler = MinMaxScaler(feature_range=(0, 1))
data = scaler.fit_transform(data)
x = np.arange(0, len(y))
x=x.reshape(len(x),1)
x = scaler.fit_transform(x)

train_size = int(len(data) * 0.80)
test_size = len(data) - train_size

y_train = data[0:train_size]
y_test = data[train_size:len(data)]
x_train = x[0:train_size]
x_test = x[train_size:len(x)]
# from sklearn.model_selection import train_test_split
# x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.8, random_state=42)

XGBModel = XGBRegressor()
XGBModel.fit(x_train,y_train, verbose=False)

p = XGBModel.predict(x_test)
plt.plot(y_test)
plt.plot(p)
plt.legend(['y_test', 'p'], loc='upper right')
plt.title(mean_squared_error(y_test, p))

plt.show()
print(mean_squared_error(y_test, p))

и получить как ниже

b

я не прав или этоневозможно получить прогнозируемый минутный блок?

...