我正在从分布中采样值。 Here展示了如何为给定数据创建置信区间。
我想继续采样,直到置信区间小于给定区间max_error
。有没有办法估计我还需要多少个样本?
sample_list = []
max_error = 10
while True:
list.append(get_sample())
// See https://stackoverflow.com/a/34474255
interval = scipy.stats.t.interval(0.95, len(sample_list) - 1, loc=np.mean(sample_list), scale=scipy.stats.sem(sample_list))
estimated_error = abs(interval[1]-interval[0])/2
estimated_required_samples = ??? // How to calculate this?
print(f"{len(sample_list)}/{estimated_required_samples} measurements, mean: {mean(sample_list)} +/- {estimated_error}")
if estimated_error <= max_error:
return mean(sample_list)
在Wikipedia上给出了一些公式,但它需要了解方差,但仍需在采样时进行估算。