1.一种基于骑行上下文信息的共享单车流量预测方法,其特征在于:包括如下步骤:S100:引入的上下文特征,将共享单车流量预测转化为求T时刻对应的流量 的问题,问题转化的过程为:S110:将所有的历史观测值分为3个部分:Shour,Sday,Sweek;
当特征窗口w为1hour时,时间步长T=3时,即以w为单位,T为长度进行采样,获得历史数据作为特征;
当特征窗口w为24hour时,时间步长T=3时,即获取要预测时段的前3天的历史流量数据作为特征;
当特征窗口为148hour时,时间步长T=3时,即获取要预测时段的前3周的历史流量数据作为特征;
公式(1)表示如下:
S=[Xt‑Tw,Xt‑(Tw‑1)...Xt‑1] (1);
当w取值为1小时、24小时、148小时时,S分别记为Shour,Sday,Sweek;
S120:引入的上下文特征,上下文特征用E表示,如(2)所示:E={weather,windspeed,pressure,day of week,hour of day} (2);
则t时刻所对应的输入特征为
S130:共享单车流量预测问题定义为:输入时间步长T内的所有输入和部分观测序列{y1,y2...yT‑1},求T时刻对应的流量 公式如(3)所示:
S200:输入信息 使用LSTM网络作为编码器,计算得到隐藏层向量{h1,h2...hT},具体步骤包括:
设编码器的输入为 在LSTM网络中,当前时间t的隐藏状态是由上一时间的状态ht‑1和当前时间的输入xt共同决定的,则根据公式(4)得到编码器中的隐藏状态:ht=f1(ht‑1,xt) (4);
编码器逐个读入输入的历史流量观测数据 将其编码为一个隐藏状态序列{h1,h2...hT},这些隐藏状态中包含了原始输入数据的特征信息,通过规则q共同构成语义向量C,供解码器使用;
所述S200使用LSTM网络作为编码器时加入了注意力机制,将隐藏向量序列{h1,h2...hT}以加权的形式累加,如公式(7)所示:此时的编码器会将输入信息编码成一个语义向量序列{C1,C2...CT},每一个语义向量都包含对该时刻流量预测结果更为重要的特征信息;
S300:计算每一个隐藏层向量与st‑1的注意力得分,对所有注意力得分使用激活函数softmax得到注意力权重,所有注意力权重的总和为1;
使用LSTM网络作为解码器进行解码,在解码时根据输出对应的语义向量Ct进行解码;
计算注意力得分的步骤如下:
其中, 表示每一个隐藏层向量与st‑1计算得到注意力得分,W表示权重矩阵;
对所有注意力得分使用激活函数softmax得到注意力权重的过程如下:其中, 表示t时刻输入隐藏层状态中的注意力权重;
S400:LSTM网络作为解码器,通过对得到的语义向量序列{C1,C2...CT}进行解码,得到最终的预测结果,LSTM作为解码对得到的语义向量序列{C1,C2...CT}进行解码的过程如下:st=f2(st‑1,U[yt‑1;Ct‑1]+b) (10);
其中,yt‑1是t‑1时刻对应的观测值,即t‑1时刻对应的共享单车流量,Ct‑1是t‑1时刻对应的语义向量,包含与t‑1时刻流量预测值最为相关的输入特征信息;[yt‑1;Ct‑1]表示将二者进行拼接,同t‑1时刻对应的隐藏层状态一起作为LSTM网络的输入,f2即表示通过LSTM模型进行计算,U和b是网络中需要学习到的参数;
利用公式(11)得到最终的预测结果, 是T时刻所对应的流量预测值,V、W、bw和bv都是网络中需要学习到的参数,sT对应T时刻解码器的隐藏层状态,CT为T时刻对应的编码得到的语义向量。