【问题标题】:PDF from a histogram in zfit?zfit中直方图的PDF?
【发布时间】:2020-09-01 15:28:02
【问题描述】:

我查看文档如何从直方图中获取 PDF,但我找不到任何东西,那么如何从直方图中获取 PDF?例如在 sum_pdf = zfit.pdf.SumPDF 中使用它([model1, model2], fracs=frac) 以进行拟合,或者生成一些玩具。

提前致谢。

PS。我在寻找类似于 Roofit 的 RooHistPdf 类的东西。

【问题讨论】:

    标签: python zfit


    【解决方案1】:

    目前没有开箱即用的解决方案,但正在进行中。

    但是,您可以简单地自己构建一些东西,例如:

    import zfit
    from zfit import z
    import numpy as np
    import tensorflow as tf
    
    zfit.settings.options['numerical_grad'] = True
    
    
    class BinnedEfficiencyPDF(zfit.pdf.BasePDF):
    
        def __init__(self, efficiency, eff_bins, obs, name='BinnedEfficiencyPDF'):
            self.efficiency = efficiency
            self.eff_bins = eff_bins
            super().__init__(obs=obs, name=name)
    
        def _binContent(self, x):
            eff_bin = np.digitize(x, self.eff_bins)
            return self.efficiency[eff_bin]
    
        def _unnormalized_pdf(self, x):  # or even try with PDF
            x = z.unstack_x(x)
            probs =  z.py_function(func=self._binContent, inp=[x], Tout=tf.float64)
            probs.set_shape(x.shape)
            return prob
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 2019-09-25
      • 1970-01-01
      • 2020-12-05
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多