为什么Matlab SVR不是工作指数波动数据,可以很好的处理数据?

2视图(30天)
我正在做一些测试与SVR在Matlab函数。有一组数据与波动和另一组光滑指数数据。1日,SVR能够执行好回归,但与指数数据甚至没有得到相同的趋势。 为什么?如何使回归指数数据一样好吗?
代码和结果数据与波动
% % SVR与FLUCTUATUATIONS测试数据
清晰的所有
负载carsmall
rng“默认”%的再现性
指数= 1:10 0;
指数=指数”;
X =[马力(1:90,1)、体重(1:90 1)];
Y = MPG (1:90, 1);
Mdl = fitrsvm (X, Y)
% %回归测试
%利用回归模型得到最后10%的马力
YFit =预测(Mdl(功率、重量));
% %
情节(英里/加仑,“线宽”1);
持有
情节(指数(90:结束),YFit(90:结束),“线宽”2);
情节(索引(1:90)YFit (1:90),“线宽”2);
传奇(的真实数据,“Unseen-data回归”,“信息回归”)
集(gca),“字形大小”15);
网格;
网格;
包含(“指数”);
ylabel (“英里每加仑(MPG)”);
回归测试数据的结果与波动
与NO-fluctuations代码和结果数据
% % SVR与指数数据测试
清晰的所有
数据= xlsread (“测试data.xlsx”);
rng“默认”%的再现性
指数= 1:42;%
指数=指数”;
X =[(1时35,抵达2)数据,数据(1时35,抵达3)];
Y =数据(1时35,抵达1);
Mdl = fitrsvm (X, Y)
% %回归测试
%利用回归模型得到最后10%的马力
YFit =预测(Mdl[(:, 2),数据(:,3)));
% %
情节(数据(:1),“线宽”1);
持有
情节(指数(35:结束),YFit(35:结束),“线宽”2);
情节(索引(1时35)抵达YFit(1时35)抵达,“线宽”2);
传奇(的真实数据,“Unseen-data回归”,“信息回归”)
集(gca),“字形大小”15);
网格;
网格;
包含(“指数”);
ylabel (的指数数据);
回归结果与NO-fluctuations测试数据

答案(1)

Aditya帕蒂尔
Aditya帕蒂尔 2021年7月14日
SVR内核默认情况下,使用一个线性 可能不适合指数数据。你可能会想尝试高斯内核。 看到 KernelFunction论点 为更多的细节。
根据我的理解,您正在使用的验证数据域以外的训练数据。推断结果可能会给域以外的培训数据 不可靠的结果,因为没有办法是对模型的准确性在训练之外的领域。

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!