🚕基于Python“出租车数据挖掘”之可视化结果
00 分钟
2020-5-12
2023-9-1
type
status
date
slug
summary
tags
category
icon
password
Last edited time
Sep 1, 2023 12:40 PM
Created time
Apr 12, 2023 12:17 PM
💡
这篇文章介绍了基于Python进行的“出租车数据挖掘”的可视化结果,包括行驶时间、经度和经度的结果直方图、行程时间与起点和终点之间的直线距离关系图、起点和终点位置的空间密度图、市中心位置的空间密度图、用K-means划分出的区域空间密度图、聚类查看不同时间下的分布情况等。此外,还展示了不同时间下的周末出行分布、一周不同日的每周出行分布、每年不同日的年度出行分布等,以及应用PCA来减少从80维分布向量到更易于管理的维度,如3个维度,如周周期性和日周期性等。

数据集描述

该数据集的主要领域是出租车起点时间和位置,以及下落位置和行程持续时间。在2013年期间发生的数据集总共有大约170万次行程。我们将看到驾驶使用模式在整个一年、一周和一天中的变化,我们将关注平日和周末之间的差异。代码需多刷新几次显示。
最初,我们提供一个准确的数据集,描述了在葡萄牙波尔图市所有442辆出租车所进行的(繁忙)轨迹的完整年份(从01/07/2013至30/06/2014)(1.8G数据 存储在一个名为“train.csv”的CSV文件中。 这些出租车通过出租车调度运行,使用安装在车辆中的移动数据终端。 我们将每次乘车分为三类:A)出租车中央型,B)立式或C)非出租车中央型。 首先,我们提供一个匿名的身份证件,当这种信息可从电话中获得时。 最后两个类别是指在B)出租车站或C)随机街道上直接向出租车司机要求的服务。每个数据样本对应一个完成的行程。 它共包含9个功能,描述如下:

1.0.0.1 TRIP_ID:(String):

它包含每个行程的唯一标识符;

1.0.0.2 CALL_TYPE:(char):

它标识用于请求此服务的方式。它可能包含三个可能的值之一:
a. 如果这次旅行是从中央派出来的,那么“A”
b. 如果这次旅行是直接要求在特定展位的的士司机,那么“B”
c. 否则“C”(即在随机街道上要求的行程)。

1.0.0.3 ORIGIN_CALL:(integer):

它包含用于要求至少一个服务的每个电话号码的唯一标识符。
如果CALL_TYPE ='A',它会识别该旅行的客户。 否则,它假定为NULL值;

1.0.0.4 ORIGIN_STAND:(integer):

它包含出租车站的唯一标识符。 如果CALL_TYPE ='B',它会标识行程的起点。 否则,它假定为NULL值;

1.0.0.5 TAXI_ID:(integer):

它包含执行每个行程的出租车司机的唯一标识符;

1.0.0.6 TIMESTAMP:(integer):

Unix时间戳(以秒为单位)。 它确定了旅程的开始;

1.0.0.7 DAYTYPE:(char):

它标识行程开始的日期类型。 它假设有三个可能的值之一:
如果这次旅行在假期或其他特殊日子(即延长假期,浮动假期等)开始,则“B”;
如果旅行在B类日前一天开始,则为'C';
'A'(即正常的一天,工作日或周末)。
重要提示:此字段尚未正确计算。 请参阅以下链接作为葡萄牙官方假期的可靠来源。

1.0.0.8 MISSING_DATA: (Boolean) :

当GPS数据流完成时为FALSE,每当一个(或多个)位置丢失时为TRUE;

1.0.0.9 POLYLINE:(String):

它包含映射为字符串的GPS坐标列表(即WGS84格式)。 字符串的开始和结尾分别用括号(即[和])标识。
每对坐标也由[LONGITUDE,LATITUDE]相同的括号确定。 该列表包含每15秒行程的一对坐标。
最后的列表项目对应于旅行的目的地,而第一个列表项目表示其开始;
代码部分点击下面链接可查看:

可视化结果展示

绘制行驶时间、经度和经度的结果直方图

notion image

绘制行程时间与起点和终点之间的直线距离关系图

从这句话中我们可以清晰地了解到,行程距离对行程时间有着至关重要的作用,而在这之中还受到其他许多因素的影响。这些因素包括但不限于出行时间、起点、目的地等等。因此,在规划旅行时,我们需要综合考虑这些因素,制定出最优的行程方案,以确保我们的旅行顺利而愉快。
notion image

