module 'pymc3' has no attribute 'gelman_rubin'

######总是报错为

'''

lline 33, in <module>     print(pm.gelman_rubin(multi_chain))   AttributeError: module 'pymc3' has no attribute 'gelman_rubin'

ine 39, in <module>    print(pm.df_summary(multi_chain))    AttributeError: module 'pymc3' has no attribute 'df_summary'

'''

 

#补充一下信息。代码如下:相应功能更新到arviz模块了。

import pymc3 as pm
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import seaborn as sns
palette = 'muted'
sns.set_palette(palette); sns.set_color_codes(palette)

np.random.seed(123)
n_experiments = 4
theta_real = 0.35  # unkwon value in a real experiment
data = stats.bernoulli.rvs(p=theta_real, size=n_experiments)

with pm.Model() as our_first_model:
    # a priori
    theta = pm.Beta('theta', alpha=1, beta=1)
    # likelihood
    y = pm.Bernoulli('y', p=theta, observed=data)
    #y = pm.Binomial('theta',n=n_experimentos, p=theta, observed=sum(datos))
    start = pm.find_MAP()
    step = pm.Metropolis()
    trace = pm.sample(1000, step=step, start=start,cores=1)

with our_first_model:
    step = pm.Metropolis()
    multi_trace = pm.sample(1000, step=step,cores=1)

if __name__ == '__main__':
    burnin = 0  # no burnin
    multi_chain = multi_trace[burnin:]
    pm.traceplot(multi_chain, lines={'theta':theta_real})
    plt.show()
    print(pm.gelman_rubin(multi_chain))

    pm.forestplot(multi_chain, var_names=['theta'])
    plt.show()

    print(pm.summary(multi_chain))
    print(pm.df_summary(multi_chain))