第一章 绪论

  1. 课题背景及意义

随着国家在“十四五”规划中明确提出“推进智慧城市的建设”,基于数字化的新基建、城市治理、基础设施的智能化等已经被明确提到了城市发展战略。城市人口快速增长造成了道路交通拥堵,而道路拥堵阻碍着城市的发展,据高德地图发布的《2018Q3中国城市交通分析报告》我国拥堵延迟指数为1.56(在通行距离为1小时的行程花费出行时间为1.56小时),这意味着道路拥堵已经成为一个不可忽视的问题,不仅对居民带来了出行的不便,对城市经济增长也有不小的阻碍。

因为公共交通具有便捷、载客量大、价格低、污染小等优点,提倡居民出行乘坐公共交通是解决交通拥堵问题一个主流的方式。

同时,城市公交系统作为建设绿色城市和智慧交通的重要一环,吸引更多的乘客乘坐公交出行会是公交运营的一个主要任务,这有助于减少交通污染和缓解交通拥堵。因此,构建一个高效的公交运营系统提高乘客的出行效率和满意度,对推动绿色出行和社会发展有着重大的意义。

此外,由于居民日常出行人次巨大,公交运营系统每天将产生大量的数据如刷卡数据、GPS数据等,如何利用这些数据驱动公交运营系统的发展成为了研究的重点。公交刷卡时间可以一定程度反映城市规划和居民出行规律,比如客流会在站点的分布不一致,在早晚高峰由于上班和上学等需求出行的频率和规律也不一样,借助于机器学习对数据的处理和分析,能够得到更多反映公交站点规划和居民出行规律的数据,这些数据为运营决策和公交调度提供有效的数据支持。

  1. 课题来源

本文课题研究来源于天池2015年[飞粤云端2015]“公交线路客流预测”项目,该项目是通过分析广东省部分公交线路的历史公交刷卡数据,预测不同线路的客流情况,根据客流分布的结果,提前为人们选择合适的公交线路、避开线路客流高峰以及合理调配公交资源提供信息支持,最终实现公交线路客流预测,为广大乘客提供信息对称、安全舒适的出行环境。

第二章 算法介绍

2.1 CART树

2.1.1 CART算法概念

CART(Classification andRegression Tree)算法由Breiman等人在 1984 年提出,它采用与传统统计学完全不同的方式构建预测准则,它是以二叉树的形式给出,易于理解、使用和解释。CART算法既可用于分类也可用于回归,被称为数据挖掘领域内里程碑式的算法。

CART为一种二分决策树,是满二叉树。CART是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。

CART算法既可以处理离散型问题,也可以处理连续型问题。这种算法在处理连续型问题时,主要通过使用二元切分来处理连续型变量,即特征值大于某个给定的值就走左子树,或者就走右子树。

2.1.2 CART算法组成

(1)决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大;自上而下从根开始建立节点,在每个节点处要选择一个最好(不同算法使用不同指标来定义"最好")的属性来分裂,使得子节点中的训练数据集尽量的纯。

(2)决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时损失函数最小作为剪枝的标准。这里用代价复杂度剪枝CCP(Cost-Complexity Pruning)。

决策树的生成就是通过递归地构建二叉决策树的过程,对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。

CART模型最早由Breiman 等人提出,它采用与传统统计学完全不同的方式构建预测准则,它是以二叉树形式给出,易于理解、使用和解释。由CART 模型构建的预测树在很多情况下比常用的统计方法构建的代数学预测准则更加准确,且数据越复杂、变量越多,CART算法优越性就越显著。模型的关键是预测准则的构建。CART算法在统计、数据挖掘和机器学习等领域得到广泛应用。

2.2 GBDT预测

2.2.1 GBDT算法概念

 GBDT(Gradient Boosting Decision Tree),梯度提升树。它是一种基于决策树的集成算法。其中Gradient Boosting 是集成方法boosting中的一种算法,通过梯度下降来对新的学习器进行迭代。它是利用损失函数的负梯度方向在当前模型的值作为残差的近似值,进而拟合一棵CART回归树。GBDT算法无论处理回归问题还是分类问题使用的决策树都是CART回归树,原因是GBDT每次迭代要拟合的是梯度值,是一个连续值,所以要用回归树。

2.2.2 GBDT算法举例

假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时我们用6岁去拟合剩下的损失,发现差距还有4岁,第三轮我们用3岁拟合剩下的差距,差距就只有一岁了。如果我们的迭代轮数还没有完,可以继续迭代下面,每一轮迭代,拟合的岁数误差都会减小。

图1_ GBDT算法举例

2.2.3 GBDT训练过程

    GBDT通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练。对弱分类器的要求一般是足够简单,并且是低方差和高偏差(模型的预测效果不好,但是模型比较健壮(稳定),预测结果比较集中)的。因为训练的过程是通过降低偏差来不断提高最终分类器的精度。

    弱分类器一般会选择为CART TREE(也就是分类回归树)。由于上述高偏差和简单的要求,每个分类回归树的深度不会很深。最终的总分类器是将每轮训练得到的弱分类器加权求和得到的(也就是加法模型)。

在GBDT的迭代中,假设我们前一轮迭代得到的强学习器是ft-1(x),损失函数是L(y,ft-1(x)) ,我们本轮迭代的目标是找到一个CART回归树模型的弱学习器ht(x),让本轮的损失函数L(y,ft(x)=L(y,ft-1(x)+ht(x))最小。也就是说,本轮迭代找到决策树,要让样本的损失尽量变得更小。

第三章 实验设计

3.1 数据预处理

3.1.1 实验数据集

要求根据广州市内及广佛同城公交线路的历史公交刷卡数据,挖掘固定人群在公共交通中的行为模式。建立公交线路乘车人次预测模型,并用模型预测未来一周(2015.01.01-2015.01.07)每日06时至21时每小时段各个线路的乘车人次。

现有数据为2014.08.01至2014.12.31五个月广东部分公交线路岭南通用户刷卡数据,共涉及近200万用户2条线路约800多万条数据记录。同时提供2014.08.01至2015.01.31期间广州市的天气状况信息。