pure-python拟合/极限设置/区间估计HistFactory-style ¶
你好,世界 ¶
>>> 进口 平壤(pyhf)
>>> 模型 = 平壤(pyhf) . 简单模型 . 七类数据 (
... 信号_数据 = [ 12 , 11 ], bkg_数据 = [ 50 , 52 ], bkg_uncerts(无提示) = [ 3 , 7 ]
... )
>>> 数据 = [ 51 , 48 ] + 模型 . 配置 . 辅助数据
>>> 测试_ mu = 1
>>> CLs_对象 , CLs导出 = 平壤(pyhf) . 推断 . 低血压 (
... 测试(mu) , 数据 , 模型 , 测试状态 = “qtilde” , 预期退货 = 真的
... )
>>> 打印 ( 如果 “观察时间: { CLs_对象 } ,预期: { CLs导出 } " )
观察值:0.05251497423736956,预期值:0.06445320535890459
>>> 进口 平壤(pyhf)
>>> 进口 请求
>>> 无线传感器网络空间 = 平壤(pyhf) . 工作区 ( 请求 . 得到 ( " https://git.io/JJYDE网站 " ) . 杰森 ())
>>> 模型 = 无线传感器网络空间 . 模型 ()
>>> 数据 = 无线传感器网络空间 . 数据 ( 模型 )
>>> 测试_ mu = 1
>>> 时钟信号obs , CLs导出 = 平壤(pyhf) . 推断 . 低血压 (
... 测试_ mu , 数据 , 模型 , 测试状态 = “qtilde” , 预期退货 = 真的
... )
>>> 打印 ( 如果 “观察时间: { CLs_对象 } ,预期: { CLs导出 } " )
观察值:0.3599840922126626,预期值:0.3999840922126626
$猫 <<EOF|tee-likelihood.json | pyhf-cls
{
“通道”:[
{“name”:“singlechannel”,
“样本”:[
{“名称”:“信号”,
“数据”:[12.0,11.0],
“修饰符”:[{“name”:“mu”,“type”:“normalfactor”,“data”:null}]
},
{“name”:“background”,
“数据”:[50.0,52.0],
“修饰符”:[{“name”:“uncrr_bkgunccrt”,“type”:“shapesys”,“data”:[3.0,7.0]}]
}
]
}
],
“观察结果”:[
{“name”:“singlechannel”,“data”:[51.0,48.0]}
],
“测量”:[
{“name”:“Measurement”,“config”:{“poi”:“mu”,“parameters”:[]}}
],
“版本”:“1.0.0”
}
电子政务办公室
{
“CLs_exp” : [
0.0026062609501074576 ,
0.01382005356161206 ,
0.06445320535890459 ,
0.23525643861460702 ,
0.573036205919389
],
“CLs_obs” : 0.05251497423736956
}
它支持什么 ¶
实施的变更: ☑ 历史系统 ☑ 总体系统 ☑ 形状系统 ☑ 标准因子 ☑ 多个频道 ☑ 通过从XML+ROOT导入 根除 ☑ 形状因子 ☑ 状态错误 ☑ Lumi不确定性 ☑ 非症状计算器
计算后端: ☑ 数字Py ☑ PyTorch公司 ☑ TensorFlow公司 ☑ 日本宇宙航空公司
优化器: ☑ 科学Py( 科学优化 ) ☑ 微小的( 伊米纽特人 )
一个单仓的例子 ¶
进口 平壤(pyhf)
进口 笨蛋 作为 净现值
进口 matplotlib.打印 作为 平板电脑
进口 pyhf.contrib.viz.brazil公司
平壤(pyhf) . 设置后端 ( “numpy” )
模型 = 平壤(pyhf) . 简单模型 . 七类数据 (
信号_数据 = [ 10 ], 背景数据 = [ 50 ], bkg_uncerts(无提示) = [ 7 ]
)
数据 = [ 55 ] + 模型 . 配置 . 辅助数据
点(_V) = 净现值 . 林斯空间 ( 0 , 5 , 41 )
结果 = [
平壤(pyhf) . 推断 . 低血压 (
测试poi , 数据 , 模型 , 测试状态 = “qtilde” , return_expected_set(返回预期设置) = 真的
)
对于 测试poi 在里面 点(_V)
]
无花果 , 斧头 = 平板电脑 . 次要情节 ()
无花果 . 设置大小(_I) ( 7 , 5 )
斧头 . 设置标签(_X) ( 第页 “$\mu$(POI)” )
斧头 . 设置伊拉贝尔 ( 第页 “”$\mathrm“ {氯} _ {s} $" )
平壤(pyhf) . 控制 . 即 . 巴西 . 绘图_结果 ( 斧头 , 点(_V) , 结果 )
无花果 . 显示 ()
两个箱子的例子 ¶
进口 平壤(pyhf)
进口 笨蛋 作为 净现值
进口 matplotlib.打印 作为 平板电脑
进口 pyhf.contrib.viz.brazil公司
平壤(pyhf) . 设置后端 ( “numpy” )
模型 = 平壤(pyhf) . 简单模型 . 七类数据 (
信号_数据 = [ 30 , 45 ], bkg_数据 = [ 100 , 150 ], bkg_uncerts(无提示) = [ 15 , 20 ]
)
数据 = [ 100 , 145 ] + 模型 . 配置 . 辅助数据
点(_V) = 净现值 . 林斯空间 ( 0 , 5 , 41 )
结果 = [
平壤(pyhf) . 推断 . 低血压 (
测试poi , 数据 , 模型 , 测试状态 = “qtilde” , return_expected_set(返回预期设置) = 真的
)
对于 测试poi 在里面 点(_V)
]
无花果 , 斧头 = 平板电脑 . 次要情节 ()
无花果 . 设置大小(_I) ( 7 , 5 )
斧头 . 设置标签(_X) ( 第页 “$\mu$(POI)” )
斧头 . 设置伊拉贝尔 ( 第页 “”$\mathrm“ {氯} _ {s} $" )
平壤(pyhf) . 控制 . 即 . 巴西 . 绘图_结果 ( 斧头 , 点(_V) , 结果 )
无花果 . 显示 ()
安装 ¶
python-m pip安装pyhf
python-m pip安装pyhf [ 后端 ]
python-m pip卸载pyhf
问题 ¶
引用 ¶
@软件 { 平壤(pyhf) ,
作者 = {卢卡斯·海因里希、马修·菲克特和乔登·斯塔克} ,
标题 = “{pyhf:v0.6.1}” ,
版本 = {0.6.1} ,
国防部 = {10.5281/zenodo.1169739} ,
网址 = { https://github.com/scikit-hep/pyhf } ,
}
@文章 { 比夫·乔斯 ,
国防部 = {10.21105/jos.02823} ,
网址 = { https://doi.org/10.21105/joss.02823 } ,
年 = {2021} ,
出版商 = {开放期刊} ,
体积 = {6} ,
数 = {58} ,
页 = {2823} ,
作者 = {卢卡斯·海因里希(Lukas Heinrich)、马修·菲克特(Matthew Feickert)、乔登·斯塔克(Giordon Stark)和凯尔·克兰默(Kyle Cranmer)} ,
标题 = {pyhf:HistFactory统计模型的pure-Python实现} ,
杂志 = {开源软件杂志}
}