基于XGBoost-LSTM的天然气价格预测研究(Python代码实现)

个人主页:研学社的博客  

欢迎来到本博客❤️❤️

博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

本文目录如下:

目录

1 概述

2 运行结果

3 参考文献

4 Python代码实现


1 概述

预测成本模型是开发和验证新的优化方法和控制工具的先决条件。在这里,我将展示一种使用机器学习算法进行预测的简单而强大的方法。

在这里,我将使用机器学习算法根据历史价格记录训练我的机器并预测预期的未来价格。让我们看看我们的算法预测的准确性。我会用——

  1. 极限梯度提升(XGBoost)是梯度提升机的可扩展和精确实现,它已被证明可以突破提升树算法的计算能力极限。该算法旨在有效减少计算时间并分配内存资源的最佳使用。
  2. 长短期记忆(LSTM),这是一种递归神经网络,也是用于顺序数据的最新算法。由于内部存储器,它是第一个记住其输入的算法,这使得它非常适合涉及顺序数据的机器学习问题。它是深度学习在过去几年取得惊人成就的幕后算法之一。 我们必须小心每个类别中的输入/输出形状。尽管这两种算法都有自己的优势,并且都非常强大,但在这里,我们将比较并选择两者中最好的算法来预测未来价格。
  3. 数据来源:Henry Hub Natural Gas Spot Price (Dollars per Million Btu) (eia.gov)

2 运行结果

基于XGBoost-LSTM的天然气价格预测研究(Python代码实现)_第1张图片

基于XGBoost-LSTM的天然气价格预测研究(Python代码实现)_第2张图片

基于XGBoost-LSTM的天然气价格预测研究(Python代码实现)_第3张图片 基于XGBoost-LSTM的天然气价格预测研究(Python代码实现)_第4张图片

部分代码:

# getting the predicted natural gas price of 2020

inputs = dataset_total[len(dataset_total) - len(test_data) - 60:].values
inputs = inputs.reshape(-1,1)
inputs = scaler.transform(inputs)

X_test = []

for i in range(60,448): #60 + test_data.shape[0] = 448
    X_test.append(inputs[i-60:i, 0])
    
X_test = np.array(X_test)
X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1))
pred_price = model.predict(X_test)
pred_price = scaler.inverse_transform(pred_price)

plt.plot(test_data.values, color='red', label='Actual Natural Gas Price')
plt.plot(pred_price, color='blue', label='Predicted Price')
plt.title('Natural Gas Price Prediction')
plt.xlabel('Time')
plt.ylabel('Natural Gas Price')
plt.legend(loc='best')

3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]赵齐昌. 基于XGBoost-LSTM组合模型的电力负荷预测研究[D].陕西理工大学,2022.DOI:10.27733/d.cnki.gsxlg.2022.000172.

[2]谭海旺,杨启亮,邢建春,黄克峰,赵硕,胡浩宇.基于XGBoost-LSTM组合模型的光伏发电功率预测[J].太阳能学报,2022,43(08):75-81.DOI:10.19912/j.0254-0096.tynxb.2021-0005.

4 Python代码实现

你可能感兴趣的:(#,神经网络预测预测与分类,lstm,机器学习,人工智能)