下面我们来分析这段代码
a=np.random.randint(0,5,(2,5)) b=np.random.randn(5) print(a) print(b) means=b[a].mean(axis=0) print(means) confint=np.percentile(means,[25,50]) print(confint)
这里有一个统计学上的bootstrap方法,本来是要做b这个array的均值统计量估计,怎么弄,第一行代码里的那个“2”就是做两次,最好呢,是做1000次,好这里简化做两次,a是一个array,行是两行,列数跟b的维度一样。b[a]这个就是取数,取的b的数,维度跟a一致,axis=1是考虑行的,axis=0是考虑列的,mean()带空参数就是整个flatted plane都算,这样means出来的就多个平均,取四分位,中位数的值来表示最后参数估计值。
只是不明白跟置信区间什么关系呢?百分位就对应置信区间。我上面的例子就是25的置信区间?还是感觉结果有些奇怪?
参考
这100道练习,带你玩转Numpy。Url:https://www.kesci.com/home/project/59f29f67c5f3f5119527a2cc