一元线性回归

1.一元线性回归散点图

%最大积雪深度与灌溉面积之间的关系%
%绘制散点图,并添加趋势线%
x=[15.2,10.4,21.2,18.6,26.4,23.4,13.5,16.7,24,19.1]; %%最大积雪深度
y=[28.6,19.3,40.5,35.6,48.9,45.0,29.2,34.1,46.7,37.4];  %%灌溉面积
plot(x,y,'or'); %%绘制散点图
xlabel('最大积雪深度x');  %%添加x轴标签
ylabel('灌溉面积y');   %%添加y轴标签
hold on   %%保持图形
lsline  %%添加趋势线


2.基于矩阵运算的求解模型

%%基于矩阵运算计算回归系数,并添加趋势线
x=[15.2,10.4,21.2,18.6,26.4,23.4,13.5,16.7,24,19.1]; %%最大积雪深度
y=[28.6,19.3,40.5,35.6,48.9,45.0,29.2,34.1,46.7,37.4];  %%灌溉面积
[m,n]=size(x);  
X=[ones(n,1),x'];  
Y=y';
B=inv(X'*X)*X'*Y;   %%计算回归系数
f=B(1)+B(2)*x;   %%建立模型:一元线性模型
plot(x,f);
hold off   
%%计算用于检验模型的各统计量
R2=(abs(B'*X'*Y)-n*mean(y)^2)/(abs(Y'*Y)-n*mean(y)^2); %%计算拟合优度
s=sqrt((Y'*Y-B'*X'*Y)/(n-m-1));  %%计算标准误差
v=s/mean(y);  %%计算变异系数
F=(abs(B'*X'*Y)-n*mean(y)^2)/(m*s^2);   %%计算F统计量
p=inv(X'*X);   %%求逆
t1=B(1)/(sqrt(p(1,1))*s);   %%计算截距的t统计量
t2=B(2)/(sqrt(p(2,2))*s);   %%计算斜率的t统计量
e=y-f;   %%计算残差
i=1:n-1;  %%残差编号
DW=sumsqr(e(i+1)-e(i))/sumsqr(e);   %%计算Durbin-Watson统计量
B,R2,s,v,F,t1,t2,DW   %%给出参数和统计量的计算值




3.绘制残差变化区间图

%最大积雪深度与灌溉面积之间的关系%
%绘制散点图
x=[15.2,10.4,21.2,18.6,26.4,23.4,13.5,16.7,24,19.1]; %%最大积雪深度
y=[28.6,19.3,40.5,35.6,48.9,45.0,29.2,34.1,46.7,37.4];  %%灌溉面积
plot(x,y,'or'); %%绘制散点图
xlabel('最大积雪深度x');  %%添加x轴标签
ylabel('灌溉面积y');   %%添加y轴标签
hold on   %%保持图形
%%计算回归系数
[m,n]=size(x);  
X=[ones(n,1),x'];
Y=y';
[B,Bint,E,Eint,Stats]=regress(Y,X);  %%调用线性回归函数
x=sort(x); %%自变量重新排序
f=B(1)+B(2)*x; %%建模
plot(x,f); %%添加趋势线
hold off
s=Stats(4)^0.5;  %%计算标准误差
DW=sum((E(2:10)-E(1:9)).^2)/sum(E.^2); %%计算DW统计量
figure(2);
rcoplot(E,Eint); %%绘制残差变化区间
B,Bint,E,Eint,Stats,s,DW  %%输出部分计算结果

结果如下:


残差变化区间图:


4.总体的回归估计与预测分析

%最大积雪深度与灌溉面积之间的关系%
%绘制散点图
x=[15.2,10.4,21.2,18.6,26.4,23.4,13.5,16.7,24,19.1]; %%最大积雪深度
y=[28.6,19.3,40.5,35.6,48.9,45.0,29.2,34.1,46.7,37.4];  %%灌溉面积
plot(x,y,'or'); %%绘制散点图
xlabel('最大积雪深度x');  %%添加x轴标签
ylabel('灌溉面积y');   %%添加y轴标签
lsline   %%添加趋势线
hold on   %%保持图形
%%计算回归系数
a=0.01;  %%拟定显著性水平
x=sort(x); %%自变量重新排序
Sxx=sumsqr(x-mean(x));  %%计算自变量的离差平方和
%%计算预测值置信度
gamma=sqrt(finv(1-a,m,n-m-1)*(1/n+(x-mean(x)).^2)/Sxx)*Stats(4); 
upper=f+gamma;  %%置信预测值的上限
lower=f-gamma;  %%置信预测值的下限
plot(x,upper,'g');  %%将上限添加到图形中
hold on
plot(x,lower,'g');  %%将下限添加到图形中
hold off  %%绘图结束


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值