基于时序特征工程与LSTM结合的雅虎美股数据预测

作品简介

一.模型整体流程介绍:

1.数据加载和处理:

  1. 使用pandas库读取CSV文件中的股票数据,并将日期列转换为datetime类型。
  2. 选择需要使用的列('Date', 'Close', 'High', 'Low', 'Open')作为特征。
  3. 创建了一个create_date_features函数来提取日期相关的特征,例如月份、日期、年份等,并将这些特征添加到数据帧中。

2. 时间序列特征工程:

  1. 使用statsmodels库的CalendarFourier和DeterministicProcess类创建时间序列的季节性特征。
  2. 创建一个包含日期特征和季节性特征的新数据帧。

3.数据预处理:

  1. 使用MinMaxScaler对数据进行归一化处理。
  2. 定义了一个滚动窗口大小(look_back)来创建训练集和测试集。
  3. 创建了一个函数create_dataset,用于将时间序列数据转换为监督学习问题的数据集。

4.构建和训练模型:

  1. 使用Keras库构建了一个包含多个LSTM层的序列模型。
  2. 模型中使用了LeakyReLU激活函数和Dropout正则化层来提高模型的性能和鲁棒性。
  3. 使用Adamax优化器和平均绝对百分比误差(MAPE)作为损失函数来编译模型。
  4. 使用训练集数据训练模型,并使用验证集数据进行模型的早停策略。

5.模型预测和评估:

  1. 使用训练好的模型对训练集和测试集进行预测。
  2. 使用matplotlib库将实际值和预测值进行可视化比较。
  3. 计算并输出测试集和训练集的均方根误差(RMSE)。

总结:这段代码主要通过加载、处理和预处理股票数据,提取时间序列特征,构建和训练LSTM模型,以及进行模型预测和评估来实现股票预测。

二.数据集介绍(开始日期是:2015/11/23),数据一共是1826行,预测的收盘价格

结束时间是:2020/11/20。

 3.效果图

4.运行视频

基于时间特征工程与LSTM结合的雅虎美股预测哔哩哔哩bilibili


创作时间: