• 大小: 7KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-07-26
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

以最大积雪深度与灌溉面积之间的关系为例子,包括:基于矩阵运算计算回归系数并添加趋势线,基于多项式拟合计算回归系数并添加趋势线,计算用于检验的主要统计量,借助回归分析程序包计算回归系数并估计检验统计量等几个方面的MATLAB程序源代码。

资源截图

代码片段和文件信息

%最大积雪深度与灌溉面积之间的关系
%绘制散点图并添加趋势线
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 29.2 34.1 46.7 37.4];
plot(xy‘Or‘);                        %绘制散点图
xlabel(‘最大积雪深度x‘);                %添加横轴标签
ylabel(‘灌溉面积y‘);                    %添加纵轴标签
hold on                                %保持图形
lsline                                 %添加趋势线

%基于矩阵运算计算回归系数并添加趋势线
[mn]=size(x);                         %计算自变量矩阵行列数
X=[ones(n1)x‘];                      %在自变量矩阵中添加常数向量并转置
Y=y‘;                                  %因变量向量转置
B=inv(X‘*X)*X‘*Y;                      %计算回归系数
f=B(1)+B(2)*x;                         %建设模型
plot(xf);                             %基于模型预测值添加趋势线
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(11))*s);              %计算截距的t统计量
t2=B(2)/(sqrt(p(22))*s);              %计算斜率的t统计量
e=y-f;                                 %计算残差
i=1:n-1;                               %残差编号
DW=sumsqr(e(i+1)-e(i))/sumsqr(e);      %计算Durbin-Watson统计量
BR2svFt1t2DW                    %给出参数和统计量的计算值

%将F值和t值转换为概率值
Sig=1-fcdf(Fmn-m-1)
P1=2*(1-tcdf(abs(t1)n-m-1))
P2=2*(1-tcdf(abs(t2)n-m-1))

%F检验、t检验和相关系数检验的等价性
F1=t2^2
F2=((n-2)*R2)/(1-R2)
R=sqrt(F/(F+n-2))
%计算相关系数的临界值
a=0.05;
Rc=sqrt(finv(1-a1n-2)/(finv(1-a1n-2)+n-2))
%预测
x=27.5;
y=B(1)+B(2)*x

%基于多项式拟合计算回归系数并添加趋势线
clear
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 29.2 34.1 46.7 37.4];
plot(xy‘+r‘);                        %绘制散点图
xlabel(‘最大积雪深度x‘);                %添加横轴标签
ylabel(‘灌溉面积y‘);                    %添加纵轴标签
title(‘最大积雪深度与灌溉面积的关系‘);   %添加图名
hold on                                %保持图形
B=polyfit(xy1);                      %多项式拟合
lx=linspace(1028);                    %限定趋势线的长度范围
z=polyval(Blx);                       %计算分割点上多项式的函数值
plot(lxz‘b-‘);                       %将趋势线添加到散点图中
hold off                               %绘图结束
B                                      %给出参数估计值

%计算用于检验的主要统计量
%计算相关系数和相关系数平方
C=corrcoef(xy);                       %计算相关系数矩阵
R=C(12);                              %提取相关系数
R2=R^2;                                %计算拟合优度
%计算标准误差和变异系数
[mn]=size(x);                         %计算自变量矩阵行列数
f=B(1)*x+B(2);                         %建设模型
e=y-f;                                 %计算残差
s=sqrt((sumsqr(e)/(n-m-1)));           %计算标准差
v=s/mean(y);                           %计算变异系数
%计算Durbin-Watson统计量
i=1:n-1;                               %残差编号
DW=sumsqr(e(i+1)-e(i))/sumsqr(e);      %计算DW值
RsDW                                 %给出主要的统计量

%基于多项式拟合计算回归系数并添加趋势线
clear
x=[15.2 10.4 21.2 18.6 26.4 23.4 13.5 16.7 2

评论

共有 条评论