MATLAB一元線性回歸分析應用舉例
作者:凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/
huigui.m
function [b,bint,r,rint,states,sima2,p,y0,zxqj]=huigui(x,y,x0) %x –p元線性模型自變量的n個觀測值的n×p矩陣,y -p元線性模型因變量的n個觀測值的n×1向量,x0為預測值的橫坐標 %b -模型系數β的最小二乘估計值,bint -模型系數β的100(1-alpha)%置信區間,r -模型擬合殘差,rint -模型擬合殘差的100(1-alpha)%置信區間. %stats -包含R^2統計量、方差分析的F統計量的值、方差分析的顯著性概率p值和sigama^2的估計值,y0為預測值縱坐標 format short; x1=[ones(length(x),1),x]; [b,bint,r,rint,states]=regress(y,x1); sima2=(vpa(states(4),20)); p=vpa(states(3),20); %檢驗的p值 p<0.01,回歸方程高度顯著;0.0.1<=p<0.05,回歸方程顯著;p>=0.05,回歸方程不顯著 y0=b(1)+b(2)*x0; s=sqrt(states(4)); zxqj=[y0-2*s,y0+2*s]; %置信區間 plot(x,y,'.'),lsline %rcoplot(r,rint) %殘差分析
結果:
>> x=[1,2,3,4,5,6,7,8,9]'; >> y=[2,4,6,8,10,11,14,16,18]'; >> x0=10; >> [b,bint,r,rint,states,sima2,p,y0,zxqj]=huigui(x,y,x0) b = -0.0278 1.9833 bint = -0.6342 0.5786 1.8756 2.0911 r = 0.0444 0.0611 0.0778 0.0944 0.1111 -0.8722 0.1444 0.1611 0.1778 rint = -0.6654 0.7543 -0.7116 0.8338 -0.7363 0.8918 -0.7426 0.9315 -0.7321 0.9543 -0.8722 -0.8722 -0.6611 0.9500 -0.5981 0.9203 -0.5124 0.8679 states = 1.0e+03 * 0.0010 1.8941 0.0000 0.0001 sima2 = 0.12460317460317460317 p = 0.00000000088276169535500757861 y0 = 19.8056 zxqj = 19.0996 20.5115
殘差圖: