pymc.model.transform.conditioning.remove_value_transforms#

pymc.model.transform.conditioning.remove_value_transforms(model, vars=None)[源代码]#

从模型中移除值变量转换

参数:
模型 : Model模型
vars模型变量,可选

要移除变换的模型变量。默认为所有已变换的变量。

返回:
new_model模型

移除了转换值变量的模型

示例

在找到变换空间MAP后,提取未变换的空间Hessian

import pymc as pm
from pymc.model.transform.conditioning import remove_value_transforms

with pm.Model() as transformed_m:
    p = pm.Uniform("p", 0, 1)
    w = pm.Binomial("w", n=9, p=p, observed=6)
    mean_q = pm.find_MAP()

with remove_value_transforms(transformed_m) as untransformed_m:
    new_p = untransformed_m["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