调用robustfit函数作稳健回归
来源:互联网 发布:手机淘宝店铺店招制作 编辑:程序博客网 时间:2024/04/30 13:03
调用robustfit函数作稳健回归
regress函数和regstats函数利用普通最小二乘法估计模型中的参数,参数的估计值受异常值的影响比较大。robustfit函数采用加权最小二乘法估计模型中的参数,受异常值的影响就比较小。robustfit函数用来作稳健的多重线性或广义线性回归分析,下面介绍robustfit函数的用法。
1.4.1.robustfit函数的用法
robustfit函数有以下几种调用方式:
b = robustfit(X,y)
b = robustfit(X,y,wfun,tune)
b = robustfit(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×
(2)b = robustfit(X,y,wfun,tune)
用参数wfun指定加权函数,用参数tune 指定调节常数。wfun为字符串,其可能的取值如表1-3所示。
表1-3 robustfit函数支持的加权函数
加权函数(wfun)
函数表达式
默认调节常数值
'andrews' sin(||)rwIrrπ=⋅<
1.339
'bisquare'(默认值)
22(1)(||1)wrIr=−⋅<
4.685
'cauchy' 21(1)wr=+
2.385
'fair' 1(1||)wr=+
1.400
'huber' 1max(1, ||)wr=
1.345
'logistic' tanh()wr=
1.205
'ols'
普通最小二乘,无加权函数
无
'talwar'
(||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为残差绝对值的中位数,在正态分布下,这个估计是无偏的。若X中有p列,计算MAD时,将残差绝对值向量的前p个最小值舍去。
用户可以定义自己的权重函数,函数的输入必须是残差向量,输出是权重向量。在调用robustfit函数时,把自定义权重函数的句柄(形如@myfun)作为wfun参数传递给robustfit函数,此时必须指定tune参数。
(3)b = robustfit(X,y,wfun,tune,const)
用参数const来控制模型中是否包含常数项。若const取值为 'on' 或1,则模型中包含常数项,此时自动在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中的最大值;
• stats.se — 系数估计的标准误差;
• stats.t — b与stats.se的比值;
• stats.p — t检验的p值;
• stats.covb — 系数向量的协方差矩阵的估计;
• stats.coeffcorr — 系数向量的相关系数矩阵的估计;
• stats.w — 稳健拟合的权重向量;
• stats.h — 最小二乘拟合的中心化杠杆值向量;
• stats.R — 矩阵X的QR分解中的R因子
- 调用robustfit函数作稳健回归
- 稳健回归(Robustness regression)
- 稳健回归(Robustness regression)
- R数据分析实例:稳健回归
- 对被调用的函数作声明
- 函数指针作函数参数/用函数指针调用函数
- 回归之作-日报
- 动态参数表作实参调用带动态参数表的函数
- 函数调用困难那重重之处女之作
- 下标引用、函数调用、结构体操作符
- R语言调用rlm函数生成稳建回归模型
- MATLAB用regress作多元非线性回归
- 用Python的扩展作回归
- Keras框架作线性回归和非线性回归
- 二维数组指针,二维数组作参数函数调用简单实例(c/c++)
- C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
- logistic回归代价函数
- 逻辑回归函数Softmax()
- 反向投影图
- 关于MPEG2中的图像序列和图像组头GOP
- 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
- ffmpeg视频格式转换(Java)
- Makefile详解
- 调用robustfit函数作稳健回归
- 视频运动motion vector获取。
- 深度学习的一些教程
- 3个著名加密算法(MD5、RSA、DES)的解析
- 也谈LBP
- Software: MPEG-7 Feature Extraction Library
- 心胸与格局
- 应用OpenCV进行OCR字符识别
- 6 个优秀的开源 OCR 光学字符识别工具