4、数据准备与预处理:数据来源、数据清洗、缺失值处理与异常值检测
国际航运需求预测模型的精度,很大程度上取决于输入数据的质量。航运市场是一个典型的“数据丰富但信息稀疏”的领域——港口吞吐量、贸易统计、运价指数等数据分散在不同机构、不同格式、不同统计口径之下。若未经系统化的清洗与预处理,模型训练将面临“垃圾进、垃圾出”的困境。本章围绕数据来源的甄别、清洗流程、缺失值策略与异常值检测方法展开,为后续特征工程与模型选型奠定可靠的数据底座。
4.1 数据来源:三大核心数据源的特征与获取策略
国际航运需求预测通常需要融合三类数据:港口吞吐量数据(反映实际物流活动)、贸易数据(反映宏观经济与货物流向)、运价指数(反映市场供需与价格信号)。三者互为补充,构成需求预测的“铁三角”。
核心原理
港口吞吐量是需求预测的“结果变量”,贸易数据是“驱动变量”,运价指数是“市场情绪变量”。模型需要同时捕捉这三者的时序特征与交叉影响。例如,中国出口集装箱运价指数(CCFI)的持续上涨往往预示着短期内港口吞吐量的增长,但存在1-3周的滞后期。
数据源对比与选择
| 数据源 | 典型来源 | 更新频率 | 主要字段 | 质量风险 |
|---|---|---|---|---|
| 港口吞吐量 | 交通运输部、港务集团、Clarksons | 月度(部分周度) | TEU、货物吨位、船舶艘次 | 统计口径调整、漏报、节假日扰动 |
| 贸易数据 | 海关总署、IMF、UNCTAD | 月度/季度 | 进出口金额、数量、贸易伙伴国 | 发布滞后、汇率换算误差 |
| 运价指数 | SCFI、BDI、WCI、FBX | 周度/日度 | 综合指数、分航线运价 | 样本调整、异常跳变、长鞭效应 |
案例拆解:某航运咨询公司的数据源整合
某国际航运咨询公司在为东南亚航线建立需求预测模型时,初期仅使用新加坡港月度吞吐量数据,模型R²仅为0.62。后来引入中国-东盟贸易月度数据(滞后1个月)和SCFI东南亚分航线指数(周度均值化),模型R²提升至0.81。关键操作:将不同频率数据统一为月度粒度,贸易数据按汇率折算为美元计价,运价指数取月内平均值。
常见误区
- 误区一:只关注单一数据源,忽视交叉验证。例如,港口吞吐量增长但贸易数据下滑,可能意味着转运量增加而非真实需求增长。
- 误区二:忽略数据发布滞后性。贸易数据通常滞后1-2个月,直接使用会导致预测“未来”实际是“过去”。
- 误区三:未处理节假日效应。中国春节、欧美圣诞季对吞吐量有显著影响,需单独标记。
4.2 数据清洗:格式统一、口径对齐与去重去噪
数据清洗是预处理的第一步,目标是让来自不同源的数据在格式、粒度、统计口径上保持一致,并去除明显的噪声与重复记录。
操作流程
- 格式统一:日期格式统一为YYYY-MM-DD,数值字段统一为浮点数,文本字段去除首尾空格。
- 粒度对齐:将日度、周度数据聚合为月度,或按模型需求进行降采样/升采样。
- 口径对齐:确认各数据源的统计口径(如“吞吐量”是否包含空箱、转运箱),必要时进行系数换算。
- 去重:检查重复记录,保留最新版本或按业务规则合并。
- 去噪:剔除明显错误记录(如吞吐量为负值、运价指数超过历史极值5倍以上)。
实战场景:多源数据合并中的口径冲突
某物流科技公司在构建“一带一路”沿线国家航运需求模型时,发现中国海关出口数据与目的港进口数据存在约8%的差异。经排查,原因是部分货物经第三国中转,海关统计为“转口贸易”而非“直接出口”。解决方案:引入“贸易流向修正系数”,按历史中转比例对数据进行调整。
4.3 缺失值处理:从删除到插补的策略选择
航运数据缺失是常态,原因包括:港口报告延迟、节假日无数据、统计口径变更导致历史断档、部分航线数据未覆盖等。缺失值处理策略直接影响模型训练效果。
缺失值类型与应对策略
| 缺失类型 | 特征 | 推荐策略 | 适用场景 |
|---|---|---|---|
| 完全随机缺失 | 缺失与数据本身无关 | 删除或均值插补 | 个别月份数据缺失 |
| 随机缺失 | 缺失与其他变量相关 | 回归插补、KNN插补 | 某港口因系统故障连续缺失 |
| 非随机缺失 | 缺失与缺失值本身相关 | 模型预测插补+业务规则 | 高运价时期部分航线数据缺失 |
操作流程
- 缺失率评估:计算每个字段的缺失率,缺失率超过30%的字段考虑剔除或重构。
- 时序插补优先:对于时间序列数据,优先使用前向填充(forward fill)或线性插值。
- 多变量插补:当多个变量相关时,使用多重插补(MICE)或随机森林插补。
- 业务规则修正:对于节假日缺失,使用去年同期值乘以增长率进行修正。
常见误区
- 误区一:一律删除缺失值。当缺失率超过10%时,删除会导致样本量不足或引入偏差。
- 误区二:使用全局均值插补。航运数据具有强季节性,全局均值会抹平季节性波动。
- 误区三:忽视缺失模式。如果缺失集中在特定时间段(如每年春节),需单独处理。
4.4 异常值检测:从统计方法到业务规则
异常值在航运数据中既可能是“噪声”(数据录入错误),也可能是“信号”(突发事件如苏伊士运河堵塞、疫情封港)。检测异常值需要结合统计方法与业务知识。
检测方法对比
| 方法 | 原理 | 适用场景 | 局限性 |
|---|---|---|---|
| Z-score | 偏离均值超过3个标准差 | 正态分布数据 | 对非正态分布不敏感 |
| IQR(四分位距) | 超出Q1-1.5×IQR或Q3+1.5×IQR | 偏态分布数据 | 对样本量敏感 |
| 时序异常检测 | 基于移动平均或STL分解 | 趋势+季节性数据 | 参数调优复杂 |
| 业务规则 | 设定合理范围(如吞吐量环比变化不超过50%) | 有明确业务约束 | 规则制定依赖经验 |
操作流程
- 初步筛选:使用IQR或Z-score快速标记潜在异常值。
- 业务复核:对标记的异常值进行人工核查,确认是否为真实事件(如罢工、自然灾害)。
- 处理决策:真实事件保留并添加事件标签;数据错误则修正或剔除。
- 记录日志:所有异常值处理需记录原因与处理方式,便于模型解释。
案例拆解:异常值处理对模型精度的影响
某研究机构使用2015-2022年全球集装箱吞吐量数据预测2023年需求。初始模型(未处理异常值)的MAPE为12.8%。经异常值检测后,发现2020年Q2数据因疫情导致吞吐量骤降40%,属于“真实异常”。处理策略:保留该数据但添加“疫情事件”虚拟变量。模型MAPE降至9.6%,且对2023年预测的置信区间收窄了18%。
总结复盘
- 数据来源决定模型上限:多源数据融合优于单一数据源,但需注意口径一致性。
- 清洗是基础工程:格式统一与去重去噪是后续所有步骤的前提,建议建立自动化清洗流水线。
- 缺失值处理需“因时制宜”:时序数据优先插补,横截面数据可考虑删除,但需评估缺失率。
- 异常值检测是“艺术+科学”:统计方法提供候选,业务知识做最终判断,两者缺一不可。