示例:
clear;
clc;
x = [3.5 1.8 2.4 3.0 3.5 3.9 4.4 4.8 5.0];
y = [8.5 2.57 3.0 5.3 8.9 11.69 13.1 13.6 13.3];
stats=reglm(y,x,'linear'); %调用reglm函数,自定义的函数做一元线性回归
[xsort,id]=sort(x); %对x进行默认为升序的排列
ysort=y(id); %对y做相应的排列,按照x的顺序
plot(xsort,ysort,'k.','MarKersize',15); %画原数据的散点图,15个单位MaiKersize,删掉时默认的
hold on %保持当前图像,把后面的图像都添加到当前图像中
plot(x,stats.yhat,'linewidth',3) %画以(x,y^)为点的回归直线,注意是一个.
xlabel('温度') %x轴的名称为'温度'
ylabel('重量') %y轴的名称为‘重量’
legend('原始值','回归直线'); %定义画框中的内容
-方差分析表------------------------------------
方差来源 自由度 平方和 均方 F值 p值
回归 1.0000 146.3341 146.3341 119.9926 0.0000
残差 7.0000 8.5367 1.2195
总计 8.0000 154.8708
均方根误差(Root MSE) 1.1043 判定系数(R-Square) 0.9449
因变量均值(Dependent Mean) 8.8844 调整的判定系数(Adj R-Sq) 0.9370
-----------------------------------参数估计-----------------------------------
变量 估计值 标准误 t值 p值
常数项 -5.4375 1.3583 -4.0032 0.0052
X1 3.9906 0.3643 10.9541 0.0000
>>
>%pr大于F的值为0,往右边走概率接近0,拒绝原假设,原假设β=0,那就是β不等于0
>%根据估计值,得Y=3.9906*-5.4375