MATLAB统计工具箱中提供了regstats函数,也可用来作多重线性或广义线性回归分析,它的调用方式如下:
regstats(y,X,model)
stats=regstats(…)
stats=regstats(y,X,model,whichstats)
(1)regstats(y,X,model)
作多重线性回归分析.输入参数X为自变量观测值矩阵(或设计矩阵),它是的矩阵.默认情况下,regstats函数自动在X第1列元素的左边加入一列1,不需要用户自己添加.输入参数y为因变量的观测值向量,是的列向量.可选的输入参数model是一个字符串,用来控制回归模型的类型,其可用的字符串如表1-2所示.
表1-2regstats函数支持的model参数
model参数的参数值
说明
'linear'
带有常数项的线性模型(默认情况)
'interaction'
带有常数项、线性项和交叉项的模型
'quadratic'
带有常数项、线性项、交叉项和平方项的模型
'purequadratic'
带有常数项、线性项和平方项的模型
在这种调用方式下,regstats函数会生成一个交互式图形用户界面(GUI),界面上带有回归诊断统计量列表,包括系数的估计值、因变量的预测值、残差、判定系数、调整的判定系数、F检验和t检验的相关结果等,共23个可选项.通过这个界面,用户可以很方便地将回归分析的各种结果导入MATLAB工作空间.
(2)stats=regstats(…)
返回一个结构体变量stats,它有24个字段,包括了回归分析的所有诊断统计量.这种调用方式不生成图形用户界面,stats的后23个字段分别与图形用户界面上的23个选项相对应.
(3)stats=regstats(y,X,model,whichstats)
仅返回由whichstats参数指定的统计量.whichstats可以是形如'leverage'的单个字符串,也可以是形如{'leverage''standres''studres'}的字符串元胞数组.若whichstats是字符串'all',则返回所有统计量.
注意:当需要计算F统计量的观测值时,模型中应包含常数项.若模型中不包含常数项,regstats函数输出的F统计量的观测值是不正确的.在不考虑常数项的情况下,计算出的判定系数2R的值可能是负的,说明所用模型不适合用户的数据.