Team2026RedshiftAssessmentInfrastructure

Brief #

  • RAIL 是评估 photo-z 的性能的一个统一的框架,主要分为生成模拟数据(creation)、接入不同 photo-z 方法(estimation)和评估 photo-z 性能(evaluation)三个模块
    • 整个 pipeline 用 ceci 中的 stage 管理
    • photo-z 方法根据目的分为 estimator/summarizer 等
      • 针对单个星系进行估计的 estimator 更多地包含 ML 方法,比如 GPz/FlexZBoost/PZFlow
      • 针对星系 population 估计红移分布的 summarizer 中 clustering-z 非常 promising
    • estimation 主要涉及两个 PDF 之间进行比较的统计准则,比较值得注意的是 PIT(以及 PIT QQ plot)

Intro #

  • LSST 最终的星系数量将会达到 20b (2e10),这个数目超出了 spectroscopy 的观测能力,尤其是 faint galaxy
    • 技术参数:18k deg2、ugrizy 波段
  • Schmidt 2020 进行了有关 photo-z 的 data challenge 1,发现了一些 photo-z 领域的问题
    • 不同算法含有 implicit prior,在输入完全相同的条件下会给出不同的 PDF
    • 一些指标存在问题,导致 pathological estimator 得分超过正常的算法
    • 对 PDF 的评估需要建立在「真实 PDF」的基础上,需要一个 forward modeling 的框架
  • 最终 DESC 修订了 science roadmap,开发 RAIL 以满足 photo-z validation 的需要
  • fig1 给出了整个 framework 的所有 component 和 paper section 的对应关系
    • 主要的 module 是 creation、estimation 以及 evaluation

Core #

  • RAIL 的底层依赖包括 ceci, qp, tables_io 等
    • qp 用于处理 PDF
  • ceci 是用于管理阶段和流程的框架
    • ceci.Stage 对应一个独立的操作,具有固定的输入和输出,其 run() 函数不接受任何输入,所有输入由 Stage 提前设定(以满足复现的要求)
    • 定义了子类 rail stage 以增强 ceci 在 interactive 环境下的可用性
    • ceci.Stage 组合起来构成了 ceci.Pipeline(有向无环图 DAG)
      • 在 production mode 的基础上增加了 interactive mode 用于探索
    • MPI 并行
    • ceci 的缺点在于会生成中间文件
  • data 以 handle 形式提供,进程可以根据自己需要从数据中读取所需的数据块,而不需要全部加载
    • 数据的类型主要包括 table、qp 管理的 PDF 以及某些算法生成的 model
  • 一些定义由 tab1 给出,其中需要注意的是 $\vec{p}$ 指的是 photometric data

Creation #

  • 这个步骤的目标是生成 mock catalog,关键点在于提供真实的 PDF
    • 由 engine 和 degrader 组成,其中 engine 生成一个理想的测光 catalog,degrader 负责向其中添加不确定性
  • engine 分为 modeler 和 creator 两步,前者生成 p (photometry) & z 的联合分布,后者负责从联合分布中采样
  • tab2 中列出了三种 engine: FSPS, DSPS 以及 pzflow
    • FSPS 是一个广泛使用的 SPS 代码,可以从星系物理属性出发生成模拟的 SED 分布,进一步可以在 LSST filters 下计算每一个波段的 magnitude
      • 可能无法体现真实星系在颜色空间的覆盖范围
    • DSPS (D for differentiable) 基于 JAX,相比 fsps 速度更快
      • 本身不提供 SPS 模板,RAIL 为其提供了一套来自 FSPS 的模板作为默认
    • PZflow 使用 normalizing flow 学习星系在测光和红移的参数空间中的分布(需要提供一个已知红移和测光的 catalog),然后通过在 Gaussian 上采样就可以得到和原始数据分布一致的模拟星系
      • 自然地提供了 PDF
  • degrader 同样列在 tab2 中,分类为 noisifier 以及 selector,后者的原理是通过移除一部分行以模拟不完整的训练样本
    • 不同的 degrader 负责不同方面的误差,比如测光误差、spec-z 不完备性、spec-z 错误、blending 问题
    • SOM spec selector 的原理是将 spec-z 样本的分布通过 SOM 映射到低维空间中,然后用单元格中的数量对应地挑选子集以匹配 spec-z 的分布/不完备性
    • 模拟观测 blending 的方法是用 FoF 寻找近邻 cluster 然后合并,给合并后的天体赋予红移、颜色等属性