绘制起点和终点位置的空间密度图

notion image

绘制市中心位置的空间密度图

notion image

绘制用K-means划分出的区域空间密度图

notion image
notion image

聚类查看不同时间下的分布情况

每一个行程都包括五个主要属性:起点(经度和纬度)、终点(经度和纬度)以及行程时间。在将所有的150万个旅行分类为80个典型的行程之后,我们发现这些旅行情况的分布会随时间发生变化。我们可以通过研究这些变化来了解人们在不同时间段内的出行习惯,以及这些习惯如何受到各种因素的影响,例如天气、交通状况等等。此外,我们还可以分析这些行程的目的地和起点之间的距离,以及在不同时间段内这些距离的变化情况,从而更深入地了解城市出行的特点和规律。
notion image

显示地图上的典型行程

蓝圆圈代表起点,绿色圆圈代表目的地。这两者之间的箭头是用青色绘制的,它们显示了从起点到目的地的路径。这些圆圈和箭头在地图上是非常重要的,因为它们帮助人们找到他们想去的地方,并指导人们如何到达那里。此外,圆圈和箭头还可以用于解释和展示地理信息和路线规划。
notion image
蓝圆圈代表光源,即发出光线的起点位置,绿色圆圈则代表目的地,即光线最终到达的位置。两者之间的箭头用青色绘制,表示光线的传播方向。根据图中的展示,我们可以看到,绿色的圆圈主要分布在图像的中心和左上角的区域,这说明该区域的反射率相对较高,或者存在其他能够吸收和散射光线的物体,从而导致光线较难到达该区域以外的位置。

工作日每天中不同时间出行分布情况

notion image
notion image
每一行包含这些行程情况的分布,其中强度代表出行频率。我们可以看到,北京的居民通勤时间段主要分为早上和晚上两个高峰期。早上北京15点左右,人们开始醒来,(很有可能)开始工作。在18点/晚上19点(下午6点/下午7点),有第二轮出租车出租,这是(最有可能的)回家的人。这也极为重要,在晚上,人们几乎不活跃在夜间。这是用红色箭头标出的。

不同时段的周末出行分布

notion image
我们可以看到,在周末,人们在夜间活动得更为活跃,而且比平常的工作日更晚。这是因为周末通常是人们放松和享受休闲时间的时候,他们可能会在晚上外出与朋友聚会、参加派对或者去夜店等。此外,周末也是人们进行其他娱乐活动的时候,比如看电影、打游戏等。这些活动通常会延长到深夜,因此人们在周末的夜间活动更为活跃,而且更晚。

一周不同日的每周出行分布

notion image
在周末,人们往往更愿意外出参加各种活动,比如购物、外出就餐、参观新地方以及与朋友家人共度时光。这种增加的活动往往是由于比工作日拥有更多的空闲时间,让人们可以追求他们的爱好和兴趣。此外,一些人可能会选择利用这段时间进行锻炼或参加户外活动,利用机会活动身体和享受新鲜空气。总的来说,周末提供了一个很好的机会,让人们放松身心,并享受工作日以外的生活。

每年不同日的年度出行分布

notion image
一年中出行相对是稳定的,且有周期性。我们还可以在数据中看到两个大的活动,一个在120-135天(5月上旬),另一个在155-160(6月初)。
如果我们深入分析当时发生了什么事情,我们会发现一些有趣的细节。首先,我们可以看到这个时候主要的事件主要集中在市外。初步猜测是机场,这个时间段正好是国际劳动节,应该是旅客数量增加的原因。此外,波尔图也举办了足球比赛(或者其他赛事),这也有可能导致了旅客数量的增加。
第二个高峰发生在155-160天(6月初)。我们认为这个高峰是由圣安东尼奥节(里斯本节假日)、贾梅士日暨葡侨日、和游客增加所引起的。
第三个明显的高峰分布在波尔图节假日。这个时候,波尔图的游客数量急剧上升,可能是因为人们想在假日里放松一下。
如果我们继续观察数据,我们可以看到两个下降的点。第一个下降点出现在一年中的第327天左右,即11月22日。通过分析,我们可以发现这个下降点是由圣马丁日所引起的。从11月11日开始,人们会进行斋戒,到节日的最后一天进行狂欢。这个时候,整个市里的人们都会参加游行和狂欢活动,所以旅游人数会下降。
第二个下降点出现在一年中的第355-359天,即圣诞节。大部分人在这个时候会在家里陪伴家人,所以出行的人数会显著下降。

