1、准备数据:首先,需要准备一组训练数据,这些数据经过计算可以得出训练集的特征,比如模型的输入变量,输出变量等。
2、构建回归模闷大仿型:其次,使用Matlab中的回归工具箱,构建回归仿拍模型,比如线性回归、多项式回归蚂纤等,根据训练数据进行拟合。
3、预测:最后,可以使用Matlab中的predict命令,根据构建的回归模型进行预测,得出各个输入变量对应的输出变量。
总的来说,Matlab可以非常方便地调用生成回归模型进行预测,简化了预测的步骤,节省了时间和资源。
%% 清空环境变量clc
clear
%% 产生输入 输出数据
% 设置步长
interval=0.01
% 产生x1 x2
x1=-1.5:interval:1.5
x2=-1.5:interval:1.5
% 按照函数先求得相应的函数值,作为网络的输出。
F =20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2)
%% 网络建立和训练
% 网络建立 输入为[x1x2],输出为F。Spread使用默认。
net=newrbe([x1x2],F)
%% 网络的效果验基旦证
% 我们将原数据回带,测试网络效果:
ty=sim(net,[x1x2])
% 我们使用图像来看网络对非线性函模粗数的拟合效果
figure
plot3(x1,x2,F,'rd')
hold on
plot3(x1,x2,ty,'b-.')
view(113,36)
title('可视化的方法观察准确RBF神经网络的拟合效果旦锋镇')
xlabel('x1')
ylabel('x2')
zlabel('F')
grid on
在matlab中regress()函数和polyfit()函数都可以进行回归分析。(1)regress()握誉函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。
(2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。
regress()函数详解
[b,bint,r,rint,stats]=regress(y,X,alpha)
说明:b是线性方程的系数估计值,并且第一值表示常数,第二个值表示回归系数。bint是系数估计值的置信度为95%的置信区间,r表示残差,rint表示各残差的置信区间,stats是用于检验回归模型的统计量,有三个数值其中有表示回归的R2统计量和F以及显著性概率P值,alpha为置信度。
相关系数r^2越大,说明回归方程越显著;与F对应的概率P<alpha时候拒绝H0,回归模型成立。
y表示一个n-1的矩阵,是因变量的值,X是n-p矩阵,自变量x和一列具有相同行数,值是1的矩阵的组合。如:对含常数项的一元回归模型,斗皮卖可将X变为n-2矩阵,其中第一列全为1。
ONES(SIZE(A)) is the same size as A and all ones。
利用它实现X=[ones(size(x))x]
(2)polyfit()函数详解-------------摘自sina小雪儿博客
p=polyfit(x,y,n)
[p,s]= polyfit(x,y,n)
说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)
多项式曲线求值函数:polyval( )
调用格式: y=polyval(p,x)
[y,DELTA]=polyval(p,x,s)
说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。
[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y
DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方空逗差为常数。则Y DELTA将至少包含50%的预测值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)