资源描述:
《稳健回归的反复加权最小二乘迭代解法及其应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、调用robustfit函数作稳健回归regress函数和regstats函数利用普通最小二乘法估计模型中的参数,参数的估计值受异常值的影响比较大。robustfit函数采用加权最小二乘法估计模型中的参数,受异常值的影响就比较小。robustfit函数用来作稳健的多重线性或广义线性回归分析,下面介绍robustfit函数的用法。1.4.1.robustfit函数的用法robustfit函数有以下几种调用方式:b=robustfit(X,y)b=robustfit(X,y,wfun,tune)b=robus
2、tfit(X,y,wfun,tune,const)[b,stats]=robustfit(…)(1)b=robustfit(X,y)返回多重线性回归方程中系数向量β的估计值b,这里的b为一个1p×的向量。输入参数X为自变量观测值矩阵(或设计矩阵),它是的矩阵。与regress函数不同的是,默认情况下,robustfit函数自动在X第1列元素的左边加入一列1,不需要用户自己添加。输入参数y为因变量的观测值向量,是的列向量。robustfit函数把y或X中不确定数据NaN作为缺失数据而忽略它们。np×1n×
3、(2)b=robustfit(X,y,wfun,tune)用参数wfun指定加权函数,用参数tune指定调节常数。wfun为字符串,其可能的取值如表1-3所示。表1-3robustfit函数支持的加权函数加权函数(wfun)函数表达式默认调节常数值'andrews'sin(
4、
5、)rwIrrπ=⋅<1.339'bisquare'(默认值)22(1)(
6、
7、1)wrIr=−⋅<4.685'cauchy'21(1)wr=+2.385'fair'1(1
8、
9、)wr=+1.400'huber'1max(1,
10、
11、)wr
12、=1.345'logistic'tanh()wr=1.205'ols'普通最小二乘,无加权函数无'talwar'(
13、
14、1)wIr=<2.795'welsch'2rwe−=2.985若调用时没有指定调节常数tune,则用表1-3中列出的默认调节常数值进行计算。表1-3中加权函数中的r通过下式计算residr=tunes1-h××其中resid为上一步迭代的残差向量,tune为调节常数,h是由最小二乘拟合得到的中心化杠杆值向量,s为误差项的标准差的估计。s的计算公式为:s=MAD/0.6745,其中MAD为
15、残差绝对值的中位数,在正态分布下,这个估计是无偏的。若X中有p列,计算MAD时,将残差绝对值向量的前p个最小值舍去。用户可以定义自己的权重函数,函数的输入必须是残差向量,输出是权重向量。在调用robustfit函数时,把自定义权重函数的句柄(形如@myfun)作为wfun参数传递给robustfit函数,此时必须指定tune参数。(3)b=robustfit(X,y,wfun,tune,const)用参数const来控制模型中是否包含常数项。若const取值为'on'或1,则模型中包含常数项,此时自动在
16、X第1列的左边加入一列1,若const取值为'off'或0,则模型中不包含常数项,此时不改变X的值。(4)[b,stats]=robustfit(…)返回一个结构体变量stats,它的字段包含了用于模型诊断的统计量。stats有以下字段:•stats.ols_s—普通最小二乘法得出的σ的估计(RMSE);•stats.robust_s—σ的稳健估计;•stats.mad_s—用残差绝对值的中位数计算σ的估计;•stats.s—σ的最终估计,是ols_s和robust_s的加权平均与robust_s中的最
17、大值;•stats.se—系数估计的标准误差;•stats.t—b与stats.se的比值;•stats.p—t检验的p值;•stats.covb—系数向量的协方差矩阵的估计;•stats.coeffcorr—系数向量的相关系数矩阵的估计;•stats.w—稳健拟合的权重向量;•stats.h—最小二乘拟合的中心化杠杆值向量;•stats.R—矩阵X的QR分解中的R因子