项目

一般

简介

0005-Sprint5 » 历史记录 » 版本 5

Huarui Lin, 2026-04-25 18:54

1 4 Huarui Lin
# Sprint 5
2 5 Huarui Lin
3
## 第 4 阶段:S5 - 标准化与 Spearman 降维
4
5
融合“截面数学推导”与“内存防爆累加”。
6
7
### Step 4.1: 截面聚合与双形态参数物理时序隔离
8
9
1.  **纯横截面聚合**:按 `net_value_date` 分组计算 38 维的 `mean, std, median, mad`,推导 MAD 上下界,生成 `is_production_ready` 哨兵。
10
2.  **路径 A (训练宽表)**:宽表上 `.shift(1)` 实现 T-1 对齐,按日期排序落盘。
11
3.  **路径 B (推理长表)**:Unpivot 为长表,动态生成自然日历 `forward_fill` 至每日,按 `["feature_name", "date"]` 绝对物理排序落盘。
12
13
### Step 4.2: 标准化 Apply 与 IEEE 754 拦截
14
15
1.  实体表 `.collect()` 后与几百行宽表参数 Join(零内存膨胀广播)。
16
2.  遍历 38 列构建 `when(std==0).then(None).otherwise(...)` 表达式,封杀除零产生 `Inf`。
17
18
### Step 4.3: 训练 Join 三键死锁与毒样本截断
19
20
1.  三键强锁 Join:`["fund_id", "net_value_date", "segment_id"]`。
21
2.  哨兵覆写:`is_feature_complete == False` 的行,标签强制覆写为 `0`。
22
23
### Step 4.4: Spearman 秩相关内存防爆防线
24
25
1.  按年流式加载标准化特征。
26
2.  截面内 `rankdata(method="average")` 锁定平均秩,算秩后立即减均值。
27
3.  Pearson 展开项 `np.dot` 联合累加 `sum_xy`,利用对称性减半算力。
28
4.  跨年累加后执行 `(matrix + matrix.T) / 2.0` 强制对称化截断。
29
5.  剔除 `>= 0.90` 的冗余特征,输出 `final_feature_list`。
30
31
---