MATLAB回归分析(1)

MATLAB中给出了三种回归模型类:LinearModel class(线性回归模型类)、NonlinearModel class(非线性回归模型类)和GeneralizedLinearModel class(广义线性回归模型类)

一元线性回归

(1)数据的散点图

x = [];y = [];      %输入x,y的数据
plot(x,y,'k.',...); %绘制散点图
xlabel('***');
ylabel('***');      %添加标签

(2)模型建立

建立y关于x的一元线性回归模型

(3)调用LinearModel 类的 fit 方法求解模型

md1 = LinearModel.fit(x,y)

(4)调用LinearModel 类的plot 方法绘制拟合效果图

figure;
md1.plot;       %绘制模型拟合效果图
xlabel('***');  %给x轴加标签
ylabel('***');  %给y轴加标签
title('');      
legend(''...);  %加图例

(5)预测

给定自变量x的值,可以调用LinearModel 类对象里的predict 方法预测,计算因变量y的预测值。

xnew = [];
ynew = md1.predict(xnew)

(6)模型改进

        模型改进通常包括两个方面:剔除模型中不显著项、剔除数据集中的异常点。数据集中的异常点是指远离数据集中心的观测点,又称离群点。通常情况下,学生化残差的绝对值大于2的数据点被认为是异常点。

Res = md1.Residuals;                        %查询残差值
Res_Stu = Res.Studentized;                  %学生化残差
id = find(abs(Res_Stu) > 2);                %查找异常值序号
md2 = LinearModel.fit(x,y,'Exclude',id)     %去除异常值,重新求解

一元非线性回归

 步骤基本上和第一种相似,只有调用函数不一样。

fun = @(x)            %编写匿名函数
x0 = [];              %未知参数初值
nlm1 = NonLinearModel.fit(x,y,fun,x0); %模型求解

 这就是今天学习内容,根据书本《MATLAB与数学建模》(谢中华)编写的书本内容学习。

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值