置信区间P

2024-04-20 02:36:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个分布,我想比较一下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

prior的间隔应该从0.0025到0.0975,如prior_fb.interval(0.95)所示。你知道吗

如何使用matplotlib绘制和比较前一个和后一个的间隔(和平均值)?你知道吗


Tags: fromimportfbstatsnpuniformscipymean
1条回答
网友
1楼 · 发布于 2024-04-20 02:36:26

我将使用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

相关问题 更多 >