一道作业问题要求我计算一个均值的置信区间。当我用传统方法和numpy.percentile()方法分别计算时,得到了不同的答案。
我认为我可能误解了何时以及如何使用np.percentile()方法。我的两个问题是: 1. 我是否使用错误 -- 错误的输入等。 2. 我是否在错误的地方使用 -- 应该用于引导CI而不是传统方法?
我已经通过传统公式和np.percentile()方法计算了CI。
[14209.99205723 7793.06283131 10403.87407888 10910.59681669 14427.87437741 4426.8122023 13890.22030853 5652.39284669 22436.9686157 9591.28194843 15543.24262609 11951.15170839 16242.64433138 3673.40741792 18962.90840397 11320.92073514 12984.61905211 8716.97883291 15539.80873528 19324.24734807 12507.9268783 11226.36772026 8869.27092532 9117.52393498 11786.21064418 11273.61893921 17093.20022578 10163.75037277 13962.10004709 17094.70579814]
(这是一组数字,无法确定具体意义,请提供更多上下文信息)
我认为我可能误解了何时以及如何使用np.percentile()方法。我的两个问题是: 1. 我是否使用错误 -- 错误的输入等。 2. 我是否在错误的地方使用 -- 应该用于引导CI而不是传统方法?
我已经通过传统公式和np.percentile()方法计算了CI。
price = np.random.normal(11427, 5845, 30)
# u = mean of orginal vector
# s = std of original vector
print(price)
[14209.99205723 7793.06283131 10403.87407888 10910.59681669 14427.87437741 4426.8122023 13890.22030853 5652.39284669 22436.9686157 9591.28194843 15543.24262609 11951.15170839 16242.64433138 3673.40741792 18962.90840397 11320.92073514 12984.61905211 8716.97883291 15539.80873528 19324.24734807 12507.9268783 11226.36772026 8869.27092532 9117.52393498 11786.21064418 11273.61893921 17093.20022578 10163.75037277 13962.10004709 17094.70579814]
(这是一组数字,无法确定具体意义,请提供更多上下文信息)
x_bar = np.mean(price) # mean of vector
s = np.std(price) # std of vector
n = len(price) # number of obs
z = 1.96 # for a 95% CI
lower = x_bar - (z * (s/math.sqrt(n)))
upper = x_bar + (z * (s/math.sqrt(n)))
med = np.median(price)
print(lower, med, upper)
10838.458908888499 11868.68117628698 13901.386475143861
翻译为中文是:10838.458908888499 11868.68117628698 13901.386475143861
np.percentile(price, [2.5, 50, 97.5])
[ 4219.6258866 11868.68117629 20180.24569667]
ss.scoreatpercentile(price, [2.5, 50, 97.5])
[ 4219.6258866 11868.68117629 20180.24569667]
我期望lower、med和upper应该等于np.percentile()的输出。
虽然中位数相同,但上下限相差很大。
此外,scipy.stats.percentile给出的输出与numpy.percentile相同。
有什么想法吗?
谢谢!
编辑后显示价格向量。
price
数组。 - kmario23