对某路段速度与密度相关分析
一、作业题目
如表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('路段观测结果','一次拟合曲线','二次拟合曲线','三次拟合曲线');

浙公网安备 33010602011771号