Bra*_* Ds 5 python statistics numpy scipy confidence-interval
我有一些样本数据,我想计算其置信区间,假设分布不正常且未知。基本上,看起来分布是帕累托分布。
但我不确定。
正态分布的答案:
如果您不知道底层分布,那么我的第一个想法是使用引导: 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)
| 归档时间: |
|
| 查看次数: |
8681 次 |
| 最近记录: |