Estimation #

  • 一般由一个 inform estimator 和一个 estimation model 组成,前者负责从数据中学习关联,后者负责具体的推断任务
  • estimator: 为每一个星系生成一个 PDF
    • ML estimator
      • CMNN (color-matched Nearest Neighbor) 指的是根据星系的颜色在测试集中寻找最近 neighbor
        • citation: Graham 2018
        • 距离定义为 Mahalanobis Distance,但是没有相关性,每个颜色的误差由给定星系的测光误差给出
        • Mahalanobis Distance 的分布中一定 percent 比例的最近星系被定义为 neighbor
        • PDF 表现为 Gaussian 形式,中心和宽度均由 neighbor 的 PDF 决定
          • 无法给出 multimodal PDF
      • Directional Neighborhood Fitting 是 Euclidean NF 和 Angular NF 的某种混合
        • angular NF 指的是在高维空间中用余弦距离来衡量 color closeness,在多波段数据中表现较好
      • FlexZBoost 的想法是将条件概率 $p(z|c)$ 表示为一组正交的 basis function 的线性组合,最后机器学习网络只需要给出这些 function 的系数
        • basis function 组合的一个缺陷是会在 PDF 中引入一些不真实的 bump
        • 最终用通过在验证集上最小化估计误差的方式进行后处理
        • 一个优势是可以处理 PDF 非 Gaussian 甚至 multimodal 的情况
      • GPz 的原理是 sparse Gaussian Process
        • RAIL 中集成的初代版本只能给出 Gaussian 形式的 PDF,原理是将 Gaussian 均值和标准差都表示为 basis function 线性组合,然后用 Gaussian 随机过程来学习其系数
      • PZFlow 学习数据的红移、测光空间的分布之后同样可以用于预测给定测光数据的星系的红移 PDF
      • 此外还加入了一些 scikit-learn 中的简单方法作为 baseline,包括一个 nearest neighbor estimator 和一个 ML estimator
    • template 的基本思想是将测光数据和预先定义的 SED template 进行比较
      • BPZ 给出的后验概率等于匹配似然函数(根据 chi2)和 prior 的乘积
      • LePHARE 由 C++ 编写并且提供了 Python wrapper,定制化程度很高,除了红移之外还可以给出 stellar mass 和 SFR
    • delight 是一种混合方法,原理是从 spec-z 中构建一套经验模板
      • GP 可以一定程度上增加外推的可靠性
    • DeepDISC 将图像直接作为输入以预测红移
  • summarizer: 为某一个星系 population 估算一个整体的 nz 分布,对于 weak lensing 和 cosmology 非常重要
    • NZDir 的过程是寻找每一个 spec-z 星系的近邻,叠加得到 population 红移分布
    • SOM 方法可以实现数据降维,对 spec-z 和 photo catalog 做同样的处理,最终可以通过 SOM node 中红移分布加权平均(由已知的 spec-z 给出)得到对应 population 的红移分布
    • naive method 指的是将所有星系的 PDF 叠起来得到红移分布,对于某些方法可能会高估不确定度
    • Yet Another Wizz (YAW) 是一种 clustering redshift 方法
  • classifier: 将星系分配到预定义的红移 slice 中,也就是给出一个 int 数字
    • 最简单的分类器是根据红移点估计分配,uniform/equal 的区别在于红移间隔均匀/每个红移 bin 内数目相同
    • 稍微高级的 classifier 是 random forest,让模型学习从 photometry 到红移 bin 的映射

Evaluation #

  • metrics 分为三个类别:PDF-PDF、PDF-point、point-point
  • 比较 PDF 之间偏差的 metrics 需要 creation 阶段可以给出真实 PDF
    • 一些常见的比较两个 PDF 之间的差别/距离的统计量包括 CvM、KS、RMSE、KL 散度、Anderson-Darling 等
      • CvM 指的是 CDF 差值的平方在 0, 1 之间的积分
  • 在没有真实 PDF 可以提供的情况下,一般使用可以体现真实点相对 PDF 的差别的统计量,比如 CDE loss 或者 PIT
    • PIT 指的是「算法给出的分布在真实红移处的 CDF value」的分布,理论值应该是 0, 1 之间的均匀分布
      • PIT 的分布形状可以给出 photo-z 性能的诊断信息,比如 U-shape 说明不确定性被低估
      • RAIL 还提供了 PIT-QQ plot
    • 另外一个统计量是 Brier Score
  • 点对点的比较比较简单,一般基于相对误差 $\Delta z /(1+z)$,常见统计量包括 IQR 给出的 $\Delta$ 分布的标准差、$\Delta$ 分布中位数作为 bias 的衡量、MAD、outlier rate 等
  • 针对 tomography 的指标是 KDE bin overlap 等

Example and tutorials #

  • 位置是 rail repo 下的 example/
  • 一个 end to end example 是 golden spike,名字源自 1869 年美国第一条贯通大陆的铁路的最后一颗道钉
    • 用 PZFlow 生成一个具有已知红移和测光性质的 mock catalog,基准是 CosmDC2 catalog
    • 应用各种 error model(degrader)添加真实噪声(fig4)
    • 使用 scikit k-NN、FlexZBoost、BPZ 算法估计红移 PDF
      • fig5 是针对一个星系的示例
    • 另外还有 summarizer 效果的示例
    • 最后展示了 RAIL 针对 flexZBoost 给出的结果绘制的 PIT-QQ plot,和 y=x 的 ideal shape 偏离不大
  • 其他的 example 包括针对某一个 module 的单独的 tutorial/demonstration,目的是帮助开发者熟悉数据结构和开发工具
  • tab4/5 提供了一些 RAIL 中不同算法在内存/速度上的性能表现

Thoughts #

  • photo-z 的参数空间其实很小,对 LSST 来说也只有 6+1 维,所以 normalizing flow 可以很好地学习
  • CMNN 和 DNF 的文章都可以去看一下,分别用了 Mahalanobis Distance 以及 Cosine distance
    • cosine 的问题是 1,2 颜色和 2,4 颜色的距离将会是 0
  • ML 方法普遍比 tempalte 方法年份 newer,这里给出的五种方法年份分别是 18, 16, 17, 22, 24
    • 甚至 scikit 都是 2011
  • clustering redshift 确实可能是 characterization 的最佳方法
  • 后续可以参考的地方包括
    • 框架是开源的,可以自己进行 photo-z 方法的比较
    • RAIL 纳入哪些算法其实体现了「哪些方法效果最好/最流行」的一个可供参考的主观认识
  • photo-z 是不考虑位置关联的,但是 cluster finding 有这部分额外的信息
  • 数据处理确实应该考虑使用类似 ceci 这样的框架进行管理,并且也确实需要一些针对 interactive 需求的调整和修改