Files
mask-ddpm/figures/README.md
MZ YANG f1afd4bf38 update
2026-02-12 01:46:47 +08:00

6.3 KiB
Raw Blame History

Figures 说明

本目录里的图片主要由 plot_benchmark.py 生成,用来对比:

  • generated完整管线采样导出的 example/results/generated.csv(或 post 后的 generated_post.csv
  • temporal_only只使用 temporal.pttemporal stage1的输出
  • real--reference 指定的真实训练数据(通常是 example/config.json 里的 data_glob / data_path 指向的 train*.csv.gz

通用图例

  • 蓝色模型输出generated 或 temporal_only具体看文件名
  • 红色真实数据real
  • 文件名包含 with_real:一定画了红色 real
  • 文件名包含 generated_only:只画模型输出(没有 real
  • 文件名包含 temporal:使用 temporal.pt(只时序 stage1
  • 文件名包含 ref384:真实数据读取行数被限制到 384通常用于和 generated 行数对齐)

每张图是干嘛的

总览与指标

  • benchmark_panel.svg

    • 作用:一张图看完整评估概况(四个 panel
    • A连续特征均值的“generated vs real”一致性轮廓按 real min/max 做范围归一化)
    • B每个特征的 KS 分布差异(越小越好)
    • C不同训练文件之间的均值漂移数据集 shift
    • D多随机种子鲁棒性 + 指标历史曲线
    • 生成:python example/plot_benchmark.py --figure panel
  • benchmark_metrics.svg

    • 作用:只看 3 个核心指标在不同 seed 下的均值/方差(越小越好)
    • 指标avg_ks连续、avg_jsd离散、avg_lag1_diff滞后 1 自相关差异)
    • 生成:python example/plot_benchmark.py --figure summary
  • ranked_ks.svg

    • 作用:定位“哪些特征拖累了平均 KS”
    • 左侧top-K KS 最大的特征
    • 右侧:移除最差特征后,平均 KS 会下降多少
    • 生成:python example/plot_benchmark.py --figure ranked_ks

线图(时间序列形状)

  • lines.svg

    • 作用:对比 generated vs real 的时间序列曲线(选定若干特征)
    • 输入:example/results/generated.csv + --reference 指向的 real
    • 生成:python example/plot_benchmark.py --figure lines --reference example/config.json
  • lines_generated_type4.svg

    • 作用Type4P1_PIT02,P2_SIT02,P1_FT03)的 generated 时间序列(可能不含 real取决于生成时的参数
    • 生成:通常来自 --figure lines --lines-features ... --out ...
  • lines_generated_type4_with_real.svg

    • 作用Type4 的 generated vs real 时间序列对比
    • 生成(示例):
      • python example/plot_benchmark.py --figure lines --generated example/results/generated.csv --reference example/config.json --cont-stats example/results/cont_stats.json --lines-features P1_PIT02,P2_SIT02,P1_FT03 --lines-max-rows 2048 --out figures/lines_generated_type4_with_real.svg
  • lines_temporal.svg

    • 作用temporal_only vs real 的时间序列曲线(只时序 stage1
    • 输入:temporal.pt + --reference 指向的 real
    • 生成:python example/plot_benchmark.py --figure lines_temporal --reference example/config.json --temporal-pt <path/to/temporal.pt>
  • lines_temporal_type4.svg

    • 作用Type4 的 temporal_only 时间序列(可能不含 real取决于生成时的参数
  • lines_temporal_type4_with_real.svg

    • 作用Type4 的 temporal_only vs real 时间序列对比

分布图CDF对齐边缘/中位数/尾部)

离散特征分布

  • disc_grid.svg

    • 作用离散特征的分布网格generated vs real
    • 生成:python example/plot_benchmark.py --figure disc_grid --reference example/config.json
  • disc_points.svg

    • 作用离散特征的“类别占比对比点图”每个类别两点generated 与 real
    • 生成:python example/plot_benchmark.py --figure disc_points --reference example/config.json

Smoke / 临时检查图

以下 *_smoke_*.svg 多数是临时/快速检查用输出(用于验证脚本跑通、参数组合是否正常),不一定是最终报告图: