matlab实现线性函数逼近,[转载]【MATLAB】MATLAB 线性拟合小结 ——&nb

本文介绍了如何使用MATLAB进行线性拟合,特别是多元线性回归。通过regress函数进行一元线性回归分析,讨论了回归模型的系数、残差、置信区间和统计量,提供了代码示例和结果解释,帮助理解线性回归在数据分析中的应用。
摘要由CSDN通过智能技术生成

MATLAB

线性拟合小结 —— REGRESS多元线性回归(用最小二乘估计法)

http://wenku.baidu.com/view/0a0ea0de941ea76e59fa0418.html?re=view

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。如果只有一个自变量即一元线性回归。一元线性回归方程:y=β0+β1x+ε (ε是随机误差,满足E(ε)=0,var(ε)=σ2)其中选择β0,β1通常采用最小二乘法(用残差平方和来刻画所有观察值与回归直线的偏差程度)。

基本调用方法:

>> [b, bint, r, rint, s] =

regress(y, xdata); % 调用regress函数作一元线性回归

>> yhat = xdata*b; %

计算y的估计值

B = REGRESS(Y,X)

返回值为线性模型Y = X*B的回归系数向量

X :n-by-p 矩阵,行对应于观测值,列对应于预测变量

Y :n-by-1 向量,观测值的响应(即因变量,译者注)

[B,BINT] =

REGRESS(Y,X)

BINT:B的95%的置信区间矩阵。Bint

置信区间不大,说明有效性较好;若含零点,说明结果无效。

[B,BINT,R] =

REGRESS(Y,X)

R:残差向量(因变量的真实值减去估计值)

[B,BINT,R,RINT] =

REGRESS(Y,X)

RINT:返回残差的95%置信区间,它是一个2×n的矩阵,第1列为置信下限,第2列为置信上限。该矩阵可以用来诊断异常(即发现奇异观测值,译者注)。

如果第i组观测的残差的置信区间RINT(i,:)所定区间没有包含0,则第i个残差在默认的5%的显著性水平比我们所预期的要大,这可说明第i个观测值是个奇异点(即说明该点可能是错误而无意义的,如记录错误等,译者注)

[B,BINT,R,RINT,STATS] =

REGRESS(Y,X)

STATS:向量,STATS中的4个值分别为:R2(判定系数),F(总模型的F测验值),P(总模型F的概率值P(F>Fz)),MSq(离回归方差或误差方差的估计值)。

判定系数(the Coefficient of the

Determination)R2:是判断回归模型拟合程度的一个指标,其取值范围为[0,

1];判定系数越大说明回归模型的拟合程度越高,回归方程越显著。

F>F(1-α)(k,

n-k-1)时拒绝H0,F越大,说明回归方程越显著。

与F对应的概率P

MSq:由于最小二乘法中不求误差方差σ2,其误差平方和Msq定义为SSR/自由度,其中SSR为Regression Sum of Squares。

[B,BINT,R,RINT,STATS]=regress(Y,X,

ALPHA)

用100*(1-ALPHA)%的置信水平来计算BINT,用(100*ALPHA)%的显著性水平来计算RINT。

PS. X应该包含一个全“1”的列,这样则该模型包含常数项。利用它实现X=[ones(size(x,1))

x]

Fz(总模型的F测验值)和p(总模型F的概率值P(F>Fz))是在模型有常数项的假设下计算的,如果模型没有常数项,则计算得的F统计量和p值是不正确的。

若模型没有常数项,则这个值可以为负值,这也表明这个模型对数据是不合适的。(即数据不适合用多元线性模型,译者注)

如果X的列是线性相关的,则REGRESS将使B的元素中“0”的数量尽量多,以此获得一个“基本解”,并且使B中元素“0”所对应的BINT元素为“0”。

REGRESS 将X或者Y中的NaNs当作缺失值处理,并且移除它们。

PPS.

rcoplot(r,rint)

这是个画残差的函数,红色的表示超出期望值的数据。圆圈代表残差的值,竖线代表置信区间的范围。

PPPS.polyfit函数中第一个多项式系数p([p,S] =

polyfit(x,y,n))是按高次到低次排列的行向量;而regress中的b(b =

regress(y,X))是从低到高,而且是个列向量。若想得到与polyfit相同的多项式系数向量,需要将b顺时针旋转90度,即p=rot90(b,-1)。注意,仅仅将b进行转置还不够,还需要fliplr才可以。

>> ClimateData =

xlsread('examp01_01.xls'); % 从Excel文件读取数据

>> x &#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值