基于PSO

阅读: 评论:0

基于PSO

基于PSO

1、简介

   背景:针对均值-方差模型的局限性,利用启发式函数链神经网络预测得到的收益率替代历史数据。
   工作原理:构建PSO_FLNN预测模型,PSO算法用来优化FLNN中个体的权重参数,FLNN用来对输入的个体预测其对应的周收益值。

2、具体预测过程

(1)FLNN函数链神经网络
   它是单层神经网络,通过非线性函数(如切比雪夫函数)对特征进行拓展,输入后,经过加权求和,通过relu激活函数得到输出值。结构简单,计算负担小,效果好,比MLP计算复杂度更小。
(2)启发式FLNN股票周收益预测步骤
   预测周收益的步骤:样本特征拓展;训练模型,得到最优粒子;在测试集上进行验证。
   切比雪夫递归拓展特征:特征维度D为拓展为5D维。
   PSO优化FLNN的权重参数:种群中的粒子围绕搜索空间移动以寻找最佳位置。得到各个粒子对应的适应度值,即均方误差值,选择其中均方误差最小的粒子作为最佳粒子,下次迭代前,根据该最佳粒子对种群粒子速度和权重值(即位置)进行更新。经过k次迭代后,比较出得到最佳粒子。(粒子在PSO种群中的位置由5D个随机权重组成,每个随机权重值位于0和1之间)
   如何预测:最佳粒子就是该样本对应的权重参数向量。在测试集上进行测试。结果满意的话,便可以利用该模型预测该股票的周收益。预测哪周,则将该周的特征值求出后,与参数加权求和后输入relu函数max(0,wx+b),得到预测值。
(3)如何进行超参数调优
   哪些参数
   惯性因子w(0.4-0.9之间,调整全局和局部搜索,为非负,大的话全局强,小局部强,一般采用动态w比如说线性递减权值,),
   学习因子c1,c2(0~4之间,通常为2,代表粒子向自身极值pbest和全局极值gbest推进的加速权值。),
   群体规模N(100或,200),
   最大迭代次数100-200,
   最大速度Vmax。
   调优方法
   交叉验证参数选择:各个参数确定变化的步长,然后使用网格法交叉验证参数选择。最后确定w=0.725,学习因子为2,最大速度Vmax决定粒子每一次的最大移动距离(一般为相应维搜索空间的10%~20%),群体规模为200,迭代次数为200。
   步长如何确定:可以使用最优化理论中的Wolf-Powell搜索、Amijo搜索选取步长。
   过Powell等方法为了找到最优的超参数,这些方法往往要尝试很多组值,每一次尝试都要重新做一次训练,时间成本很高,且并不总是可预测。很多时候我们并不需要挤干hyperparameters中的水分,这时候就随便选几个值,挑个不错的就好啦,当然这不是很严谨。

import pandas as pd
import os
from model import Modelfile_dir = r'data100只股票三维特征数据集合'
def file_name(dir):for root, dirs, files in os.walk(dir):file_list_temp = files  # 当前路径下所有非目录子文件return file_list_temp
file_list = file_name(file_dir)
print(file_list)
security_code = []
for i in file_list:i = i[0:9]security_code.append(i)#这时140股票的代码集合
print(security_code)
#现仅用600345.SH进行测试,全测试可令stock = security_code
stock = ['600345.SH.csv']for i in range(len(stock)):csv_file = r"data100只股票三维特征数据集合%s"%(stock[i])csv_data = pd.read_csv(csv_file)print(stock[i])dt = csv_data.drop(['Unnamed: 0','周数'],axis=1)train_idx = 140test_idx = 52model = Model(dt.values, train_idx, test_idx)  # .values把dataframe转化为矩阵pre_value = pd.ain())_csv(r'data100只股票预测收益集合%s.csv'%(file_list[i][0:9]))

本文发布于:2024-02-02 19:55:20,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170687492046076.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:PSO
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23