pymc.model.transform.conditioning.change_value_transforms#
- pymc.model.transform.conditioning.change_value_transforms(model, vars_to_transforms)[源代码]#
更改模型中的值变量转换
- 参数:
- 模型 :
Model
模型 - vars_to_transforms字典
映射 RVs 到新变换的字典,这些变换将应用于相应的值变量
- 模型 :
- 返回:
- new_model模型
带有更新后的转换值变量的模型
示例
在找到变换空间MAP后,提取未变换的空间Hessian
import pymc as pm from pymc.distributions.transforms import logodds from pymc.model.transform.conditioning import change_value_transforms with pm.Model() as base_m: p = pm.Uniform("p", 0, 1, transform=None) w = pm.Binomial("w", n=9, p=p, observed=6) with change_value_transforms(base_m, {"p": logodds}) as transformed_p: mean_q = pm.find_MAP() with change_value_transforms(transformed_p, {"p": None}) as untransformed_p: new_p = untransformed_p['p'] std_q = ((1 / pm.find_hessian(mean_q, vars=[new_p])) ** 0.5)[0] print(f" Mean, Standard deviation\np {mean_q['p']:.2}, {std_q[0]:.2}") # Mean, Standard deviation # p 0.67, 0.16