基于幅度形态与参数聚类的工作模式判别

基于幅度形态与参数聚类的工作模式判别

一、工程目标与总体架构

解决的是:在缺少实时成像链与原始回波相位 的前提下,仅凭分脉冲汇总后的参数行幅度序列 ,对观测段给出条带聚束 ,并在双文件 场景下给出疑似同一观测/重复观测/干涉候选(。

整体分为三层:

  1. 数据门禁 :列完整性、业务筛选、数值有效性(fc/pri/pw/amp 有限且 PRI、PW>0)。
  2. 分组层 :决定哪些行构成一段可比的幅度时间序列------或按密度聚类、或按单源稳定球壳、或按 fc 锚点时间扩展。
  3. 模式层 :对每一段归一化幅度序列,用两种可解释包络模型 拟合,以 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=2bic_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 = (射频最小+射频最大)/2pripw 同理;amp 为幅度。
  • log_pri = log10(max(pri,ε))log_pw 同理,供聚类/距离用,减轻数量级支配。
  • valid:上述标量均有限且 pri>0pw>0

后续 method 不同,但模式层共用 normalize_amp_shapefit_slow_modelfit_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\in0,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 算法实现

  1. valid==True 的预处理后行,特征矩阵 [fc, log_pri, log_pw]
  2. RobustScaler 标准化后做 HDBSCAN (欧氏距离,min_cluster_size 会随样本量收缩上限)。
  3. 输出 cluster_id-1 为噪声 )、cluster_prob(成员概率)。

5.2 簇质量门控

对每个 非噪声簇

  • 在标准化空间算 簇内鲁棒半径 (距离中位中心的 P75)与到其他簇中心的最近间距
  • radius_to_sep = 半径/最近间距 :几何上若 radius_to_sep_limit(默认 0.5) ,认为簇间分离不够干净
  • quality_pass :同时要求簇内样本数 min_group_size_for_moderadius_to_sep 低于门限

工程解释 :模式判别依赖幅度时间轴 ,若射频/PRI/PW 混叠严重,幅度序列可能是多源叠加轨迹,强判条带/聚束不可靠。

5.5 HDBSCAN 路径下的「干涉」

双 Excelmethod=="hdbscan"

  • 仅取两文件中 quality_pass==Truemode != "??" 的簇。
  • 合并两表 拟合的 RobustScaler[fc,log_pri,log_pw] 上算簇中心距离 ;幅度则 normalize_amp_shaperesample_sequence 到固定长度 ,算 Pearson 相关p 值
  • candidateparam_distance < interference_param_distance corr > interference_corr pvalue < interference_pvalue
  • 不要求 两簇条带/聚束标签一致;不要求两文件处理时间对齐。

工程定性 :「参数中心近 + 包络形状像」→ 疑似重复观测/可作干涉筛查线索干涉测量成立。


六、方法二:单源稳定球壳筛选

6.1 适用前提

要求数据本质上单一雷达源、单一稳定工作点 ;若已混多源,应优先 HDBSCAN

6.2 算法实现

  1. valid 行取 [fc,log_pri,log_pw]RobustScaler 后算各点到原点的 欧氏距离(实质:相对数据中心化的尺度不变度量思路的一种简化)。
  2. 距离取 P75 + 1.5×IQR 为阈值,距离≤阈值 的行 stable_keep=True,记为 单源稳定子集
  3. 若稳定子集 < min_group_size_for_mode :全体模式 未知,理由为样本不足。
  4. 否则对 全部稳定行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 算法实现

  1. 锚点fc_anchor_index 指定预处理后表中的行下标;若未给则 fc_target 必需 ,选 |fc-fc_target| 最小 的行。
  2. 参考频率 fc_reffc_target 若给定则用其,否则用锚点行 fc
  3. 锚点合法性 :锚点 处理时间 有效;|anchor_fc - fc_ref| ≤ fc_tolerance
  4. 双侧扩展 _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 停止。
  5. 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**;干涉 则是双通道相似度筛查必须 与雷达干涉测量的基线、相位、相干证据链分开交付。

相关推荐
数据皮皮侠3 分钟前
全国消协智慧 315 平台投诉信息数据库
大数据·人工智能·算法·百度·制造
清水白石0089 分钟前
从打印对象到高质量调试:彻底理解 Python 中 `__repr__` 和 `__str__` 的区别
开发语言·python
8Qi811 分钟前
LeetCode 115 & 392:不同子序列 / 判断子序列
算法·leetcode·职场和发展·动态规划
Sammyyyyy21 分钟前
Google I/O 2026 Antigravity 更新解析与 SDK 实战指南
python·ai编程·servbay
小蒋学算法30 分钟前
算法-乘法表中第K小的数-二分
数据结构·算法
智者知已应修善业39 分钟前
【51单片机8个LED,已经使用了D1D2,怎么样在不动D1D2的前提下实现D6~D8的流水灯】2024-1-19
c++·经验分享·笔记·算法·51单片机
Evand J41 分钟前
【MATLAB例程】自适应渐消扩展卡尔曼滤波(AFEKF)三维雷达目标跟踪|效果已调优,附下载链接和运行结果,代码直接运行即可
开发语言·算法·matlab·目标跟踪·卡尔曼滤波·自适应滤波·代码定制
嫂子的姐夫43 分钟前
047-MD5:飞卢网
爬虫·python·js逆向·逆向
DXM05211 小时前
第8期| 传统机器学习遥感解译:SVM & 随机森林分类全流程实操
人工智能·python·随机森林·机器学习·支持向量机·arcgis·自然语言处理
装不满的克莱因瓶1 小时前
深入PyTorch模型的训练与可视化 —— 掌握迁移学习等模型训练效果提升的办法
人工智能·pytorch·python·深度学习·神经网络·ai·迁移学习