> For the complete documentation index, see [llms.txt](https://temp-drop.brain-ol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://temp-drop.brain-ol.com/shi-yan-yi-cheng-yuan-cang-jiang-wen-shu-ju-chu-tan-yu-yu-chu-li.md).

# 实验一：乘员舱降温数据初探与预处理

**实验目的：**\
\- 熟悉乘员舱瞬态降温项目的数据集结构和内容，了解主要变量（如光照强度、外部温度、车速、各风口风速/温度、乘客呼吸点温度等）及预测目标（乘员舱内部温度随时间的变化曲线）。

\- 掌握时间序列数据的基本清洗方法，包括缺失值填补、异常值检测与处理。

\- 深刻体会数据预处理在机器学习项目中的重要性，认识到数据准备通常占据整个项目约 **80%** 的时间。为后续建模打下高质量的数据基础。

**实验资源要求：**

\- **数据：** 已提供的乘员舱环境与温度时序数据集（包括传感器采集的舱内外环境参数和对应的舱内温度记录）。数据量较大，需保证运行环境有充足内存和存储空间。

\- **软件环境：** Python 3.x，Jupyter Notebook（可选），Pandas、NumPy等数据处理库，Matplotlib/Seaborn用于可视化。

\- **计算环境：** 配备高性能计算能力的计算机或服务器（多核CPU及充足内存），确保可以高效处理和分析大规模数据。

**实验时长：** 約3小时

**实验内容：** 本实验通过对原始数据集进行探索性分析和预处理，提升数据质量以服务后续建模。首先，学生将加载乘员舱降温数据集，对数据结构和各字段含义进行理解[\[1\]](file://file-egtdho8pxg6a5aomdg68ua/#:~:text=1.%E6%95%B0%E6%8D%AE%E6%8F%90%E4%BE%9B%E4%B8%8E%E6%94%AF%E6%8C%81%EF%BC%9A%E7%94%B2%E6%96%B9%E9%9C%80%E5%90%91%E4%B9%99%E6%96%B9%E6%8F%90%E4%BE%9B%E5%AE%8C%E6%88%90%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%E7%9B%B8%E5%85%B3%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%8C%85%E6%8B%AC%E4%BD%86%E4%B8%8D%E9%99%90%E4%BA%8E%E4%B9%98%E5%91%98%E8%88%B1%E5%86%85%E5%A4%96%E7%8E%AF%E5%A2%83%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%A6%82%E5%85%89%E7%85%A7%E5%BC%BA%E5%BA%A6%E3%80%81%E5%A4%96%E9%83%A8%E6%B8%A9%E5%BA%A6%E3%80%81%E8%BD%A6%E9%80%9F%E3%80%81%E8%BD%A6%E8%88%B1%E5%86%85%E9%83%A8%E5%90%84%E9%A3%8E%E5%8F%A3%E7%9A%84%E9%A3%8E%E9%80%9F%E5%92%8C%E6%B8%A9%E5%BA%A6%E7%AD%89%EF%BC%8C%E4%BB%A5%E7%A1%AE%E4%BF%9D%E6%A8%A1%E5%9E%8B%20%E8%AE%AD%E7%BB%83%E5%92%8C%E9%A2%84%E6%B5%8B%E7%9A%84%E5%87%86%E7%A1%AE%E6%80%A7%E3%80%82%EF%BC%88%E5%9B%BE%20%E6%95%B0%E6%8D%AE%E8%BE%93%E5%85%A5%E5%8F%8A%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E5%AE%9E%E4%BE%8B)。典型数据字段包括光照强度、车外温度、车辆速度、各空调出风口的风速与温度，以及乘员舱内关键位置（如乘客呼吸点）的温度等。这些变量共同影响乘员舱温度的动态变化过程，是建立预测模型的重要输入。接着，学生将对原始数据进行统计分析，计算各变量的基本统计量，绘制时间序列曲线，初步了解温度随时间的变化趋势以及环境因素的作用。数据探索阶段还需关注数据质量，例如是否存在缺失值或异常尖刺。高质量的数据是准确建模的前提，研究表明数据准备通常耗费分析师 最多达80% 的时间，因此本实验重点在于打好数据“地基”。

![](/files/8YtKokcHAuGpt7yWAu3F)

<p align="center">图1 各变量缺失值计数（原始）</p>

在完成基本认识后，学生将对数据进行清洗和预处理。首先处理缺失值，判断缺失模式并选择合理的方法填补（如线性插值、前后值填充或删除记录等）。然后检测异常值，可采用统计方法（如3σ原则）或基于物理常识判断（例如光照强度不可能为负、温度变化不应瞬间超出合理范围）。对于检测出的异常，根据情况进行修正：极端错误值可以插值平滑或剔除，以免对模型训练产生不良影响。最后，将清洗后的多源数据按时间对齐整合，确保各种传感器数据在统一时间线上匹配。这一步可能需要根据时间戳对不同来源的数据表进行合并，得到完整的时序输入-输出对。经过预处理，学生将得到一个干净、一致的数据集，为后续特征工程和模型训练做好准备。

![](/files/2BVE8RLBldgzDZWQij7S)

<p align="center">图2 舱内温度 3σ 异常点标注</p>

**实验步骤：**

### 1. 数据导入与概览（Ingestion & Schema Profiling）

**技术要点（多源+强校验）：**

* **文件完整性与一致性**：对每个源文件计算 size/hash/rowcount；自动识别压缩格式（.gz/.zip）、CSV 方言（分隔符/转义/引号）、BOM；统一字符集（优先 UTF-8），遇到 GBK/ANSI 触发重编码试读与告警。
* **强类型解析与模式校验**：用 schema（如 pandera/JSON-Schema） 显式约束字段名、单位、dtype（Float32/Int64\[NA]/category/string\[pyarrow]），并执行：
  * **单位统一**：温度统一℃（若摄氏/华氏混存，基于阈值与元数据自动侦测并转换），光照统一 W/m²（若为 lux，按配置/车窗透光系数估算换算或单列双单位并标注）。
  * **取值域静态规则**：如 speed ∈ \[0, 200] km/h，sunlight ≥ 0，vent\_temp ∈ \[0, 30]℃，违反者入“硬异常”队列。
* **时间戳治理**：统一时区（建议全部归一到 UTC 并保留原始本地时区列），校验单调递增性；统计 Δt 分布（直方图+众数）以反推采样频率；检测重复/倒序/跳秒；为不同源打上 source\_id/session\_id。
* **内存与存储优化**：大表先 lazy read（chunksize）抽样做初检；列按方差与基数降精度/分类化；对长文本字段进行哈希映射（保留字典），形成轻量训练视图。
* **泄漏前置检查**：明确目标列（舱内温度/曲线）与输入特征清单；禁止在训练集构造阶段使用任何未来信息（如滑窗标签必须严格右开区间）。

**验收口径：** 通过全部 schema 校验，时间戳单调性≥99.99%，单位/类型冲突为 0，重复行率 < 0.1%。

**产出物：** data\_catalog.json（字段字典+单位+dtype+合法域），ingestion\_report.html（完整性与异常摘要），首版“特征—目标映射表”。

### 2. 数据可视化探索（Exploratory & Multiscale Diagnostics）

**技术要点（多尺度+多视角）：**

* **单变量多尺度视图**：对每个关键变量绘制原始曲线/滚动均值(τ=30s, 300s)/滚动标准差；做 STL 分解（趋势/季节/残差）观察光照与温度的日内节律与随机成分。
* **相关与时滞结构**：
  * 计算 ACF/PACF（舱内温度）识别自相关阶数；
  * 计算 Cross-Correlation Function（如 vent\_speed → cabin\_temp，sunlight → cabin\_temp）估计物理反应时滞（例如降温相对送风的响应延迟）。
* **分布与稳健统计**：直方图/核密度 + 箱线/violin + Hampel/MAD 稳健 Z 分数对比 3σ，定位厚尾与尖峰；绘制Q-Q 图检视正态性。
* **多变量结构**：Spearman 相关热图 + 基于互信息的非线性依赖；Hexbin/密度散点（外温 vs 初始舱温、vent\_speed vs 温降斜率）验证物理直觉。
* **缺失与离群“热图”**：按时间轴绘制缺失矩阵（run-length 分布），并叠加异常标注（尖刺/越界/跳变），识别工况段落（空调切换、停车暴晒、车速高/低区）。
* **变点检测**：应用 PELT/BOCPD 等方法标出制度切换点（AC 开启、风量档位变化），为后续分段建模提供依据。

**验收口径：**&#x9700;形成可复现实验图册（至少：单变量多尺度、相关/时滞、稳健 vs 经典离群对比、缺失热图、变点标注），并给出3 条可检验假设（如“高光照+低速→初温更高且降温更慢”）。

**产出物：** eda\_plots/ 图集，eda\_notes.md（结论+待验证假设+风险清单）。

### 3. 缺失值处理（Missingness Characterization & Imputation）

**技术要点（机制识别+分情景插补）：**

* **缺失机制剖面**：计算缺失率时序曲线与共现相关（缺失是否集中在高光照/低速/特定时段）；区分 MCAR/MAR/MNAR（例如传感器过热停机→MNAR）。
* **策略分层**：
  * **短缺口（≤5×Δt）**：优先 时间插值（线性/样条/PCHIP 保形）+ 邻域约束（不跨越物理上下界）。
  * **中等缺口（5×Δt–5min）**：卡尔曼平滑/局部 ARIMA；或同源冗余（多风口取加权/近邻回归）补齐。
  * **长缺口/系统级停机**：保留 NaN + 生成缺失掩码列供模型使用；必要时剔除受影响窗口（训练样本构造时避免泄漏）。
  * **结构性缺失（MNAR）**：不做数值臆造；以“状态特征”（如 sensor\_down=1）显式进模型，或采用多重插补保留不确定性传播。
* **不确定性管理**：为被插补位置计算方差/置信区间（如卡尔曼协方差、GP 预测方差），并输出 imputed\_flag/impute\_method 及 impute\_uncertainty。
* **分组一致性**：按 session\_id/vehicle\_id 分组拟合插补器，防止跨车辆/场景的信息污染；所有插补仅基于**历史侧**（右开区间）以避免未来信息泄漏。

**验收口径：** 插补后连续性与物理合理性通过；缺失掩码与方法标识覆盖率 100%；对关键变量插补段 RMSE（与平滑真值/冗余源）降低≥30%。

**产出物：** imputation\_policy.yaml（策略与阈值），插补前后差异报告（含不确定性分布），带 \*\_mask 与 \*\_method 的数据表。

### 4. 异常值检测与处理（Outlier & Event Correction）

**技术要点（多模型融合检测+物理约束修复）：**

* **多通道检测框架**（并行打分、后融合）：
  * **统计规则**：3σ、IQR、稳健 Z（MAD）、Hampel（滚动窗）；
  * **时序结构**：Δ/Δ² 跳变检测、滚动 Z、STL 残差阈值、变点一致性；
  * **物理规则**：值域（负光照=不可能）、增速界（|dT/dt| ≤ 物理上限）、跨传感一致性（vent\_speed=0 且 vent\_temp≈外温时，舱温不应瞬降）。
  * **机器学习**：Isolation Forest/One-Class SVM/LOF 对多变量联合异常赋分（仅用于辅助标注，不直接自动改写）。
* **分类型修复**：
  * **尖刺/毛刺**：用邻域中位数/LOESS 局部回归替换；保留原值到 \*\_raw 以备审计。
  * **越界/不可能值**：置 NaN → 按第 3 步策略插补；同时计入“硬异常计数”。
  * **漂移/偏置**（整段传感器偏移）：基于与冗余源/标定段的偏置回归统一平移；写入 calibration\_note。
* **时滞与同步异常**：若发现系统性时滞（如风速峰值领先舱温响应 τ 秒），以交叉相关估计 τ，记录在 alignment\_lag（不在此步平移，留至第 5 步统一对齐）。
* **事后验证**：修复后重绘关键曲线与导数，确保无锯齿/无振铃；复算分布与稳健统计，异常占比显著下降。

**验收口径：** 异常识别召回率≥95%（以人工抽检为准）；修复后物理约束全部满足；关键变量的稳健方差（MAD）降低≥20%。

**产出物：** outlier\_report.jsonl（逐条记录：原因码、方法、置信度），correction\_changelog.md（可回溯变更）。

### 5. 数据对齐与整合（Alignment, Resampling & Feature Derivation）

**技术要点（多频率+多源时滞对齐）：**

* **统一时间基准**：确定主时间网格（如 1s）；所有源按 asof（带容差，如 ±0.5s）对齐到主网格；记录落点误差（snap\_delta）。
* **多速率/异步采样**：
  * **反采样与抗混叠**：高频流先做低通滤波再降采样；低频流采用前向保持+ 事件驱动补点；保留原采样频率 fs\_\* 列。
  * **跨源时滞校正**：基于第 2 步的 CCF/变点对齐，计算各源相对主流的最佳滞后 τ\*（可分场景/分段）；以不改动原始索引为前提，在特征派生时引入滞后特征（如 vent\_speed\_lag\_τ\*）。
* **一致性与去重**：处理重复时间戳（聚合为中位/均值，并计 dup\_count）；消除跨源冲突（单位/标度）；确保索引单调、无缺洞（对齐后再补）。
* **物理导出特征**（例）：
  * **送风强度指数**：vent\_intensity = f(vent\_speed, vent\_temp, ext\_temp)（可用 vent\_speed × (ext\_temp - vent\_temp) 近似换热“驱动力”）。
  * **辐照负荷指数**：solar\_index = sunlight × exposure\_factor（若缺窗户参数，保留相对量级并注明）。
  * **阶段标签**：依据变点生成 phase ∈ {热浸, 快速降温, 渐进稳态}；再派生分段斜率、阶段时长等。
  * **会话特征**：session\_id 粒度统计（起始温度、外温均值、平均车速）。
* **数据泄漏防护**：确保任何滞后/滚动特征仅使用历史窗口；训练/验证/测试按时间切分并对齐 session\_id，避免同一会话跨集合。

**验收口径：** 对齐失败率 < 0.1%；snap\_delta 中位数 < 0.2s；引入滞后后关键对相关系数提升显著（如 |ρ|↑≥0.1）。

**产出物：** aligned\_dataset.parquet（含派生特征/时滞列/质量标记），alignment\_metrics.csv（CCF、snap 误差、时滞表），feature\_derivation.md（可复现公式与参数）。

### 6. 结果保存（Versioned Artifact & Reproducibility）

**技术要点（版本化+可复现）：**

* **多格式落盘**：主数据以 Parquet(zstd/snappy)（压缩、高效 IO）；同时导出 CSV（互操作）与训练子集 npz/pickle；元数据 JSON 记录处理流水线（时间、软件版本、随机种子、关键参数）。
* **质量门控（Great Expectations/自定义断言）**：保存前自动跑校验套件：缺失率阈值、值域/增速/单调性、采样频率、重复行、标志列一致性（\*\_mask/\*\_method/dup\_count/snap\_delta），未通过即阻断发布。
* **版本与追溯**：采用 data\_version = YYYYMMDD.HHMM 命名；生成 CHANGELOG.md 对比上版（分布漂移、样本量变化、异常/缺失比率变化）；产出数据卡（Data Card）（用途、覆盖范围、局限性、公平性/偏差风险）。
* **原子写与校验**：先写临时文件后原子重命名；生成 SHA256 校验；提供小样本 head\_1k.csv 便于人工抽核。
* **切分索引固化**：保存 split\_indices.json（train/val/test 的时间/会话范围与行号），保证后续实验完全复现同一切分。

**验收口径：** 通过所有质量断言；与上版相比，无非预期分布漂移（以 PSI/KL 或均值±3σ 比较）；产物可在全新环境一键重现同样统计量。

**产出物：**

* 数据：aligned\_dataset.parquet、aligned\_dataset.csv、train\_val\_test\_indices.json；
* 元数据：processing\_meta.json、data\_card.pdf/html、CHANGELOG.md；
* 校验：ge\_validation\_report.html 或自定义 validation\_report.md。

![](/files/EY234g0qOMvk5Vlx3Q1h)

<p align="center">图3 出风口风速：原始 vs 清洗+平滑</p>
