当前位置:   article > 正文

【视频讲解】Python遗传算法GA优化SVR支持向量回归、ANFIS自适应神经模糊推理系统预测证券指数ISE数据...

【视频讲解】Python遗传算法GA优化SVR支持向量回归、ANFIS自适应神经模糊推理系统预测证券指数ISE数据...

全文链接:https://tecdat.cn/?p=37060

本文旨在通过应用多种机器学习技术,对交易所的历史数据进行深入分析和预测。我们帮助客户使用了遗传算法GA优化的支持向量回归(SVR)、自适应神经模糊推理系统(ANFIS)等方法,对数据进行了特征选择、数据预处理、模型训练与评估点击文末“阅读原文”获取完整代码、数据、讲解视频)。

实验结果表明,这些方法在预测证券交易所指数(ISE)方面具有显著效果,为投资者和市场分析师提供了有价值的参考。

相关视频

引言

股票指数(ISE)的波动直接影响投资者的决策。因此,准确预测ISE的走势对于市场参与者至关重要。本文利用机器学习技术,通过构建多种预测模型,对ISE的历史数据进行了详细分析,以期提高预测的准确性和实用性。

数据准备与预处理

数据集描述

本文使用的数据集来源于证券交易所,包含了一系列可能影响ISE指数波动的经济指标。数据集以CSV格式存储,通过Pandas库进行读取和处理。

  1. pd.read_csv('Is.csv', delimiter=';')
  2. #print(df.head())
  3. return DataPrepare(df)
  4. #data, target = ReadData()

58b4552a958d1e8bd603fe1ee0d67fd2.png

  1. # 重新加载数据,跳过可能包含重复列标题的行
  2. df = pd.read_csv(file_path, delimiter=';', skiprows=[0, 1])
  3. # 显示数据的前几行以确认结构
  4. df.head()
  5. # 重命名列名以反映数据的实际含义
  6. df.columns = ['Date', 'ISE', 'ISE_USD', 'SP', 'DAX', 'FTSE', 'NIKKEI', 'BOVESPA', 'EU', 'EM']
  7. # 将日期列转换为日期类型
  8. df['Date'] = pd.to_datetime(df['Date'], format='%d-%b-%y')
  9. # 绘制时间序列图
  10. plt.figure(figsize=(15, 8))
  11. for col in df.columns[1:]:
  12. plt.plot(df['Date'], df[col], label=col)
  13. plt.title('时间序列数据可视化 - 证券交易所')
  14. plt.xlabel('日期')
  15. plt.ylabel('数值')
  16. plt.legend()
  17. plt.grid(True)
  18. plt.show()
  19. # 重命名列名以反映数据的实际含义
  20. df.columns = ['Date', 'ISE', 'ISE_USD', 'SP', 'DAX', 'FTSE', 'NIKKEI', 'BOVESPA', 'EU', 'EM']
  21. # 将日期列转换为日期类型
  22. df['Date'] = pd.to_datetime(df['Date'], format='%d-%b-%y')
  23. # 绘制时间序列图
  24. plt.figure(figsize=(15, 8))
  25. for col in df.columns[1:]:
  26. plt.plot(df['Date'], df[col], label=col)
  27. plt.title('时间序列数据可视化 - 证券交易所')
  28. plt.xlabel('日期')
  29. plt.ylabel('数值')
  30. plt.legend()
  31. plt.grid(True)
  32. plt.show()

51d7a98794bbdebf41b939bd5010cc55.png

数据预处理步骤
  1. 列名与索引处理:将第一行数据作为列名,并删除该行。同时,调整列名以匹配数据含义,如将“ISE”列重命名为“ISE.TL”和“ISE.USD”。

  2. 日期处理:将日期列转换为时间戳格式,以便进行时间序列分析。

  3. 特征与目标分离:将ISE指数作为目标变量,其余经济指标作为特征变量。

特征选择与降维

特征选择

通过随机森林回归模型进行特征选择,设定阈值为0.25,筛选出对目标变量影响较大的特征。该方法有效减少了模型的复杂度,提高了预测效率。

数据标准化

使用MinMaxScaler对数据进行标准化处理,确保所有特征在同一量纲下,避免因量纲差异导致的预测偏差。

模型构建与训练

支持向量回归(SVR)

采用RBF核函数的SVR模型对数据进行训练,通过调整C和epsilon参数优化模型性能。此外,还尝试使用遗传算法(GA)对SVR的参数进行全局优化,进一步提升预测精度。

自适应神经模糊推理系统(ANFIS)

构建ANFIS模型,通过构造高斯型隶属函数并训练模型,实现对ISE指数的模糊推理预测。同样,使用遗传算法对隶属函数的sigma参数进行优化,提高模型的适应性和准确性。

模型评估

评估指标

采用解释方差得分(explained variance score)、R²得分(r2_score)和均方根误差(RMSE)作为模型评估指标,全面衡量模型的预测性能。

实验结果
  • SVR模型:在遗传算法优化参数后,SVR模型的预测性能显著提升,尤其是在解释方差得分和R²得分方面表现优异。

SVMEvaluate(svr_model, x_test, y_test)

 4ebf36987147e629f57b26c993c1a8b0.png

8cde18b119871777795fc954d9bab45a.png
29e5f756badcb06794563bb484ac59c3.png

  • 遗传算法优化

    1. SVMGA()
    2. print(datetime.now()-start)
    3. SVM_ACO_Points

