StanFit4Model 中的 extract().to_dataframe() 在 pystan 2.18 上不起作用

extract().to_dataframe() from a StanFit4Model does not work on pystan 2.18

我使用 pystan 估算了一个模型:

import pystan

stan_model = pystan.StanModel('stan_codes/stan_code_1.stan')
samples = stan_model.sampling(data = sdata, iter = 10, chains = 1, seed = 42)
model_results = {'mdata' : model_data, 'sdata': sdata, 'samples' : samples, 'model': stan_model}

稍后我想将 samples 中的 "stuff" 提取为 dataframe 格式。我正在使用

mdata, sdata, samples, model = [x for x in model_results.values()]
samples.extract().to_dataframe()

但是我得到一个错误:

 AttributeError: 'collections.OrderedDict' object has no attribute 'to_dataframe'

根据 documentation samples.extract() 应该有一个属性 to_dataframe(),对吧?我在这里做错了什么吗?我正在使用 pystan version 2.18.0.0

你试过直接从fit对象中提取到DataFrame吗

类似...

stan_model = pystan.StanModel('stan_codes/stan_code_1.stan')
samples = stan_model.sampling(data = sdata, iter = 10, chains = 1, seed = 42)
chains = samples.to_dataframe('parameter name')