Probabilistic Programming: Confounding Variables

Ref: Baysian Analysis with Python by Osvaldo Martin
—————————————————-
交絡(Confounding)は、統計モデルの中の従属変数と独立変数の両方に相関する外部変数が存在することであり、そのような外部変数を交絡変数(confounding variable)と呼ぶ。

with pm.Model() as model_red:
alpha = pm.Normal(‘alpha’, mu=0, sd=1)
#beta = pm.Normal(‘beta’, mu=0, sd=10, shape=2)
beta = pm.Normal(‘beta’, mu=0, sd=10)
epsilon = pm.HalfCauchy(‘epsilon’, 5)

#mu = alpha + pm.math.dot(beta, X)
mu = alpha + beta * X[0]
y_pred = pm.Normal(‘y_pred’, mu=mu, sd=epsilon, observed=y)

trace_red = pm.sample(5000, njobs=1)

pm.traceplot(trace_red)
plt.savefig(‘img428.png’, dpi=300, figsize=(5.5, 5.5))

plt.figure()