如何解决顺序采样
要从样本量为100的N(1,2)中采样并计算该样本的平均值,我们可以这样做:
import numpy as np
s = np.random.normal(1,2,100)
mean = np.mean(s)
现在,如果我们要生成10000个样本并保存每个样本的平均值,则可以执行以下操作:
sample_means = []
for x in range(10000):
sample = np.random.normal(1,100)
sample_means.append (sample.mean())
当我们要从N(1,2)中顺序采样并顺序估计分布平均值时,该怎么办?
解决方法
IIUC你是累积的
sample = np.random.normal(1,2,(10000,100))
sample_mean = []
for i,_ in enumerate(sample):
sample_mean.append(sample[:i+1,:].ravel().mean())
然后sample_mean
包含累积样本均值
sample_mean[:10]
[1.1185342714036368,1.3270808654923423,1.3266440422140355,1.2542028664103761,1.179358517854582,1.1224645540064788,1.1416887857272255,1.1156887336750463,1.0894328800573165,1.0878896099712452]
,
也许列表理解?
sample_means = [np.random.normal(1,100).mean() for i in range(10000)]
提示使用小写字母在Python中命名变量
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。