【SVM时序预测】基于遗传算法优化支持向量机GA-SVM农产品价格时间序列预测附matlab代码

简介: 【SVM时序预测】基于遗传算法优化支持向量机GA-SVM农产品价格时间序列预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

随着大数据、云计算技术的兴起,越来越多的回归模型、分类模型出现在人们的视野中。同时也伴随着越来越多的模型的改进与成熟。这些技术的发展,成熟以及农产品价格数据的出现为农产品价格预测走进研究人员的视野提供了契机,引起了很多研究人员的关注。中国作为农产品生产以及消费大国,农产品的价格不仅关乎着消费者的利益,同时也对于农产品生产的调控有着重要意义。现在的农产品价格预测模型主要是数据挖掘、机器学习领域中的方法,对于时间序列分析的应用较为少见,而且传统的时间序列分析对于价格的有很大的延迟性,导致预测的精度较差。本文建立基于遗传算法优化支持向量机GA-SVM农产品价格时间序列预测模型。

⛄ 运行结果

⛄ 部分代码展示

function NewChrom = xovmp(OldChrom, Px, Npt, Rs)


%%  多点交叉

%       This function takes a matrix OldChrom containing the binary

%       representation of the individuals in the current population,

%       applies crossover to consecutive pairs of individuals with

%       probability Px and returns the resulting population.

%

%       Npt indicates how many crossover points to use (1 or 2, zero

%       indicates shuffle crossover).

%       Rs indicates whether or not to force the production of

%       offspring different from their parents.

% Identify the population size (Nind) and the chromosome length (Lind)


%%  一致性检查

[Nind, Lind] = size(OldChrom);


if Lind < 2

   NewChrom = OldChrom;

   return

end


if nargin < 4

   Rs = 0;

end


if nargin < 3

   Npt = 0;

   Rs = 0;

end


if nargin < 2

   Px = 0.7;

   Npt = 0;

   Rs = 0;

end


if isnan(Px)

   Px = 0.7;

end


if isnan(Npt)

   Npt = 0;

end


if isnan(Rs)

   Rs = 0;

end


if isempty(Px)

   Px = 0.7;

end


if isempty(Npt)

   Npt = 0;

end


if isempty(Rs)

   Rs = 0;

end


Xops = floor(Nind / 2);

DoCross = rand(Xops, 1) < Px;

odd = 1: 2: Nind - 1;

even = 2: 2: Nind;


%%  计算每对染色体的有效长度

Mask = ~Rs | (OldChrom(odd, :) ~= OldChrom(even, :));

Mask = cumsum(Mask')';


%%  根据有效长度和 Px 计算每对个体的交叉站点(两个相等的交叉站点意味着没有交叉)

xsites(:, 1) = Mask(:, Lind);

if Npt >= 2

   xsites(:, 1) = ceil(xsites(:, 1) .* rand(Xops, 1));

end


xsites(:, 2) = rem(xsites + ceil((Mask(:, Lind) - 1) .* rand(Xops, 1)) ...

                               .* DoCross - 1, Mask(:, Lind)) + 1;


%%  以 0-1 掩码表示跨站点

Mask = (xsites(:, ones(1, Lind)) < Mask) == ...

                       (xsites(:, 2 * ones(1, Lind)) < Mask);


if ~Npt

   shuff = rand(Lind, Xops);

   [~, shuff] = sort(shuff);

   for i = 1: Xops

       OldChrom(odd(i), :) = OldChrom(odd(i), shuff(:, i));

       OldChrom(even(i), :) = OldChrom(even(i), shuff(:, i));

   end

end


%%  执行交叉

NewChrom(odd, :) = (OldChrom(odd, :) .* Mask) + (OldChrom(even, :) .* (~Mask));

NewChrom(even, :) = (OldChrom(odd, :) .* (~Mask)) + (OldChrom(even, :) .* Mask);


%%  如果个体数为奇数,最后一个个体不能交配,但必须包含在新种群中

if rem(Nind, 2)

 NewChrom(Nind, :) = OldChrom(Nind, :);

end


if ~Npt

   [~, unshuff] = sort(shuff);

   for i = 1: Xops

       NewChrom(odd(i), :) = NewChrom(odd(i), unshuff(:, i));

       NewChrom(even(i), :) = NewChrom(even(i), unshuff(:, i));

   end

end

⛄ 参考文献

[1] 方向, 丁兆军, 舒新前. 基于遗传算法优化的支持向量机(SVM-GA)低阶煤制氢产量预测模型[J]. 煤炭学报, 2010(S1):5.

[2] 孙超. 基于遗传算法优化支持向量机模型的变形预测分析[D]. 山东科技大学, 2016.

[3] 朱伟. 基于遗传算法优化支持向量机的铁路客运量预测[D]. 重庆交通大学, 2013.

[4] 高青. 基于遗传算法优化支持向量机的物流需求预测研究[J]. 宿州学院学报, 2016, 31(012):31-35.


⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料



相关文章
|
1月前
|
机器学习/深度学习 算法 数据库
KNN和SVM实现对LFW人像图像数据集的分类应用
KNN和SVM实现对LFW人像图像数据集的分类应用
33 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】tvf_emd_ MFE_SVM_LSTM 神经网络时序预测算法
44 2
|
1月前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机(SVM)算法
【2月更文挑战第20天】 在数据科学与人工智能的领域中,支持向量机(SVM)是一种强大的监督学习算法,它基于统计学习理论中的VC维理论和结构风险最小化原理。本文将深入探讨SVM的核心概念、工作原理以及实际应用案例。我们将透过算法的数学原理,揭示如何利用SVM进行有效的数据分类与回归分析,并讨论其在处理非线性问题时的优势。通过本文,读者将对SVM有更深层次的理解,并能够在实践中应用这一算法解决复杂的数据问题。
18 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】REMD_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】REMD_ MFE_SVM_LSTM 神经网络时序预测算法
43 5
|
5天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
277 9
|
1月前
|
机器学习/深度学习 数据采集 算法
Python基础算法解析:支持向量机(SVM)
Python基础算法解析:支持向量机(SVM)
35 0
Python基础算法解析:支持向量机(SVM)
|
1月前
|
机器学习/深度学习 数据采集 运维
高效处理异常值的算法:One-class SVM模型的自动化方案
高效处理异常值的算法:One-class SVM模型的自动化方案
28 1
|
2月前
|
机器学习/深度学习 算法 计算机视觉
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
30 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】SVMD_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】SVMD_ MFE_SVM_LSTM 神经网络时序预测算法
27 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】EWT_ MFE_SVM_LSTM 神经网络时序预测算法
【MATLAB】EWT_ MFE_SVM_LSTM 神经网络时序预测算法
25 1

热门文章

最新文章