基于幅度形态与参数聚类的工作模式判别
一、工程目标与总体架构
解决的是:在缺少实时成像链与原始回波相位 的前提下,仅凭分脉冲汇总后的参数行 与幅度序列 ,对观测段给出条带 、聚束 ,并在双文件 场景下给出疑似同一观测/重复观测/干涉候选(。
整体分为三层:
- 数据门禁 :列完整性、业务筛选、数值有效性(
fc/pri/pw/amp有限且 PRI、PW>0)。 - 分组层 :决定哪些行构成一段可比的幅度时间序列------或按密度聚类、或按单源稳定球壳、或按 fc 锚点时间扩展。
- 模式层 :对每一段归一化幅度序列,用两种可解释包络模型 拟合,以 BIC 差 为主证据,按
mode_rule决定是否叠加幅度形态/斜率等门控,输出条带/聚束/未知。
要点 :条带/聚束判别与射频/重频聚类特征解耦 ------聚类或筛选只用 [fc, log_pri, log_pw],模式判别只用该段内的 幅度 列。
二、论文对齐点与边界
代码在簇级判别注释中引用 Kass & Raftery (1995)。论文核心之一是:模型比较可用 Bayes factor ,而大样本下 BIC 与边际似然比 存在常用近似;其经验表对 (2\ln B) 给出弱/正向/强/很强 等分档(典型门槛约 2、6、10)。
本实现中:
- 对每个模型用 RSS 构造 (\mathrm{BIC}=n\ln(\mathrm{RSS}/n)+p\ln n)(见
_bic_from_rss),两模型 BIC 之差 作为相对证据; - 默认
bic_weak=2、bic_strong=6,与论文常用的 2 / 6 分档在工程上对齐; mode_rule="delta_bic_only"时,(|\Delta\mathrm{BIC}|<\texttt{bic_weak}) 直接判未知,对应论文「证据不足以支持取舍」的保守态度。
边界 :幅度序列为时序相关样本 ,独立同分布假定不严;两模型非严格嵌套 ;多簇多重比较未校正。故「BIC 差」宜表述为启发式证据强度 ,不宜写成严格 Bayes 后验优势。
三、公共预处理与特征构造
3.1 读入与硬约束列
REQUIRED_COLUMNS 含:处理时间、射频最值、重频类型、PRI 最值、PW 最值、脉内特征、幅度。缺列直接异常退出。
3.3 特征 build_features
fc = (射频最小+射频最大)/2,pri、pw同理;amp为幅度。log_pri = log10(max(pri,ε)),log_pw同理,供聚类/距离用,减轻数量级支配。valid:上述标量均有限且pri>0、pw>0。
后续 method 不同,但模式层共用 normalize_amp_shape、fit_slow_model、fit_single_peak_model、_classify_mode_by_rule。
3.4 幅度归一化 normalize_amp_shape
对有限幅度取 5% 与 95% 分位 截幅,再线性映射到 [0,1],抑制偶发尖峰对最小二乘与 BIC 的支配。若退化(高低分位相等)则返回零序列。
四、条带 / 聚束的统计---物理联合判别
对每一段参与判别的 amp01 (长度一般为该簇或该稳定段内有效脉冲数,至少受 min_group_size_for_mode 约束):
4.1 聚束倾向模型(低斜率稳定照射)
fit_slow_model:在 (x\in[0,1]) 均匀网格上拟合
A(x)=b+s(x-0.5)
最小二乘得 RSS,(p=2),(\mathrm{BIC}_{slow}=n\ln(\mathrm{RSS}/n)+2\ln n)。
物理解释(工程叙述) :聚束长时间指向目标时,在包络意义上 常表现为近似平台 或缓变 ,用低次线性表征「无尖锐单峰包络」。
4.2 条带倾向模型(单峰包络)
条带扫描时,回波包络在照射几何 上常出现进入---中心亮---离开 的单峰形 (实现为可正可负幅度的「鼓包」基函数;后续物理门控要求 (a>0) 才走向条带强结论)。
4.3 证据方向
定义
\\Delta\\mathrm{BIC}=\\mathrm{BIC}*{slow}-\\mathrm{BIC}* {peak}.
- (\Delta\mathrm{BIC}>0) :在「残差 + 复杂度」意义下 单峰模型更优 → 统计上倾向条带。
- (\Delta\mathrm{BIC}<0) :低斜率模型更优 → 统计上倾向聚束。
因峰模型多 2 个有效参数,\(\mathrm{BIC}\) 对峰模型有 2\ln n 的额外惩罚,避免「随便加个高斯基就赢」。
4.4 mode_rule 分叉
(1)physical(默认) --- _classify_mode_from_evidence
在 (\Delta\mathrm{BIC}) 达到弱/强阈值(相对 bic_weak/bic_strong)基础上,再要求:
- 条带侧 :峰幅 (a>0) ;(\sigma) 在
[peak_sigma_min, peak_sigma_max];(\mu) 是否远离两端(peak_mu_margin,避免「只截到半边包络」仍强判条带);组合出 强/边/底线 三级物理门控。 - 聚束侧 :(|s|\le\texttt{slow_slope_limit}) ;幅度
robust_rel_iqr(amp)(相对中位数的 IQR)≤flat_rel_iqr_limit视为幅度稳定,组合强/边/底线。
未落入任一合法组合 → mode="未知" ,reason 汇总 (\Delta\mathrm{BIC},a,\sigma,\mu,|s|), 相对 IQR。
(2)delta_bic_only --- _classify_mode_from_delta_bic_only
- (|\Delta\mathrm{BIC}|<\texttt{bic_weak}) → 未知。
- 否则按 (|\Delta\mathrm{BIC}|) 分 低/中/高 置信(含与 10 的「很强」档衔接),仅看符号 定条带或聚束,不启用峰位/斜率/幅度稳定门控。
五、方法一:密度聚类分组
5.1 算法实现
- 取
valid==True的预处理后行,特征矩阵[fc, log_pri, log_pw]。 RobustScaler标准化后做 HDBSCAN (欧氏距离,min_cluster_size会随样本量收缩上限)。- 输出
cluster_id(-1 为噪声 )、cluster_prob(成员概率)。
5.2 簇质量门控
对每个 非噪声簇:
- 在标准化空间算 簇内鲁棒半径 (距离中位中心的 P75)与到其他簇中心的最近间距;
radius_to_sep = 半径/最近间距:几何上若 ≥radius_to_sep_limit(默认 0.5) ,认为簇间分离不够干净;quality_pass:同时要求簇内样本数 ≥min_group_size_for_mode且radius_to_sep低于门限。
工程解释 :模式判别依赖幅度时间轴 ,若射频/PRI/PW 混叠严重,幅度序列可能是多源叠加轨迹,强判条带/聚束不可靠。
5.5 HDBSCAN 路径下的「干涉」
双 Excel 且 method=="hdbscan" 时
- 仅取两文件中
quality_pass==True且mode != "??"的簇。 - 用合并两表 拟合的
RobustScaler在[fc,log_pri,log_pw]上算簇中心距离 ;幅度则normalize_amp_shape后resample_sequence到固定长度 ,算 Pearson 相关 与 p 值。 candidate:param_distance < interference_param_distance且corr > interference_corr且pvalue < interference_pvalue。- 不要求 两簇条带/聚束标签一致;不要求两文件处理时间对齐。
工程定性 :「参数中心近 + 包络形状像」→ 疑似重复观测/可作干涉筛查线索 ,非干涉测量成立。
六、方法二:单源稳定球壳筛选
6.1 适用前提
要求数据本质上单一雷达源、单一稳定工作点 ;若已混多源,应优先 HDBSCAN。
6.2 算法实现
- 对
valid行取[fc,log_pri,log_pw],RobustScaler后算各点到原点的 欧氏距离(实质:相对数据中心化的尺度不变度量思路的一种简化)。 - 距离取 P75 + 1.5×IQR 为阈值,距离≤阈值 的行
stable_keep=True,记为 单源稳定子集。 - 若稳定子集
< min_group_size_for_mode:全体模式 未知,理由为样本不足。 - 否则对 全部稳定行 按
seq排序,一次性 处理全段一个 BIC 比较,不再分簇。
6.3 条带/聚束判定
与 HDBSCAN 同一套 fit_slow / fit_peak / _classify_mode_by_rule;区别仅 输入幅度序列是所有稳定行拼接的一段。
6.4 输出侧重
05_*_single_source_mode_result.csv:一行汇总整段结论。08:仅stable_keep子集;剔除行在扩展列里有stable_reason。
6.5 单源路径下的「干涉」
find_single_source_interference:
- 各文件取
stable_keep==True;长度均 ≥min_group_size_for_mode才继续。 - 合并两稳定子集拟合 scaler,比较 整体
fc,log_pri,log_pw中位数中心距离 + 整段幅度重采样相关。 - 判定式与 HDBSCAN 同类三门槛 (无单独
fc_median差,频率贴近含在param_distance里)。
七、方法三:fc 锚点时间扩展 + 单段模式
7.1 工程动机
当关心某一射频工作频点 下的连续观测段、且希望严格利用处理时间 控制扩展边界时,使用本分支;扩展阶段不对 PRI/PW 做逐条匹配 (代码注释已声明:只对 fc 做筛选)。
7.2 算法实现
- 锚点 :
fc_anchor_index指定预处理后表中的行下标;若未给则fc_target必需 ,选|fc-fc_target|最小 的行。 - 参考频率
fc_ref:fc_target若给定则用其,否则用锚点行fc。 - 锚点合法性 :锚点 处理时间 有效;
|anchor_fc - fc_ref| ≤ fc_tolerance。 - 双侧扩展
_expand_fc_anchor_one_side:- 沿表顺序(依赖 Excel 行顺序,不全局按时间重排);
- 纳入条件:该时刻有效、
|fc-fc_ref|≤fc_tolerance; - 连续「不匹配」计数 超过
fc_expand_max_miss则截断; - 相邻纳入记录 处理时间间隔 大于
fc_expand_max_time_gap停止; - 扩展段 总时间跨度 大于
fc_expand_max_time_span停止。
fc_expand_selected为真行进入模式判别;区间内未选中 但落在左右界之间的行标记 「段内剔除」 原因。
7.3 fc 锚点路径下的「干涉」
find_fc_anchor_interference:
- 各文件
fc_expand_selected段;长度门槛同min_group_size_for_mode。 - 额外硬条件 :|median(fc)_A - median(fc)_B| ≤
fc_tolerance------确保两段在中位射频 上落在与扩展一致的容差带,避免仅靠[fc,log_pri,log_pw]缩放距离「像」但中心频已漂移的假阳性。 - 仍叠加
param_distance+ 相关 + 显著性。
八、三法横向对比
| 维度 | HDBSCAN | single_source | fc_anchor_expand |
|---|---|---|---|
| 分组依据 | [fc,log_pri,log_pw] 密度簇 |
单源距离球壳 | fc+处理时间规则 |
| 噪声/多源 | 显式噪声类 -1 | 离群剔出 | 段外/剔除行标记 |
| 模式输入幅度 | 每簇一段 | 全稳定段一段 | 每扩展段一段 |
| 时间轴 | seq(行序) |
seq |
处理时间参与扩展界限 |
| 双文件干涉 | 簇--簇,需 quality_pass |
稳定段--稳定段 | 扩展段--扩展段 + fc 中位差 |
九、结语
「参数空间分群 + 包络形态博弈」的 可运行、可复现框架;条带/聚束来自 统计模型选择与 幅度物理直觉门控的结合,与 Kass & Raftery (1995) 的 BIC 证据量级在默认阈值上 consciously aligned**;干涉 则是双通道相似度筛查 ,必须 与雷达干涉测量的基线、相位、相干证据链分开交付。