График доверительного интервала - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть два распределения, из которых я хотел бы сравнить доверительный интервал 95%:

from scipy.stats import lognorm
from scipy.stats import uniform
import numpy as np
prior_fb = uniform(loc=0, scale=0.1)
post_fb = lognorm(s=np.log(1.15), scale=0.0076)

Я могу получить доверительные интервалы 95% и среднее значение обоих распределений:

prior_mean = prior_fb.mean()
prior_interval = prior_fb.interval(0.95)
post_mean = post_fb.mean()
post_interval = post_fb.interval(0.95)

Я попытался сгенерировать случайные переменные и нанести на график те из них, которые используют функцию «Интервал графика» в Origin, но я думаю, что Origin предполагает нормальное распределение данных, поэтому «интервальный график» на самом деле не представляет интервал 95%:

Interval plot using random variates

Интервал для предыдущего должен быть от 0,0025 до 0,0975, как указано prior_fb.interval(0.95).

Как я могу построитьи сравните интервалы (и среднее значение) для предшествующего и последующего, используя matplotlib?

1 Ответ

0 голосов
/ 17 декабря 2018

Я бы использовал блок-график из matplotlib, вы можете передать средние значения вместо медианы и доверительный интервал:

from matplotlib import pyplot
fig, ax = pyplot.subplots()
ax.boxplot([prior_fb.rvs(size=1000),post_fb.rvs(size=1000)],conf_intervals=[prior_interval,post_interval],usermedians=[prior_mean,post_mean],labels=['Prior','Post'])

enter image description here

...