
车企必看!3个维度+1个算法,轻松构建千万级用户驾驶行为画像
过去,车企更关注怎么把车卖出去。现在,用户运营也成了车企关注的重点。
根据麦肯锡、德勤等行业报告预测:
•智能汽车的数据服务市场正在快速增长
•用户运营与软件订阅收入,未来可能占整车利润的重要比例
•车联网数据将成为汽车行业新的核心资产
这意味着,谁更了解用户,谁就更容易建立长期服务能力。驾驶行为画像,正是其中最关键的一环。例如:
这些标签一旦形成,就能直接用于驾驶风险评估、高级驾驶辅助系统(Advanced Driver Assistance Systems,简称“ADAS”)策略优化、智能保险定价、精准营销等业务场景。
但问题来了,一辆车每秒都会持续上传车速、油门、刹车、电池状态等信息。据英特尔推算,全自动驾驶时代,每辆汽车每天产生的数据量高达 4,000GB。如果车企拥有几十万甚至上百万辆车,数据规模就会迅速膨胀。
传统的数据处理链路通常是这样的:数据采集 → 数据库存储 → 导出 Python → 特征提取 → 机器学习建模 → 结果回写。在这种模式下,ETL 成本高、实时性差、工具割裂、大规模计算效率低等问题会在很大程度上制约车企的数据治理能力。
相较传统方案,DolphinDB 作为“采存算用”一体化平台,在车联网领域主要具备以下优势:
•原生分布式系统,弹性扩展:基于原生分布式设计,支持集群水平扩展,可动态调整节点规模以应对业务峰值压力。分布式事务机制确保数据在跨节点写入时保持强一致性,即使在千亿级数据规模下仍能实现精准查询。
•多模态存储,轻松应对多场景:集成 TSDB、OLAP、In-Memory OLTP 等多种存储引擎。用户可根据业务特征灵活配置存储模式,无需跨系统迁移数据,极大简化技术栈复杂度。
•高性能数据处理能力:DolphinDB 专为高并发、大规模数据设计,内置完备的分析函数库(2000 ),能够快速处理海量时序数据和复杂的分析任务,如驾驶行为特征的提取和聚类分析。
•丰富的分析功能和算法支持:DolphinDB 集成了丰富的数据分析和挖掘算法,包括聚类、回归、分类等常用的机器学习算法。例如,基于 K-means 聚类算法对用户驾驶行为进行聚类,为用户画像生成提供有力支持。
•实时数据处理能力: DolphinDB 内置 10 流计算引擎,支持实时数据更新和查询,为用户画像分析提供及时的反馈和结果。
•缩短数据处理链路:DolphinDB 集成存储与计算的能力不仅提高了数据的处理速度,也简化了整个数据分析流程,使数据收集到结果输出的过程更加高效流畅。
从数据到标签,DolphinDB 如何两步构建用户画像?
接下来,我们就用 DolphinDB 对用户驾驶行为进行分析,构建用户画像。
构建驾驶行为画像的核心思路是选取能够表征驾驶习惯的关键指标,通过聚类分析对用户进行分类。本例我们选取三个最具代表性的维度:
•速度偏好:反映驾驶员对车速的主观倾向,通过平均车速、油门踏板深度、刹车力度等指标综合判断。
•驾驶风格:反映驾驶行为的激进程度,通过速度波动、急加速/急刹车次数、变道频率等指标衡量。
•驾驶熟练度:反映驾驶经验与技能水平,通过累计驾驶里程、应对复杂路况的能力(如急刹次数)评估。
我们基于这三个维度,通过 K-means 算法进行用户分类,流程如下:
数据预处理和特征提取
确定每个维度需要分类的数量,使用 K-means 算法对用户进行分类
1. 数据模拟
我们模拟一个具有如下结构的车辆驾驶数据:
2. 速度偏好建模
在速度偏好分析中,我们从车速、加速踏板及制动踏板数据三个角度来分析用户的速度偏好;使用车速、油门位置和刹车位置数据作为这三个分析维度的表征; 利用车速的平均值表示驾驶过程中的速度,以及使用油门位置和刹车位置的平均值来分别表示驾驶过程中的加速和减速特征。
我们将速度偏好分为低速、中速、高速三类进行聚类分析。一般而言,速度平均值和油门位置平均值越高,则速度偏好越倾向于高速偏好。
先对数据进行预处理,将异常数据规范化。对速度、油门位置、刹车位置数据进行清洗,具体为将小于0的速度、油门位置、刹车位置数据赋值为0,大于100的油门位置、刹车位置数据赋值为100。在 DolphinDB 中,使用 iif 函数判断并处理异常值。对清洗后数据按车辆维度进行聚合,即可获得速度平均值、油门平均值和刹车平均值等速度特征值。
为消除不同特征间的量纲差异,我们可以直接调用 DolphinDB 的 zscore 函数对数据进行标准化处理:
speedFactor = select avg(iif(speed<0,0,speed)) as speed,
avg(iif(throttle<0,0,iif(throttle>100,100,throttle))) as throttle,
avg(iif(brake<0,0,iif(brake>100,100,brake))) as brake
from t group by id
update!(table = speedFactor,colNames = [`speed,`throttle,`brake],
newValues = <[zscore(speed),zscore(throttle),zscore(brake)]> )
speedFactor 结果如下:
获取特征值后,调用 DolphinDB 的 kmeans 函数进行聚类分析,并利用该模型对用户的速度偏好进行分类预测:
model = kmeans(speedFactor,3,1000,,"k-means ")
speedFactor = model.kmeansPredict(speedFactor)
speedFactor结果如下:
通过 K-means 算法对用户速度偏好进行聚类后,我们采用 pca 函数进行主成分分析,将特征维度降至二维并绘制散点图,红点表示聚类中心,绿点表示高速偏好用户,蓝点表示中速偏好用户,灰点表示低速偏好用户:
我们可以明显看出三类用户的分割界限清晰,分类效果较好。其中,低速偏好用户车速和油门位置平均值较低,刹车位置的平均值较高,整体驾驶风格偏谨慎;中速偏好用户各项指标相对均衡,驾驶习惯较为平稳;而高速偏好用户的车速和油门位置的平均值较高,刹车位置平均值较低,驾驶风格更激进。这些聚类结果为进一步分析用户行为、优化驾驶体验提供了重要依据。
3. 驾驶风格偏好建模
我们将驾驶风格偏好分为谨慎驾驶、平衡驾驶和激进驾驶三类,通过速度标准差,激进操作(包括急刹和急加速次数,变道次数)等数据反映。速度标准差越大,激进操作次数越多,表明该驾驶员更倾向于激进驾驶的风格。
第一步仍然是进行数据预处理和特征提取:
styleFactor = select std(iif(speed<0,0,speed)) as speed,
sum(iif(deltas(iif(throttle<0,0,iif(throttle>100,100,throttle)))>20,1,0)) as throttleChangeCount,
sum(iif(deltas(iif(brake<0,0,iif(brake>100,100,brake)))>20,1,0)) as brakeChangeCount,
sum(iif(lane!=prev(lane),1,0)) as laneChangeCount
from t group by id
update!(table = styleFactor,
colNames = [`speed,`throttleChangeCount,`brakeChangeCount,`laneChangeCount],
newValues = <[zscore(speed),zscore(throttleChangeCount),zscore(brakeChangeCount),
zscore(laneChangeCount)]>)
styleFactor结果如下:
调用 Kmeans 方法,对用户驾驶偏好进行建模,结果如下:
采用 PCA 降维将特征维度降为二维并绘制散点图,红点表示聚类中心,灰点表示激进风格用户,绿点表示平衡风格用户,蓝点表示谨慎风格用户:
从聚类结果来看,这三类驾驶员的特征区分度明显。谨慎驾驶的驾驶员速度波动小,急刹车和急加速次数少,变道较谨慎,且人数占比相对较高,表明多数驾驶员倾向于稳健安全的驾驶风格。平衡驾驶的驾驶员表现出适度的速度变化,偶尔有急刹车和急加速操作,变道次数适中,通常在安全性和效率之间取得平衡。激进驾驶的驾驶员速度波动大,频繁急刹车、急加速和变道,可能在特定情况下追求操作的极限。
4. 驾驶熟练度分析
我们采用驾驶总里程和行程中急刹的次数进行表征,其中急刹车次数反映了驾驶员的操作习惯和反应能力,用于表示用户面对复杂路况的能力。通过这两个指标,我们将驾驶人员分为新手、熟练和老手。
由于驾驶总里程是一个递增值,因此我们使用 last 函数取最后一个值作为特征值,特征提取后进行归一化处理:
experienceFactor = select last(totalMileage) as totalMileage,
sum(iif(deltas(iif(brake<0,0,iif(brake>100,100,brake)))>20,1,0)) as brakeChangeCount
from t group by id
update!(table = experienceFactor,colNames = [`totalMileage,`brakeChangeCount],
newValues = <[zscore(totalMileage),zscore(brakeChangeCount)]>)
experienceFactor结果如下:
训练模型,并预测得到分类结果:
绘制散点图,红点表示各类别的聚类中心,蓝点表示老手,驾驶技术娴熟,灰点表示熟练驾驶员,绿点表示新手:
从聚类结果看,新手驾驶员的总里程较低,急刹车次数也较少,表现出较为谨慎但经验不足的驾驶特点;熟练驾驶员在驾驶经验和操作能力上处于中等水平,总里程数较高,但急刹车次数也较高,驾驶行为相对激进但能够较好地应对日常驾驶情境;老手驾驶员总里程高,急刹车次数较少,展现出更成熟的驾驶技术和驾控自信。该结果清晰地反映了不同驾驶员在熟练度上的差异,有助于理解用户在驾驶过程中的经验层次。
从速度偏好、驾驶风格到驾驶熟练度,驾驶行为画像的核心是通过海量时序数据更精准地理解用户行为。在这一过程中,DolphinDB 能够在一个平台内完成数据接入、特征提取、聚类分析与画像生成,大幅降低传统架构中数据搬运与多工具协同带来的复杂度,更适合车联网场景下的大规模实时数据分析需求。
在车联网领域,除了用户行为分析,DolphinDB 还广泛应用于车辆实时故障预警、电池健康度评估、行程时间预测等场景。
格隆汇声明:文中观点均来自原作者,不代表格隆汇观点及立场。特别提醒,投资决策需建立在独立思考之上,本文内容仅供参考,不作为实际操作建议,交易风险自担。


