“算”出停车位
妈妈开车外出时,因难以找到停车位,停车总要花费很多时间。尽管有些手机App能显示当前车库车位的空位数,但往往等我们把车开过去时车库就已经停满了。如果能提前预测车库在几分钟之内有空位,可以直接开过去停车,该有多好啊。
要想预测出几分钟之后的车库空位,我认为必须用一种可根据历史停车信息推断出未来空位信息的智能算法。
经过搜索,我发现有很多智能预测算法,其中BP神经网络可根据历史信息推算出未来的信息。在BP神经网络研究者的探索下,BP神经网络的各方面都趋向成熟,如今已被运用到多个领域,如数据挖掘、模式识别、图像处理、股票预测、市场分析等。
能不能用该算法预测车库的空位数?
一、实施步骤
我选择位于温州市区车流量较大地区一个车容量为210辆的停车场作为研究对象,选取了从2017年10月21日 0:00:00到2017年10月26日 21:15:08的1612条即时车库空位数据按照以下步骤进行研究。
。抽取成1612行、6列的数据格式,第
1到第5列为输入层数据,第6列为输出层数据。
。前865条为训练数据集,后747条为测试数据集。
。采用最大最小归一化方式:xk=(xk-xmin)/(xmax-xmin)。
。设置输入层节点数为n=5个,隐含层节点为j=50个,输出层节点k=1个的三层结构。初始化输入层、隐含层和输出层节点之间的连接权值wij,wjk(随机值),并给出隐含层节点和输出层节点的阈值θj和θk(随机值),这里迭代次数为5000次,=,=,节点传递函数=‘logsig’。
。根据输入层5个时间节点的车库空位Oi以及隐含层的连接权值wij、隐层阈值θj,计算隐含层输出Oj。
Ij=■wijOi+θj Oj=■
。根据隐含层输出Oj、连接权值wjk和输出层阈值θk,计算输出层输出Ok(预测的车库空位数)。
Ok=■Ojwjk+θk
,根据误差反向传播,并更新权值和阈值。期望输出Yk,输出层误差Errk,隐含层误差Errj。
Errk=Ok(1-Ok)(Yk-Ok)
Errj=Oj(1-Oj)■Errkwjk
权值和阈值更新:
Vwjk=lr*ErrkOj Vwij=lr*ErrjOi
wjk=wjk+Vwjk wij=wij+Vwij
V =lr*Errk V =lr*Errj
θk=θk+V θj=θj+V
=,若没有则按第5步骤继续计算。
二、实验分析
按照以上步骤,我用matlab分别对该停车场5min后、10min后、15min后的车辆数进行仿真预测,并和真实值进行对比。
由预测值与实际值的对比得出以下结论。
、10min、15min的停车场车辆数,由此可得出空位数。
“算”出停车位 来自淘豆网m.daumloan.com转载请标明出处.