2017-02-08 2 views
0

Существует функция pymc3.traceplot(), которая отображает трассировочные участки процесса выборки. Я вижу, что функция принимает аргумент lines, который принимает словарь, в котором вы можете передать средства как строковые строки. Как бы вы это сделали?PyMC3: Как использовать pymc3.traceplot() для перекрытия средств на traceplot

ответ

1

Вы можете передать любое значение, которое вы хотите не только для среднего.

theta_val = 0.35 
pm.traceplot(trace, lines={'theta':theta_val}) 

enter image description here

theta это имя переменной в модели и theta_val значение, которое вы хотите построить (перекрытие).

Вы можете вычислить среднее значение от трассы, выполнив:

trace['theta'].mean() 

или вы также можете сделать что-то вроде:

lines = {var:trace[var].mean() for var in trace.varnames} 
+0

эй @aloctavodia, который работает, если вы предвычисление средних значений для переменные. Что делать, если вы хотите программно вычислить среднее значение для каждой переменной? –

+0

Привет! Я отредактировал свой ответ. Пожалуйста, дайте мне знать, если вы этого хотите. – aloctavodia

+0

безупречный! Это то, что я искал. –

Смежные вопросы