基于SVM支持向量机的数据预测matlab仿真

举报
简简单单做算法 发表于 2024/03/30 16:20:19 2024/03/30
【摘要】 1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述       支持向量机是一种监督学习方法,主要用于分类和回归分析。它基于结构风险最小化原则构建最优超平面以实现最大间隔分类,并且在处理非线性问题时通过核函数映射到高维特征空间来实现线性可分。 4.部分核心程序Year=[2011,2012,2013,2014,2015,2016];figure;plot(Y...

1.算法运行效果图预览

1.jpeg

2.jpeg

3.jpeg

4.jpeg

5.jpeg

6.jpeg

 

2.算法运行软件版本

matlab2022a

 

3.算法理论概述

       支持向量机是一种监督学习方法,主要用于分类和回归分析。它基于结构风险最小化原则构建最优超平面以实现最大间隔分类,并且在处理非线性问题时通过核函数映射到高维特征空间来实现线性可分。

7.png

8.png

 

4.部分核心程序

Year=[2011,2012,2013,2014,2015,2016];
figure;
plot(Year,dn{i},'k-o');
hold on
plot(Year,Predict1{i},'r-s');
grid on
xlabel('year');
ylabel('value');
legend('真实值','训练预测值');
 
 
%获得误差
for i = 1:31
    error(i) = mean(abs(dn{i}-Predict1{i}));
    RMSE(i) = sqrt(sum(abs(dn{i}-Predict1{i}).^2)/6);
end
figure;
bar(RMSE);
title('31个城市训练数据的RMSE误差值');
 
%使用训练模型进行预测
%输入2017年到2020的X变量作为采集数据
%从excel中没提供这个数据集,所以需要这里先用模拟的数据。这里采用拟合法,得到未来几年大概的X值
for i = 1:31%31个城市
    tmps1 = Xn{i};
    for j = 1:24
        tmps2 = tmps1(:,j);
        X     = [Year'];
        %进行拟合
        X2    = 2018;
        tmps4(:,j) = [tmps2;tmps2(end)+0.001*(X2-2016)*(tmps2(end)-tmps2(end-1))];%调节过大的幅度
    end
    Xn2{i} = tmps4;
end
 
 
%进行预测
for i = 1:31%31个城市
    [Predict2{i},error2] = svmpredict([1;1;1;1;1;1;1],Xn2{i},model{i});
end
 
 
%用北京的数据进行显示预测结果
Year2=[2011,2012,2013,2014,2015,2016,2018];
 
K=1;%设置不同的K,选择显示不同的城市
.......................................................
for i = 1:31
figure;
subplot(211);
plot(Year,dn{i},'bs','LineWidth',1,...
                       'MarkerSize',10);
hold on
plot(Year2,Predict2{i},'r-s','LineWidth',1,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','g',...
                       'MarkerSize',4)
grid on
xlabel('year');
ylabel('value');
legend('真实值','2018预测值');
title([NAME{i},'预测值']);
subplot(212);
bar([abs(dn{i}-Predict2{i}(1:end-1));0]);
title('误差');
 
 
end
 
%保存数据
XX=[];
for i = 1:31
    XX=[XX,Predict2{i}(end)];
end
%注意,XX就是最后的2020年数据Y
XX
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。