Matlab与统计分析
一、回归分析
1、多元线性回归
命令 regress( ), 实现多元线性回归,调用格式为
[b,bint,r,rint,stats]=regress(y,x,alpha)
其中因变量数据向量Y和自变量数据矩阵x按以下排列方式输人
对一元线性回归,取k=1即可。alpha为显著性水平(),输出向量b,bint为回归系数估计值和它们的置信区间,r,rint为残差及其置信区间,stats是用于检验回归模型的统计量,有三个数值,第一个是, 其中R是相关系数,第二个是F统计量值,第三个是与统计量F对应的概率P,当时拒绝,回归模型成立.
注:1、两组数据的相关系数在概率论的标准定义是:
R= E{(x - E{x}) * (y - E{y})} / (sqrt({(x - E{x})^2) * sqrt({(y - E{y})^2))
E{}求取期望值。也就是两组数据协方差与两者标准差乘积的商。如果|R|=1说明两者相关,R=0说明两者不相关.
F是方差分析中的一个指标,一般方差分析是比较组间差异的。F值越大,P值越小,表示结果越可靠.
命令 rcoplot(r,rint),画出残差及其置信区间.
实例 1
已知某胡八年来湖水中COD浓度实测值(v)与影响因素湖区工业产值(x1)、总人口数(x2 )、捕鱼量(x3 )、降水量( x4)资料,建立污染物Y的水质分析模型.
Step 1 输入数据
x1=[, , , , , , , ];
x2=[,,,,,,,];
x3=[,,,,,,,];
x4=[, ,,, , ,, ];
Y=[, ,,,,,,];
Step 2 保存数据( 形式保存,便于以后调用)
save data x1 x2 x3 x4 y
load data %取出数据
Step 3 执行回归命令
x=[ones(8,1),x1,x2,x3,x4];
[b,bint,r,rint,stats]=regress(y,x)
得到结果:
b=(-, , .-,-)'
stats=(,,)'
即
Y= -++-+
=, F=,P=
非线性回归
命令 nlinfit( ) 实现非线性回归,调用格式为
[beta,r,J]=nlinfit(x,y,‘model’,beta0)
其中,输入数据x,y分别为n×m矩阵和n维列向量,对一元非线性回归,x为n维列向量;model是事先用m-文件定义的非
Matlab与统计分析 来自淘豆网www.taodocs.com转载请标明出处.