я предсказал цену акций с оценкой настроений и без нее (сложное и полярность), оказалось, что у lstm худшая модель вместо arima, svr и случайного леса.
также я использовал ema и macd в качестве технических индикаторов для улучшения прогноза, но код находится в предварительной обработке данных.
анализируя метрики, Mape показывает только хороший результат вместо rmse и mse.
любые предложения по исправлению кода, чтобы lstm мог быть лучшей моделью для прогнозирования цены акций.
# Splitting to Training set and Test set (LSTM) train_size = int(len(feature_transform) * 0.8) X_train, X_test = feature_transform[:train_size], feature_transform[train_size:] y_train, y_test = output_var[:train_size].values.ravel(), output_var[train_size:].values.ravel()
# Use Early Stopping to prevent overfitting early_stopping = EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True)
# Model Training with validation split (for lstm) history = lstm.fit( X_train, y_train, epochs=100, batch_size=32, validation_split=0.1, callbacks=[early_stopping], verbose=1, shuffle=False )
# Model Evaluation on Test Data y_pred = lstm.predict(X_test)
# Plotting plt.figure(figsize=(12, 6)) plt.plot(y_test, label="True Value", color="blue") plt.plot(y_pred, label="LSTM Value", color="orange", linestyle="-") plt.title("Prediction by LSTM") plt.xlabel("Time Scale") plt.ylabel("Close Price") plt.legend() plt.show() [/code] введите здесь описание изображения [code]rmse_lstm = math.sqrt(mean_squared_error(y_test, y_pred)) # Using math.sqrt print('LSTM RMSE:', rmse_lstm)
# Modified MAPE calculation for consistency with ARIMA's MAPE mape_lstm = np.mean(np.abs(y_pred - y_test) / np.abs(y_test)) print('LSTM MAPE:', mape_lstm)
LSTM RMSE: 847.6404113997011 LSTM MSE: 718494.2670378545 LSTM MAPE: 0.1648806729977154 [/code] в данном описании изображения [list] [*]https://www.kaggle.com/datasets/aaron7sun/stocknews это набор данных о акциях, который я использовал. [*]я предсказал цену акций с оценкой настроений и без нее (сложное и полярность), оказалось, что у lstm худшая модель вместо arima, svr и случайного леса. также я использовал ema и macd в качестве технических индикаторов для улучшения прогноза, но код находится в предварительной обработке данных. [*]анализируя метрики, Mape показывает только хороший результат вместо rmse и mse. [*]любые предложения по исправлению кода, чтобы lstm мог быть лучшей моделью для прогнозирования цены акций. [/list]