4、探索性数据分析(EDA):统计摘要、可视化(飞行轨迹、高度/速度分布)、相关性分析、季节性/趋势识别
探索性数据分析(Exploratory Data Analysis, EDA)是无人机运营数据预测模型构建的“第一道工序”。在正式建模之前,我们需要通过统计摘要、可视化、相关性分析和趋势识别等手段,全面理解数据的分布形态、内在结构、异常特征和潜在规律。EDA的核心价值在于:它不假设数据服从某种特定分布,而是让数据“自己说话”,从而为后续的特征工程、模型选择与参数调优提供事实依据。对于无人机运营场景,EDA需要特别关注飞行轨迹的空间连续性、高度/速度的物理约束、气象与任务类型的耦合效应,以及运营数据的周期性波动。
上图展示了无人机运营数据EDA的整体分析框架。数据从飞行日志、气象API和任务工单等源头采集后,先经过缺失值处理和时间对齐等预处理步骤,再进入EDA核心分析环节。EDA的四个维度——统计摘要、可视化、相关性分析和趋势识别——并非孤立执行,而是相互印证、循环迭代的过程。例如,可视化中发现的异常轨迹会触发对统计摘要中极端值的重新审视,而相关性分析的结果又会指导可视化聚焦于关键变量。最终,EDA的输出物将直接决定特征工程的候选清单和建模策略的选择。
4.1 统计摘要:从描述性指标到数据质量体检
统计摘要(Descriptive Statistics)是EDA的第一步,其核心原理是通过一组量化指标快速刻画数据的集中趋势、离散程度和分布形态。对于无人机运营数据,我们不仅要关注常规的均值、中位数、标准差,更要重视分位数(尤其是P1、P99)和偏度/峰度,因为无人机飞行数据往往存在明显的重尾分布——例如,绝大多数飞行高度集中在50-120米,但偶尔会有超过300米的极端值(如测绘任务或应急响应)。
核心原理与关键指标
- 集中趋势:均值(受异常值影响大)、中位数(稳健)、众数(用于任务类型等分类变量)。
- 离散程度:标准差、四分位距(IQR)、变异系数(CV = σ/μ,用于比较不同量纲变量的波动性)。
- 分布形态:偏度(Skewness,>1为强右偏)、峰度(Kurtosis,>3为尖峰分布)。
- 缺失与唯一性:缺失率、唯一值计数(用于识别传感器ID、任务编号等主键字段)。
操作流程与判断方法
- 数据概览:使用
df.describe()(Python)或summary()(R)生成基础统计表,重点关注count、mean、std、min、25%、50%、75%、max。 - 分位数扩展:追加P1、P5、P95、P99分位数,用于捕捉极端飞行状态。例如,P99速度若超过机型最大平飞速度的1.2倍,则可能存在传感器噪声。
- 缺失值矩阵:按列统计缺失率,若某传感器字段缺失率超过30%,需评估是否可插补或直接剔除。
- 分组统计:按任务类型(巡检/物流/测绘)、机型、季节进行分组统计,观察不同子群的均值差异是否显著。
| 指标 | 飞行高度(m) | 地速(m/s) | 电池电压(V) | 任务时长(min) |
|---|---|---|---|---|
| 均值 | 82.4 | 12.6 | 22.8 | 34.2 |
| 标准差 | 35.1 | 4.2 | 1.3 | 12.8 |
| P1 | 5.2 | 0.8 | 19.5 | 8.1 |
| P50 | 78.0 | 12.1 | 23.0 | 31.5 |
| P99 | 185.6 | 24.3 | 24.9 | 78.4 |
| 偏度 | 1.2 | 0.3 | -1.8 | 0.9 |
表:某物流无人机一个月运营数据的统计摘要示例。注意电池电压呈左偏分布(偏度-1.8),提示存在低电压告警事件;飞行高度右偏,P99达185.6米,需进一步核查是否超出适航限制。
4.2 可视化分析:飞行轨迹、高度/速度分布
可视化是EDA中最直观、最有效的工具。对于无人机运营数据,三类可视化最为关键:飞行轨迹图(空间维度)、高度/速度分布图(运动学维度)、以及时间序列图(时间维度)。其核心原理是利用人类视觉系统对空间位置、颜色和形状的高敏感度,快速识别数据中的模式、异常和聚类结构。
飞行轨迹可视化
飞行轨迹通常以经纬度坐标绘制在地图上,可使用散点图(按时间顺序连接成线)或热力图(显示空域密度)。关键操作包括:
- 轨迹线图:使用
plotly或folium绘制交互式轨迹,颜色映射高度或速度,便于观察垂直剖面变化。 - 空域热力图:将经纬度网格化(如100m×100m),统计每个网格内的飞行时长或架次,识别高密度空域。
- 异常轨迹标记:将超出预设地理围栏(Geo-fence)的轨迹点用红色高亮,快速定位违规飞行事件。
高度/速度分布可视化
高度和速度分布通常使用直方图、箱线图和核密度估计(KDE)图。操作要点:
- 直方图:设置合适的bin宽度(如高度5米、速度1m/s),观察分布形态。若出现多峰,需按任务类型拆分对比。
- 箱线图:按机型或任务类型分组绘制箱线图,直观比较中位数、IQR和异常值。箱线图上的“圆圈”即为超出1.5倍IQR的异常点。
- 二维密度图:以高度为X轴、速度为Y轴绘制二维KDE图,可发现“高速低空”或“低速高空”等异常组合。
4.3 相关性分析:量化变量间的依赖关系
相关性分析用于量化两个或多个变量之间的统计关联强度。在无人机运营数据中,我们通常关注气象条件(风速、温度)、飞行参数(高度、速度、电池消耗)与运营结果(任务完成率、能耗)之间的关系。核心原理是计算相关系数,但需注意“相关性不等于因果性”。
主要方法
- Pearson相关系数:适用于线性关系且变量近似正态分布。取值范围[-1,1],|r|>0.7为强相关,0.3-0.7为中等相关,<0.3为弱相关。
- Spearman秩相关系数:基于秩次计算,对异常值和单调非线性关系更稳健。当数据存在明显偏态时(如风速),优先使用Spearman。
- 热力图(Heatmap):将多个变量的相关系数矩阵以颜色梯度可视化,便于快速发现变量聚类块。
操作流程
- 选择数值型变量,剔除缺失率超过50%的列。
- 计算Pearson和Spearman相关系数矩阵,对比两者差异。若某对变量Pearson系数远低于Spearman系数,提示可能存在非线性关系。
- 绘制热力图,标注|r|>0.7的变量对,重点分析其业务合理性。
- 对高相关变量对(如“风速”与“电池消耗率”),绘制散点图并拟合回归线,确认关系方向。
| 变量对 | Pearson r | Spearman ρ | 业务解读 |
|---|---|---|---|
| 风速 vs 电池消耗率 | 0.72 | 0.68 | 强正相关,风速增大导致能耗上升 |
| 温度 vs 电池电压 | -0.45 | -0.52 | 中等负相关,低温降低电池性能 |
| 飞行高度 vs 地速 | 0.18 | 0.21 | 弱相关,高度与速度相对独立 |
| 任务时长 vs 飞行距离 | 0.89 | 0.91 | 强正相关,符合物理规律 |
4.4 季节性/趋势识别:把握运营数据的时序规律
无人机运营数据本质上是时间序列,具有明显的季节性和趋势性。季节性指固定周期(如每日、每周、每年)的规律波动,趋势指长期上升或下降的方向。识别这些模式对于预测模型至关重要——例如,物流无人机的配送量通常在工作日早晚高峰出现峰值,在周末午间出现低谷;而农业植保无人机的作业量则随农作物生长季节呈现年度周期。
核心方法与判断路径
- 时间序列分解(STL):将序列分解为趋势项、季节项和残差项。使用
statsmodels.tsa.seasonal_decompose,设置周期参数(如24小时、7天、365天)。 - 自相关函数(ACF):绘制ACF图,观察在滞后阶数(lag)为周期倍数时是否出现显著峰值。例如,若滞后24小时的ACF值超过置信区间,则存在日周期性。
- 滚动统计量:计算滚动均值(如7天窗口)和滚动标准差,观察趋势方向和波动变化。
操作流程
- 将时间戳设为索引,按固定频率(如1小时)重采样,缺失时段用前向填充或插值。
- 绘制原始时间序列图,叠加7日滚动均值线,初步判断趋势。
- 运行STL分解,设置季节周期为24(小时)和168(7天),观察季节分量是否稳定。
- 绘制ACF图,确认显著滞后期。若ACF在滞后24、48、72处呈衰减峰值,则确认日季节性。
4.5 案例闭环:某无人机物流公司的EDA驱动建模优化
本案例展示EDA如何在实际项目中驱动预测模型的构建与优化。某无人机物流公司运营着20架多旋翼无人机,服务于城市核心区的医疗物资配送,积累了6个月的飞行日志、气象数据和任务工单数据,目标是构建“单架次飞行时间预测模型”,用于调度优化和电池维护规划。
背景与约束
- 数据量:约15,000架次飞行记录,每架次包含起飞/降落时间、轨迹点(每秒1个)、气象站数据(每5分钟)、任务类型(紧急/常规)。
- 业务约束:模型需在边缘计算设备上运行,推理时间<100ms,因此特征数量需控制在20个以内。
- 初始现象:初步线性回归模型R²仅为0.42,预测误差较大,且残差呈现明显的周期性波动。
EDA执行过程
- 统计摘要:发现“任务时长”P99为78分钟,而P50为31分钟,存在极端值。进一步核查发现,这些长时任务均为“紧急医疗配送”且发生在雨天。
- 可视化:绘制飞行轨迹热力图,发现城市中心医院附近空域密度极高,且该区域平均飞行高度比郊区低20米。高度-速度二维密度图显示,雨天任务的速度分布标准差增大(从3.2m/s增至5.1m/s)。
- 相关性分析:计算Spearman相关系数,发现“风速”与“任务时长”的ρ=0.58,“降水量”与“任务时长”的ρ=0.63,均呈中等正相关。而“温度”与“任务时长”的ρ=-0.21,相关性较弱。
- 趋势/季节识别:STL分解显示,任务时长存在明显的周季节性——周一和周五的平均任务时长比周三长12%,这与医院手术排期相关。ACF图在滞后168小时处显著,确认周周期。
建模改进与结果
基于EDA发现,团队进行了以下特征工程:新增“降水量(1小时累计)”、“风速等级(分类)”、“星期几(独热编码)”、“是否紧急任务”等特征,并剔除了与“任务时长”高度相关的“飞行距离”以避免共线性。模型从线性回归切换为梯度提升树(XGBoost),并采用5折时间序列交叉验证。
| 模型版本 | 特征数 | R² | MAE(min) | 推理时间(ms) |
|---|---|---|---|---|
| 基线线性回归 | 8 | 0.42 | 12.8 | 2 |
| EDA增强+线性回归 | 15 | 0.58 | 9.6 | 3 |
| EDA增强+XGBoost | 15 | 0.74 | 6.2 | 45 |
最终模型R²提升至0.74,MAE从12.8分钟降至6.2分钟,满足调度需求。复盘经验表明,EDA的价值不仅在于提升模型精度,更在于帮助团队理解了“雨天+紧急任务+医院区域”这一高耗时组合,从而在调度策略上提前预留冗余运力。