现在让我们深入研究一下时间方面:

让我们来深入学习一下如何应用PCA来减少维度。在现代科技中,许多数据都是以高维形式存在的,例如在80维分布向量,这些数据非常难以管理和呈现出来。因此,通过使用PCA算法,我们可以将数据从高维空间映射到低维空间,这使得数据更易于管理和呈现。例如,我们可以将数据从80维映射到3维,这使得数据更容易可视化和理解。如此一来,我们可以更好地利用数据,从而更好地了解问题的本质,做出更为准确的决策。

周周期性

在这里,我们将展示在一周内的时间演化中的3个主要主成分系数。请注意,主成分分析是一种用于分析多元数据的统计技术,该技术可用于降维和数据可视化。在我们的研究中,我们使用主成分分析来识别影响特定结果的因素,并确定如何优化结果。通过展示主成分系数在时间内的演化,我们可以更好地理解这些因素的影响,并提出改进的建议。
notion image
在这个图表中,我们可以看到蓝色曲线代表了所有周的数据,这些数据经常相互重叠。黑色曲线则代表了平均值。
不仅如此,我们还可以看到数据的周期性以及日常工作日和周末之间的差异。这个周期性可以解释为人们在不同的时间段内的行为模式不同。例如,人们在周末可能会更多地参加社交活动,而在工作日则更加专注于工作和学习。
除此之外,从这个图表中我们还可以得出一些有趣的发现。例如,我们可以看到在一年中的某些时段,数据的波动幅度更大。这可能与特定的假期或季节性事件有关。通过深入研究这些信息,我们可以更好地了解人们的行为模式以及他们对不同事件的反应。

日周期性

在这里,我们将展示3个主要的主成分系数在白天的时间演变。首先,我们将详细介绍这些主成分系数的含义,并解释它们如何影响我们的分析结果。其次,我们将探讨这些系数的演变趋势,以便更好地理解它们在不同时间段内的变化。最后,我们将分析这些系数的相互作用,以便更好地了解它们之间的关系。通过这些分析,我们希望能够得出更准确、更全面的结论,并为未来的研究提供有价值的参考。
notion image
让我们回想一下,当我们在处理数据时,我们经常会使用主成分分析或PCA作为一种降维技术。通常,我们会将数据映射到一个新的低维空间,以便更好地理解和可视化数据。在这个新的低维空间中,每个维度被称为主成分,并且我们可以使用特征向量和特征值来计算它们。因此,如果我们想要更深入地了解主成分,我们可以回到我们的数据并查看每个主成分系数的含义。这将帮助我们更好地理解数据并做出更准确的决策。
notion image
我们可以通过观察第一主成分系数发现它与整个行程分布非常相似,这表明它主要是一个“增益”组件,控制在这段时间内的总行程数。此外,第二和第三个成分在其上下具有不同的图案,这表明行程中的某些特征可能会影响它们的变化。例如,第二个成分可能与交通状况有关,而第三个成分可能与天气或其他环境因素相关。让我们来更深入地分析这些模式,特别是那些偏离红线的东西,以便更好地理解它们的意义和作用。

大偏差行程2

在该图中,红色箭头表示随着PC 2系数的增加,行程将增加。我们可以看到,不仅行程增加了,而且路径也变得更加曲折。黄色箭头表示随着PC 2系数的增加,行程将减少。这表明,有时候增加某些参数可能会导致更短的行程。需要注意的是,这种情况的出现并不总是可预测的。此外,图中的蓝圈代表源头,绿色圆圈代表目的地。这些元素对于理解该图的含义至关重要。。
notion image

大偏差行程3

notion image
红色箭头表示增加的行程,即当PC系数增加时,工作所需的时间增加。黄色箭头表示减少的行程,即当PC系数增加时,工作所需的时间减少。蓝色圆圈代表起点,绿色圆圈代表终点。在这个图示中,随着PC系数的增加,工作所需的时间会增加或减少,而起点和终点不会改变。这个图示提供了一种可视化的方式来理解PC系数对工作时间的影响,并且可以帮助我们更好地规划和管理我们的工作时间。
ℹ️
如果您有更多的见解和想法,请在评论区与我分享!您的意见对我来说非常重要。

评论