对某路段速度与密度相关分析

 

一、作业题目

如表1-1所示为某个路段观测到的速度(km/h)和密度(vel/km)数据。请对这两组数据进行回归分析。

表1-1 某路段速度和密度观测结果

速度km/h

密度veh/km

速度km/h

密度veh/km

速度km/h

密度veh/km

速度km/h

密度veh/km

20.4

38.8

30.8

31.6

121.7

8.5

90.1

13.2

27.4

31.5

26.5

34.0

106.5

11.1

106.7

11.4

106.2

10.6

35.7

28.9

130.5

8.6

99.3

11.2

80.4

16.1

30.0

28.8

101.1

11.1

107.2

10.3

141.3

7.7

106.2

10.5

123.9

9.8

109.1

11.4

130.9

8.3

97.0

12.3

144.2

7.8

29.5

31.8

二、解题过程

首先通过MATLAB将路段速度和密度观测数据绘制散点图,如图1-1所示。根据样本线性系数计算公式求得r=-0.97(p=0.000<0.05),因此,速度和密度是高度相关的。密度和运行速度两者之间存在着很强的线性相关性,并且相关系数为负值,表明随着密度的增加,车辆运行的速度是下降的。速度—密度散点图也表明速度和密度之间的存在很强的相关性。

 

图1-1 某路段速度密度散点图

所以列出三种数学模型,分别是(1) ,(2) ,(3) 。则根据MATLAB中的regress函数计算出每个模型中回归系数估计值,计算结果如表1-2,

表1-2 回归系数估计值

函数类型

回归系数估计值

拟合优度

回归模型是否成立

一次回归函数

=38.1295;

=-0.2425;

0.9438

成立

二次回归函数

=45.7283;

=-0.5221;

=0.0018;

0.9901

成立

三次回归函数

=52.0470;

=-0.8576;

=0.0062;

=-1.7272e-06

0.9922

成立

根据回归系数估计值绘制拟合曲线图,如图1-2所示,可以看出最符合速度与密度的回归函数应该是二次回归函数。

 

图1-2 某路段速度—密度回归拟合图

三、结论

对比三组不同次数的回归函数,虽然次数越高,回归函数与观测数据的方差越接近于1,拟合程度越高,但是相对的函数构成就越复杂,不利于回归函数的应用与计算。所以在同时满足拟合优度和函数可操作性的条件下,二次回归函数是最合适的回归函数。

附录(MATLAB代码)

clc

clear

speed=xlsread("road_speed_and_density.xlsx","A2:A25");

density=xlsread("road_speed_and_density.xlsx","B2:B25");

hold on

plot(speed,density,'o','MarkerFaceColor','k');

%,alpha 为显著性水平(缺省时设定为0.05)

%b,bint 为回归系数估计值和它们的置信区间,

%r,rint 为残差(向量)及其置信区间,stats 是用于检验回归模型的统计量,有四个数值

%第一个R2,第二个F,第三个是与F对应的概率p,p <α拒绝H0,回归模型成立,第四个是残差的方差s2

alpha=0.05;

speed1=[ones(24,1),speed];

speed2=[ones(24,1),speed,power(speed,2)];

speed3=[ones(24,1),speed,power(speed,2),power(speed,3)];

[b1,bint1,r1,rint1,stats1]=regress(density,speed1,alpha);

[b2,bint2,r2,rint2,stats2]=regress(density,speed2,alpha);

[b3,bint3,r3,rint3,stats3]=regress(density,speed3,alpha);

%显示拟合函数系数,从低次到高次

b1,bint1,stats1

b2,bint2,stats2

b3,bint3,stats3

%绘制不同次拟合函数

x=0:1:150;

fit_density1=-0.2425*x+38.1295;

fit_density2=0.0018*power(x,2)-0.5221*x+45.7283;

fit_density3=-1.676e-05*power(x,3)+0.0062*power(x,2)-0.8576*x+52.0470;

plot(x,fit_density1,'b');

plot(x,fit_density2,'k');

plot(x,fit_density3,'r');

xlabel('速度/(km/h)');

ylabel('密度/(veh/km)');

title('某路段速度—密度回归拟合图');

legend('路段观测结果','一次拟合曲线','二次拟合曲线','三次拟合曲线');

posted @ 2020-09-25 22:23  shuidashan  阅读(286)  评论(0)    收藏  举报