假设分布未知,根据样本数据计算置信区间

Bra*_* Ds 5 python statistics numpy scipy confidence-interval

我有一些样本数据,我想计算其置信区间,假设分布不正常且未知。基本上,看起来分布是帕累托分布。分布直方图但我不确定。

正态分布的答案:

根据样本数据计算置信区间

使用 scipy 获取置信区间的正确方法

acd*_*cdr 6

如果您不知道底层分布,那么我的第一个想法是使用引导: https: //en.wikipedia.org/wiki/Bootstrapping_(statistics)

在伪代码中,假设x是一个包含数据的 numpy 数组:

import numpy as np
N = 10000
mean_estimates = []
for _ in range(N):
    re_sample_idx = np.random.randint(0, len(x), x.shape)
    mean_estimates.append(np.mean(x[re_sample_idx]))
Run Code Online (Sandbox Code Playgroud)

mean_estimates现在是 10000 个分布均值估计值的列表。取这 10000 个值的第 2.5 个和第 97.5 个百分位,您就可以得到围绕数据平均值的置信区间:

sorted_estimates = np.sort(np.array(mean_estimates))
conf_interval = [sorted_estimates[int(0.025 * N)], sorted_estimates[int(0.975 * N)]]
Run Code Online (Sandbox Code Playgroud)