点击标题查阅往期内容

22fbbbd86c71945ba98ac3372253e368.png

Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码

outside_default.png

左右滑动查看更多

outside_default.png

01

ca3c4bb4c3ee67e02688303070721437.png

02

013513184840d4a1f0775b986a008187.png

03

c223df11a668f111a8ef50dba736cf8c.png

04

6ea9861344e4b7a8f6e2f740380a0304.png

SVMEvaluate(svr_model, x_test, y_test)

31f9788a992d859368952d164c21af57.png
2f654df2bdd3e9df850faf0eda954d7f.png

  • ANFIS模型:通过遗传算法优化隶属函数参数,ANFIS模型在模糊推理预测中展现了良好的适应性和准确性,特别是在处理非线性关系时表现突出。

ANFISEvaluate(anf, x_test, y_test)

40deaeda6c317ff34645e7ab385dcaf2.png
05aeade75db1905329cbbdd8ec0477df.png
3aa191627d21ab3512c191a39bf4e17e.png
6935d50559087eb2d7802b5fae0ce38f.png

ANFIS模型:遗传算法优化后的ANFIS

  1. ANFISGA()
  2. print(datetime.now()-start)

9592bc0d228eb0d5977d43faaa101f73.png

2c39f193db0448e559a56fd6c6f57289.png
14b2f921bf745b0befd23b7233db1be6.png
b5c0182b7fef0d1ebddd5f6c4374ad27.png
ff228ff4668e2154e52f010be14e2907.png

cddce4563940a23451681819cce77a0b.png
8fcd2e1a7d8fb1dd2b80151c15ca2f3e.png
f5f2de7a6516ca11997a1222052c35cc.png

结论与展望

本文通过应用多种机器学习技术,对证券交易所的历史数据进行了深入分析和预测。实验结果表明,SVR和ANFIS模型在预测ISE指数方面具有显著效果。未来工作可以进一步探索更多先进的机器学习算法,如深度学习模型,以及结合更丰富的数据源,以进一步提高预测的准确性和实用性。同时,也可以考虑将预测结果应用于实际的投资决策中,为投资者提供更为精准的市场分析服务。

参考文献

[1]阚子良,蔡志丹.基于优化参数的LS-SVM模型的股票价格时间序列预测[J].长春理工大学学报(自然科学版).2018,(1).
[2]郝知远.基于改进的支持向量机的股票预测方法[J].江苏科技大学学报(自然科学版).2017,(3).DOI:10.3969/j.issn.1673-4807.2017.03.015 .
[3]傅航聪,张伟.机器学习算法在股票走势预测中的应用[J].软件导刊.2017,(10).DOI:10.11907/rjdk.171549 .
[4]郝知远.基于数据挖掘方法的股票预测系统[D].2017.
[5]张建宽,盛炎平.支持向量机对股票价格涨跌的预测[J].北京信息科技大学学报(自然科学版).2017,(3).DOI:10.16508/j.cnki.11-5866/n.2017.03.008 .
[6]毕军龙.基于股指涨跌预测的投资策略[D].2016.
[7]Kumar, Deepak,Meghwani, Suraj S.,Thakur, Manoj.Proximal support vector machine based hybrid prediction models for trend forecasting in financial markets[J].Journal of computational science.2016,17(Nov. Pt.1).1-13.DOI:10.1016/j.jocs.2016.07.006 .
[8]尹小琴.基于支持向量机的混合时间序列模型的研究与应用[D].2016.
[9]朱磊.基于支持向量机的股价预测研究--以上证50成分股为例[D].2016.
[10]冯华萍.基于支持向量机的股票价格预测算法研究及应用[D].2016.


资料获取

在公众号后台回复“领资料”,可免费获取数据分析、机器学习、深度学习等学习资料。

efa96984af7347efac94dd79dfc36cf1.jpeg

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《Python遗传算法GA优化SVR支持向量回归、ANFIS自适应神经模糊推理系统预测证券指数ISE数据》。

点击标题查阅往期内容

【视频】Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析|数据分享

深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列

spss modeler用决策树神经网络预测ST的股票

Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化

RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测

结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析

深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据

用PyTorch机器学习神经网络分类预测银行客户流失模型

PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据

Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化

R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化

深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据

Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析

R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列

R语言KERAS用RNN、双向RNNS递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感

Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化

Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析

R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告

R语言深度学习:用keras神经网络回归模型预测时间序列数据

Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类

R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

MATLAB中用BP神经网络预测人体脂肪百分比数据

Python中用PyTorch机器学习神经网络分类预测银行客户流失模型

R语言实现CNN(卷积神经网络)模型进行回归数据分析

SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型

【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析

Python使用神经网络进行简单文本分类

R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析

R语言基于递归神经网络RNN的温度时间序列预测

R语言神经网络模型预测车辆数量时间序列

R语言中的BP神经网络模型分析学生成绩

matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类

R语言实现拟合神经网络预测和结果可视化

用R语言实现神经网络预测股票实例

使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测

python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译

用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

0efa827c30c4c3163ed3bf758857d740.jpeg

0707e2041dbb98359c85b5778c5a0e5d.png

bf82fbe324adca541b5d5d349d12396e.png

c6ec019c7757eaf86ab9efb71cb66316.jpeg

ff5c47c868f26eb19ea0541c958c39c3.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/873311
推荐阅读
相关标签
  

闽ICP备14008679号