2-6、回归

版权声明:本文为博主原创文章,如需转载请联系博主。 https://blog.csdn.net/GregoryHanson/article/details/79631875

一、概述

  回归分析是处理难以用一种精确方法表示出来的变量之间关系的一种数学方法。可分为(一元/多元)(线性/非线性)回归分析。线性回归分析是两类回归分析中较简单的一类,也是应用较多的一类。

  本节由于涉及较多数理统计中的名词,篇幅受限,数学部分不细述,只介绍matlab实现部分。可在有数理统计部分专业知识的基础上,参考相关书本学习。

二、 线性回归分析

  一般地,称由 y=β0+β1x+ε 确定的模型为一元线性回归模型,记为:

{y=β0+β1x+εEε=0,Dε=σ

  固定的未知参数 β0,β1 称为回归系数,自变量 x 也称为回归变量

1、regress

  Matlab提供了多元线性回归函数 regress ,采用的是最小二乘估计。
  调用格式:

[b,bint,r,rint,stats] = regress(y,x,alpha)

  该函数返回值提供了回归系数的区间估计、残差、置信区间、相关系数等统计量。相关系数越接近1,说明回归方程越显著;与 F 对应的概率 P<α 时拒绝 ,回归模型成立。
  上述名词具体含义可参考数理统计教材。

  用 rcoplot 函数可以画出残差及其置信区间,红色的表示超出期望值的数据,圆圈代表残差的值,竖线代表置信区间的范围。
  调用格式:

rcoplot(r,rint)

2、rstool

   Rstool 是多元二项式回归函数。
  调用格式:

rstool(x,y,’model’,alpha)

  其中 x nm 矩阵, y n 维列向量, alpha 是显著水平(缺省的时候为0.05), model 处可填以下4种选项之一:

%‘linear’(线性,缺省)
%‘interaction’(交叉)
%‘quadratic’(完全二次)
%‘purequadratic’(纯二次)

三、非线性回归系数

1、nlinfit

  调用格式为:

[beta,r,J] = nlinfit(x,y,’modelfun’,beta0)

  其中输入数据 x,y 分别为 np 维矩阵和 n 维列向量,对于一元非线性回归,取 p=1 即可; modelfun 为事先定义的非线性回归函数的M文件,是回归系数 beta x 的函数; beta0 是回归系数的初值,输出参数 beta 是估计出的回归系数, r 为残差, J Jacobian 矩阵。

2、nlintool

  调用格式为:

nlintool(x,y,;modelfun’,beta0,alpha)

  可用 nlpredci 函数求 nlinfit nlintool 所得的回归函数在 x 处的预测值 Y 及其预测值的显著性为 1alpha 的置信区间 Y±delta ,调用格式为:

[Y,delta] = nlpredic(‘modelfun’,x,beta,r,J)

3、逐步回归

stepwise(x,y,inmodel,alpha)

四、拟合、插值、回归常用函数小结

1、拟合:

ployfit : 多项式拟合
lsqcurvefit : 非线性拟合
lsqnonlin : 非线性拟合

2、插值:

interp1 : 一维插值
interp2 : 二维插值
interp3 : 三维插值
griddata : 散乱点插值
spline : 三次样条

3、回归:

regress : 多元线性回归
rstool : 多元二项式回归
nlinfit : 多元非线性回归
nlintool : 多元非线性回归

猜你喜欢

转载自blog.csdn.net/GregoryHanson/article/details/79631875
2-6