3
我有这个功能来执行t-test,样本和人口在词典中使用相同的键。正如预期的那样,它运作良好。Bootstrap t方法Python实现
def ttest_(d):
result = {}
for k, (l, t) in d.items():
mean_sample = np.mean(t)
mean_population = np.mean(l)
sd_sample = np.std(t, ddof=1)
sd_population = np.std(l, ddof=1)
sample_size = len(t)
population_size = len(l)
result[k] = round(((mean_sample - mean_population)/
np.sqrt(((sd_sample/np.sqrt(sample_size))**2) +
((sd_population/np.sqrt(population_size))**2))), 2)
我怎么能修改此功能,以:
- >相反,一旦做最后的计算,做它在沿着类似的线引导x次:
for _ in range(1000)
- >上一步,将创建每个键的T检验的分布,然后结果[k]将是第n个百分点值....您可以使用参数指定并给出一个值说0.05。
编辑#1: 为了清楚起见,我使用的功能的方式是:
pairs = {}
for (k, v), (k2, v2) in product(population.items(), samples.items()):
if k == k2:
pairs.update({k: (v, v2)})
然后施加在此字典式:
ttest_ = ttest_(pairs)
编辑#2 : 重要的是要保留这种结构的应用函数字典的词典,以使之间的关联differen t样本和密钥,并获得相关结果[k]。唯一的区别是添加引导程序和百分比选择。
编辑#3: 感谢诺曼问题。为了澄清在新公式中,您将同一样本[k]与从总体[k]中抽取的随机子样本进行x次比较,这就是您如何得到分布。那些子样本的大小是原始样本[k]的大小。
我无法改变'寻找来自可信来源的答案'........我不一定要这样。只是一个很好的完整的好答案。谢谢 – hernanavella
如何“创建每个键的t检测分布”?引导程序会做什么x次?是否应该从样本中抽取随机子样本,然后计算它们的t值? – Norman
@Norman因此,样本总是相同的(每个关键字),并且将其与从总体中抽取的子样本进行比较x次,以便得到x个不同的t值。 – hernanavella