利用建筑数据跨领域学习实现精准交通预测
在交通领域,准确预测交通流量对于城市规划、交通管理等方面至关重要。本文将介绍一种利用建筑传感数据进行跨领域学习的交通流量预测方法,以及相关模型的性能评估。
1. 问题提出
我们的目标是通过应用建筑传感数据和历史交通流量数据来预测交通流量。假设在T个时间间隔内有N种建筑传感数据,以下是相关的符号表示:
-
建筑数据类型
:建筑物的物联网传感器会生成N种用于交通预测的传感数据,其中包括No种占用传感数据(例如覆盖不同公共区域)和Ne种环境传感数据(例如室内环境和室外环境数据),显然N = No + Ne。
-
建筑传感数据
:用$x_t(i)$表示时间t的第i种建筑传感数据,$x_t = {x_t(i)|1 ≤ i ≤ N}$表示时间t所有建筑传感数据的向量。相应地,$X_{[1:T]} = [x_1, x_2, …, x_T]^{T×n}$表示T个时间间隔内所有建筑数据的测量矩阵。
-
交通流量数据
:用$y_t$表示目标路段在时间t的交通流量,$1 ≤ t ≤ T - 1$。相应地,$y_{[1:T - 1]}$表示目标路段在T - 1个时间间隔内的历史交通流量向量,其中$y = {y(j)|1 ≤ j ≤ T - 1}$。
-
未来交通流量
:目标道路的预测交通流量表示为$\hat{Y}
{[T:T + τ]} = {y(j)|T ≤ j ≤ T + τ}$,同时用$Y
{[T:T + τ]}$表示其真实值,其中τ是预测的时间间隔。
形式上,给定T个时间间隔内的n种建筑传感数据和目标路段在T - 1个时间间隔内的历史数据,τ个未来时间间隔的交通流量预测问题定义为:
$$
\min \left|\hat{Y}
{[T:T + τ]} - Y
{[T:T + τ]}\right|
F^2
$$
其中$\hat{Y}
{[T:T + τ]} = F(y_{[1:T - 1]}, X_{[1:T]})$,$F(·)$表示从建筑传感数据到交通数据的非线性映射函数,预测模型需要学习该函数。
2. 基于注意力机制的编码器 - 解码器循环神经网络
为了解决基于跨领域学习的交通流量预测问题,我们提出了BuildSenSys,这是一种基于LSTM的编码器 - 解码器架构,具有双注意力机制。
2.1 具有跨领域注意力的编码器
作为基于LSTM的循环神经网络,BuildSenSys框架中的编码器将输入序列编码为特征向量。为了预测跨领域交通流量,给定N种建筑传感数据,输入序列表示为$X = (x_1, …, x_t, …, x_T)$,其中$x_t \in \mathbb{R}^N$。编码器在时间间隔t的隐藏状态计算如下:
$$
h_t = f_e(h_{t - 1}, x_t)
$$
其中$h_{t - 1} \in \mathbb{R}^p$是编码器在时间间隔t - 1的前一个隐藏状态;p是编码器中隐藏状态的大小,$f_e$是基于LSTM的循环神经网络。编码器LSTM通过以下公式更新其隐藏状态:
$$
f_t = \sigma(W_f[h_{t - 1}; x_t] + b_f)
$$
$$
i_t = \sigma(W_i[h_{t - 1}; x_t] + b_i)
$$
$$
o_t = \sigma(W_o[h_{t - 1}; x_t] + b_o)
$$
$$
s_t = f_t \odot s_{t - 1} + i_t \odot \tanh(W_s[h_{t - 1}; x_t] + b_s)
$$
$$
h_t = o_t \odot \tanh(s_t)
$$
其中$[·;·]$是连接操作;$\sigma$是逻辑Sigmoid函数;$\odot$是逐点乘法;$W_f, W_i, W_o, W_s, b_f, b_i, b_o, b_s$是可学习参数。
为了识别复杂的建筑 - 交通相关性并促进所有输入数据的特征表示,我们提出了跨领域注意力机制,分别对占用组件和环境组件进行处理:
-
占用组件
:假设第j个区域的占用情况为$x_j = [x_{j1}, x_{j2}, …, x_{jt}]^T \in \mathbb{R}^T$,$1 ≤ j ≤ N_o$。占用组件的跨领域注意力通过参考编码器LSTM的前一个隐藏状态$h_{t - 1}$和前一个单元状态$s_{t - 1}$计算:
$$
o_{jt} = v_o^T \tanh(W_o[h_{t - 1}; s_{t - 1}] + U_o x_j + b_o)
$$
$$
\beta_{jt} = \frac{\exp(o_{jt})}{\sum_{i = 1}^{N_o} \exp(o_{it})}
$$
其中$v_o, b_o \in \mathbb{R}^T$,$W_o \in \mathbb{R}^{T×2p}$和$U_o \in \mathbb{R}^{T×T}$是学习参数。时间间隔t占用组件的输出向量为:
$$
\hat{x}
{occ,t} = [\beta
{1t} x_{1t}, …, \beta_{j t} x_{j t}, …, \beta_{N_o t} x_{N_o t}]^T
$$
-
环境组件
:设$x_k$表示第k种环境数据输入,$x_k = [x_{k1}, x_{k2}, …, x_{kt}]^T \in \mathbb{R}^T$,$1 ≤ k ≤ N_e$。环境组件的跨领域注意力通过以下公式计算:
$$
e_{kt} = v_e^T \tanh(W_e[h_{t - 1}; s_{t - 1}] + U_e x_k + b_e)
$$
$$
\alpha_{kt} = \frac{\exp(e_{kt})}{\sum_{i = 1}^{N_e} \exp(e_{it})}
$$
其中$v_e, b_e \in \mathbb{R}^T$,$W_e \in \mathbb{R}^{T×2p}$和$U_e \in \mathbb{R}^{T×T}$是可学习参数。时间间隔t环境组件的输出向量为:
$$
\hat{x}
{env,t} = [\alpha
{1t} x_{1t}, …, \alpha_{k t} x_{k t}, …, \alpha_{N_e t} x_{N_e t}]^T
$$
最后,对于编码器LSTM,我们自适应地连接上述不同组件的输出向量,提取跨领域注意力机制的最终输出向量:
$$
\hat{x}
t = [\hat{x}
{env,t}; \hat{x}
{occ,t}]
$$
并将其作为编码器LSTM在时间间隔t的新输入,更新编码器LSTM的隐藏状态:
$$
h_t = f_e(h
{t - 1}, \hat{x}_t)
$$
2.2 具有时间注意力的解码器
为了识别交通流量和建筑数据之间的时间依赖性,我们部署了时间注意力机制。在计算时间间隔t编码器隐藏状态的注意力向量时,时间注意力机制参考解码器LSTM的前一个隐藏状态$h_{t - 1}’$和前一个单元状态$s_{t - 1}’$:
$$
\mu_{it} = v_d^T \tanh(W_d[h_{t - 1}’; s_{t - 1}’] + U_d h_i + b_d), 1 ≤ i ≤ T
$$
$$
\gamma_{it} = \frac{\exp(\mu_{it})}{\sum_{l = 1}^{T} \exp(\mu_{lt})}
$$
其中$v_d, b_d \in \mathbb{R}^p$;$W_d \in \mathbb{R}^{p×2q}$;$U_d \in \mathbb{R}^{p×p}$是学习参数。上下文向量$c_t$计算为所有编码器隐藏状态的加权和:
$$
c_t = \sum_{i = 1}^{T} \gamma_{it} h_i
$$
为了识别交通流量数据中的动态时间相关性,我们将上下文向量与$y = (y_1, …, y_t, …, y_{T - 1})$集成:
$$
\tilde{y}
{t - 1} = e_w^T [y
{t - 1}; c_{t - 1}] + e_b
$$
$$
h_t’ = f_d(h_{t - 1}’, \tilde{y}_{t - 1})
$$
其中$f_d$是作为解码器的基于LSTM的循环神经网络;$e_w \in \mathbb{R}^{p + 1}$和$e_b \in \mathbb{R}$是将连接结果映射到解码器输入大小的参数。最后,基于循环神经网络的注意力机制将上下文向量$c_T$与解码器隐藏状态$h_T’$连接,预测时间间隔T的交通流量:
$$
\hat{y}_T = v_y^T (W_y [c_T; h_T’] + b_y) + b
$$
3. 性能评估
为了评估BuildSenSys的性能,我们设计了一个原型系统,并进行了一系列实验。
3.1 实验方法和设置
-
数据集描述
:
- 交通数据 :从新南威尔士州道路和海事服务部的官方网站收集附近四条道路在2018年1月1日至2018年12月31日期间每小时的交通流量计数数据。
- 建筑传感数据 :通过三种方式收集,包括建筑物占用、建筑环境数据和室外环境数据。建筑物占用数据由分布在建筑物内兴趣点区域的摄像头传感器生成,并通过PLCount算法处理得到整体建筑物占用情况。建筑环境数据包括二氧化碳浓度、建筑湿度、氧气浓度、建筑温度和建筑空气污染。室外环境数据从建筑物屋顶气象站收集,包括室外温度、降雨量和风速。此外,还应用了气象局官方网站的每小时AQI数据,并将其与室外环境数据集成以预测交通流量。所有建筑传感数据和交通流量数据在训练和测试时按小时进行协调。
-
基线方法
:
- HA :历史平均模型,通过平均每个相应时间间隔的历史值来预测交通流量。
- ARIMA :自回归积分滑动平均模型,用于未来时间序列预测的经典方案。
- VAR :向量自回归模型,是单变量自回归模型的扩展,广泛应用于多变量时间序列预测。
- LWR :局部加权线性回归模型,是非参数模型,在兴趣点周围进行回归。
- LSTM :长短期记忆网络,是为防止梯度消失问题而开发的循环神经网络变体。
- Seq2Seq :基于编码器 - 解码器架构和循环神经网络的序列到序列模型。
- Seq2Seqw/attn :具有时间注意力机制的序列到序列模型。
-
评估指标和参数设置
:
-
评估指标
:使用三种广泛应用的评估指标,即平均绝对误差(MAE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE)。
$$
MAE = \frac{1}{\tau} \sum_{[T:T + \tau] \in \mathbb{R}^T} |Y_{[T:T + \tau]} - \hat{Y} {[T:T + \tau]}|
$$
$$
RMSE = \sqrt{\frac{1}{\tau} \sum {[T:T + \tau] \in \mathbb{R}^T} (Y_{[T:T + \tau]} - \hat{Y} {[T:T + \tau]})^2}
$$
$$
MAPE = \frac{1}{\tau} \sum {[T:T + \tau] \in \mathbb{R}^T} \frac{|Y_{[T:T + \tau]} - \hat{Y} {[T:T + \tau]}|}{Y {[T:T + \tau]}}
$$ - 参数设置 :使用TensorFlow框架实现BuildSenSys模型,并在两个具有16GB内存的NVIDIA Quadro P5000 GPU上与其他基线模型一起训练。BuildSenSys的可调超参数包括时间窗口L(即输入数据的小时长度)、预测窗口长度τ(未来交通预测的天数)以及编码器/解码器中隐藏状态的大小(分别用$h_a$和$h_b$表示)。对于LSTM、Seq2Seq、Seq2Seqw/attn和BuildSenSys模型,$h_a$和$h_b$分别从32、64、126、256调整到512;L分别从4、6、12、18、24调整到48小时。在训练过程中,批量大小设置为256,学习率设置为0.001,丢弃率设置为0.2,使用Adam作为优化器。将所有建筑传感数据和交通流量数据按时间顺序划分为训练集(70%)、验证集(10%)和测试集(20%)。
-
评估指标
:使用三种广泛应用的评估指标,即平均绝对误差(MAE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE)。
以下是不同模型在不同道路上的性能比较表格:
| Models | Road A | Road B | Road C | Road D |
| ---- | ---- | ---- | ---- | ---- |
| | RMSE | MAE | MAPE (%) | RMSE | MAE | MAPE (%) | RMSE | MAE | MAPE (%) | RMSE | MAE | MAPE (%) |
| LWR | 244.51 | 155.69 | 22.78 | 257.86 | 176.94 | 25.91 | 206.52 | 176.35 | 22.61 | 239.48 | 190.79 | 22.13 |
| ARIMA | 152.74 | 141.22 | 14.51 | 192.73 | 142.66 | 15.58 | 149.11 | 138.09 | 14.70 | 173.32 | 124.31 | 14.22 |
| VAR | 117.35 | 110.83 | 12.99 | 120.37 | 116.9 | 13.06 | 98.65 | 94.15 | 11.05 | 124.61 | 110.68 | 12.46 |
| HA | 108.01 | 89.72 | 11.37 | 125.88 | 93.57 | 12.78 | 90.71 | 65.20 | 10.26 | 117.03 | 89.45 | 11.12 |
| LSTM | 74.37 | 58.30 | 9.83 | 91.71 | 72.47 | 11.04 | 70.71 | 58.9 | 9.31 | 90.18 | 67.37 | 10.39 |
| Seq2Seq | 72.86 | 51.06 | 7.40 | 89.25 | 64.78 | 8.29 | 66.19 | 53.32 | 7.12 | 87.22 | 63.20 | 8.14 |
| Seq2Seqw/attn (128) | 59.58 | 45.18 | 6.89 | 73.5 | 59.12 | 7.75 | 54.07 | 46.98 | 6.73 | 81.15 | 56.95 | 7.49 |
| Seq2Seqw/attn (512) | 50.18 | 39.74 | 5.71 | 68.71 | 50.71 | 6.97 | 45.51 | 37.33 | 5.49 | 65.3 | 46.72 | 6.4 |
| BuildSenSys (128) | 46.89 | 33.35 | 4.85 | 60.18 | 41.89 | 4.36 | 36.42 | 27.14 | 5.25 | 50.45 | 38.56 | 5.2 |
| BuildSenSys (512) | 33.08 | 22.78 | 2.05 | 58.33 | 39.71 | 3.64 | 30.49 | 20.29 | 2.51 | 35.10 | 25.75 | 2.22 |
从表格中可以直观地看出不同模型在不同道路上的性能差异。接下来我们将继续分析实验评估的结果。
利用建筑数据跨领域学习实现精准交通预测
3.2 实验评估
-
整体预测结果评估
:
首先,我们在四种不同类型的道路(A:次要公路、B:主要公路、C:主要街道、D:主要干道)上,将BuildSenSys的预测结果与真实值进行比较,评估其整体预测准确性。图5.9展示了12天内预测的交通流量和真实值。从图5.9a - d可以看出,预测结果与真实值非常接近。这表明BuildSenSys能够有效地捕捉跨领域相关性和时间依赖性,在利用建筑数据进行交通流量预测方面表现出色。此外,这些结果还显示,路段与建筑物之间的距离会显著影响预测准确性。例如,如图5.9b所示,道路B的预测误差比道路A、C和D大得多,因为道路B距离建筑物最远,达到3.0公里。
以下是不同道路与建筑物距离及预测误差情况的表格:
| 道路类型 | 与建筑物距离(km) | 预测误差情况 |
| ---- | ---- | ---- |
| 道路A | 较近 | 误差较小 |
| 道路B | 3.0 | 误差较大 |
| 道路C | 较近 | 误差较小 |
| 道路D | 较近 | 误差较小 |
-
与基线方法的比较
:
我们使用三种评估指标,将BuildSenSys与七种基线方法在四条道路上进行性能量化比较。基线方法的基本参数设置参考相关标准。对于BuildSenSys,我们将输入时间窗口L设置为24,编码器LSTM和解码器LSTM的隐藏状态大小分别设置为128和512。
以下是BuildSenSys与基线方法性能比较的详细表格:
| Models | Road A | Road B | Road C | Road D |
| ---- | ---- | ---- | ---- | ---- |
| | RMSE | MAE | MAPE (%) | RMSE | MAE | MAPE (%) | RMSE | MAE | MAPE (%) | RMSE | MAE | MAPE (%) |
| LWR | 244.51 | 155.69 | 22.78 | 257.86 | 176.94 | 25.91 | 206.52 | 176.35 | 22.61 | 239.48 | 190.79 | 22.13 |
| ARIMA | 152.74 | 141.22 | 14.51 | 192.73 | 142.66 | 15.58 | 149.11 | 138.09 | 14.70 | 173.32 | 124.31 | 14.22 |
| VAR | 117.35 | 110.83 | 12.99 | 120.37 | 116.9 | 13.06 | 98.65 | 94.15 | 11.05 | 124.61 | 110.68 | 12.46 |
| HA | 108.01 | 89.72 | 11.37 | 125.88 | 93.57 | 12.78 | 90.71 | 65.20 | 10.26 | 117.03 | 89.45 | 11.12 |
| LSTM | 74.37 | 58.30 | 9.83 | 91.71 | 72.47 | 11.04 | 70.71 | 58.9 | 9.31 | 90.18 | 67.37 | 10.39 |
| Seq2Seq | 72.86 | 51.06 | 7.40 | 89.25 | 64.78 | 8.29 | 66.19 | 53.32 | 7.12 | 87.22 | 63.20 | 8.14 |
| Seq2Seqw/attn (128) | 59.58 | 45.18 | 6.89 | 73.5 | 59.12 | 7.75 | 54.07 | 46.98 | 6.73 | 81.15 | 56.95 | 7.49 |
| Seq2Seqw/attn (512) | 50.18 | 39.74 | 5.71 | 68.71 | 50.71 | 6.97 | 45.51 | 37.33 | 5.49 | 65.3 | 46.72 | 6.4 |
| BuildSenSys (128) | 46.89 | 33.35 | 4.85 | 60.18 | 41.89 | 4.36 | 36.42 | 27.14 | 5.25 | 50.45 | 38.56 | 5.2 |
| BuildSenSys (512) | 33.08 | 22.78 | 2.05 | 58.33 | 39.71 | 3.64 | 30.49 | 20.29 | 2.51 | 35.10 | 25.75 | 2.22 |
从表格数据可以看出,总体而言,BuildSenSys在预测准确性方面表现最佳,RMSE最低为30.49%,MAE最低为20.29%,MAPE最低为2.05%。它在道路D上的RMSE比表现最好的Seq2Seqw/attn高出46.2%,在道路C上的MAE高出45.6%,在道路D上的MAPE高出65.3%。而LWR模型在预测交通流量时也使用了建筑数据,但性能最差,在道路D上RMSE达到239.48%,MAE达到190.79%,MAPE达到22.13%,这是因为LWR模型基于线性建筑 - 交通相关性假设,而实际的建筑 - 交通相关性是非线性且随时间变化的,远比线性模型复杂。对于其他使用历史交通数据的基线方法,ARIMA和VAR方法由于在长期预测中,特别是在“转折点”(如高峰时段)的预测能力不足,表现较差。历史平均方法虽然是最朴素的方案,但在某些方面优于ARIMA和VAR。
以下是BuildSenSys与基线方法性能对比的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(选择评估指标):::process
B --> C{选择道路类型}:::decision
C --> |道路A| D(比较BuildSenSys与基线方法):::process
C --> |道路B| D
C --> |道路C| D
C --> |道路D| D
D --> E(得出性能结论):::process
E --> F([结束]):::startend
综上所述,BuildSenSys在利用建筑传感数据进行交通流量预测方面具有显著优势,能够有效捕捉跨领域相关性和时间依赖性,为城市交通规划和管理提供了更准确的决策依据。在实际应用中,可以根据不同道路的特点和需求,合理选择预测模型,以提高交通流量预测的准确性。
超级会员免费看
2283

被折叠的 条评论
为什么被折叠?



