【SVM回归预测】基于EMD结合支持向量机实现电力负荷预测附Matlab代码

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 【SVM回归预测】基于EMD结合支持向量机实现电力负荷预测附Matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

近年来,电能质量问题已经成为当今电力工程领域里亟待解决的问题,而电力系统故障诊断分类是改善电能质量和保护电力系统的一个重要环节. 根据电力负荷特性的变化规律,考虑了日期类型、温度、天气情况等影响负荷预测的因素,本文提出将EMD-支持向量机算法应用于电力系统短期负荷预测。.采用EMD将传输线电压信号分解成有限个本征模函数(IMF);结果表明EMD-支持向量机算法比其他预测方法精确等级更高,可靠性更强,合理性和实用性都更强,取得了很好的预测结果。

⛄ 部分代码

function [mse,bestc,bestg] = SVMcgForRegress(train_label,train,cmin,cmax,gmin,gmax,v,cstep,gstep,msestep,kerneltype) %v,cstep这些不写的话就是默认值

%

% 利用网格搜索与交叉验证进行核参数与惩罚参数选择

% cmin cmax c的取值范围

% gmin gmax g的取值范围

% v 就是交叉验证参数  一般是5折交叉验证

% cstep gstep 网格取值的步长

% msestep 误差的步长  只是为了最后画等高线图用一用,这样比较好看

% kerneltype=0(线性核) 1(多项式核) 2(rbf核函数) 3(sigmoid核函数)





[X,Y] = meshgrid(cmin:cstep:cmax,gmin:gstep:gmax);

[m,n] = size(X);

cg = zeros(m,n);


eps = 10^(-4);


bestc = 0;

bestg = 0;

mse = Inf;

basenum = 2;

for i = 1:m  %每更改一组c g值,跑5折交叉验证  最终选择精度最高的那一组c g

   for j = 1:n

       cmd = ['-v ',num2str(v),' -c ',num2str( basenum^X(i,j) ),' -g ',num2str( basenum^Y(i,j) ),' -s 3 -t ',num2str(kerneltype),' -p 0.1 -d 1'];

       cg(i,j) = svmtrain(train_label, train, cmd);

       

       if cg(i,j) < mse

           mse = cg(i,j);

           bestc = basenum^X(i,j);

           bestg = basenum^Y(i,j);

       end

       

       if abs( cg(i,j)-mse )<=eps && bestc > basenum^X(i,j)

           mse = cg(i,j);

           bestc = basenum^X(i,j);

           bestg = basenum^Y(i,j);

       end

       

   end

end %选择误差最接近的0的c,g。当存在多组c,g,就选择最小的那组cg

% to draw the acc with different c & g

[cg,ps] = mapminmax(cg,0,1);


%%

% figure;

% [C,h] = contour(X,Y,cg,0:msestep:0.5);%contour的作用就是画等高线

% clabel(C,h,'FontSize',10,'Color','r');

% xlabel('log2c','FontSize',12);

% ylabel('log2g','FontSize',12);

% firstline = 'SVR参数选择结果图(等高线图)[GridSearchMethod]';

% secondline = ['Best c=',num2str(bestc),' g=',num2str(bestg), ...

%     ' CVmse=',num2str(mse)];

% title({firstline;secondline},'Fontsize',12);

% grid on;

%

% figure;

% meshc(X,Y,cg); %meshc就是比mesh的3d图在底层(Z=0)多了等高线而已

% % mesh(X,Y,cg);

% % surf(X,Y,cg);

% axis([cmin,cmax,gmin,gmax,0,1]);

% xlabel('log2c','FontSize',12);

% ylabel('log2g','FontSize',12);

% zlabel('MSE','FontSize',12);

% firstline = 'SVR参数选择结果图(3D视图)[GridSearchMethod]';

% secondline = ['Best c=',num2str(bestc),' g=',num2str(bestg), ...

%     ' CVmse=',num2str(mse)];

% title({firstline;secondline},'Fontsize',12);

⛄ 运行结果

⛄ 参考文献

[1] 于洋. 基于EMD的SVM支持向量机模型在朝阳旱灾预测中的应用[J]. 江西水利科技, 2022(005):048.

[2] 何婷, 乔俊强, 包建勤,等. 基于EMD和SVM的电力系统故障分类识别[J]. 仪表技术, 2022(004):000.

[3] 尹立, 胡兆光, 韩新阳,等. 基于支持向量机的电力负荷预测研究[C]// 中国高等学校电力系统及其自动化专业学术年会. 2014.

⛳️ 代码获取关注我

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


相关文章
|
19天前
|
机器学习/深度学习 边缘计算 人工智能
【无人机】采用NOMA的节能多无人机多接入边缘计算(Matlab代码实现)
【无人机】采用NOMA的节能多无人机多接入边缘计算(Matlab代码实现)
|
19天前
|
机器学习/深度学习 传感器 运维
【电机轴承监测】基于matlab声神经网络电机轴承监测研究(Matlab代码实现)
【电机轴承监测】基于matlab声神经网络电机轴承监测研究(Matlab代码实现)
|
19天前
|
传感器 并行计算 算法
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
|
19天前
|
机器学习/深度学习 算法 新能源
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
|
19天前
|
机器学习/深度学习 存储 并行计算
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
124 6
|
19天前
|
数据采集 算法 调度
【电力系统】基于matlab虚拟电厂内部负荷调度优化模型(matlab+yalmip+cplex)(Matlab代码实现)
【电力系统】基于matlab虚拟电厂内部负荷调度优化模型(matlab+yalmip+cplex)(Matlab代码实现)
|
19天前
|
存储 并行计算 算法
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
151 3
|
20天前
|
算法 Java 计算机视觉
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
121 2
|
20天前
|
机器学习/深度学习 资源调度 算法
【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
|
20天前
|
机器学习/深度学习 分布式计算 算法
【投资组合】具有多个视野的动态投资组合管理研究(Matlab代码实现)
【投资组合】具有多个视野的动态投资组合管理研究(Matlab代码实现)

热门文章

最新文章