【问题标题】:Generating random samples for each sample length and calculate the standard deviation from the means question [duplicate]为每个样本长度生成随机样本并计算均值问题的标准偏差[重复]
【发布时间】:2021-05-12 14:28:02
【问题描述】:

我正在尝试回答这个问题:

假设样本是根据标准正态分布 (μ= 0,σ= 1) 创建的。取从 N = 1 到 600 的样本长度。对于每个样本长度,抽取 5000 个样本并估计每个样本的平均值。从这些均值中找出标准差,并证明标准差对应于平方根约简。

我不确定我是否正确解释了这个问题,但我的目标是找到每个样本长度的均值的标准差,然后表明标准差的减少类似于平方根减少:

这就是我目前所拥有的(我正在做的事情与这个问题有关吗?):

首先制作正态分布,然后绘制一个简单的供参考:

import math
import numpy as np
import matplotlib.pyplot as plt
import xarray as xr
from scipy.stats import norm, kurtosis, skew
from scipy import stats

n = np.arange(1,401,1)

mu = 0

sigma = 1
x = np.linspace(mu - 4*sigma, mu + 4*sigma, 100)
pdf = stats.norm.pdf(x, mu, sigma)

# plot normal distribution
plt.plot(x,pdf)
plt.show()

现在是样本长度等并计算 sdev 和平均值:

sample_means = []
sample_stdevs = []

for i in range(400):
    rand_list = np.random.randint(1,400,1000) #samples ranging from values 1 - 400, and make a 1000 of them
    sample_means.append(np.mean(rand_list))
    
    sample_stdevs.append(np.std(sample_means))


plt.plot(sample_stdevs)

这有意义吗?...我也对根减少部分感到困惑。

【问题讨论】:

    标签: python numpy statsmodels normal-distribution standard-deviation


    【解决方案1】:

    选取从 N = 1 到 400 的样本长度。对于每个样本长度,抽取 1000 个样本并估计每个样本的平均值。

    长度为 200 的样本表示抽取 200 个样本点。取其平均值。现在对 N = 200 执行 1000 次,您就有 1000 个均值。计算这 1000 个均值的标准值,它会告诉您这些均值的分布。对所有 N 执行此操作,以查看这种分布如何随不同样本长度而变化。

    这个想法是,如果您只抽取 5 个样本,它们的平均值很可能不会很好地接近 0。如果您收集 1000 个这些平均值,它们会发生很大的变化,并且您会得到广泛的分布。如果您收集更大的样本,由于大数定律,平均值将非常接近 0,即使您这样做 1000 次也是可重现的。因此,这些手段的传播会更小。

    均值的标准差是总体的标准差(在我们的例子中为 σ = 1)除以我们抽取的样本大小的平方根。请参阅wiki article 了解推导。

    import numpy as np
    import matplotlib.pyplot as plt
    
    stdevs = []
    lengths = np.arange(1, 401)
    
    for length in lengths:
        # mean = 0, std = 1 by default
        sample = np.random.normal(size=(length, 1000))
        stdevs.append(sample.mean(axis=0).std())
    
    plt.plot(lengths, stdevs)
    plt.plot(lengths, 1 / np.sqrt(lengths))
    plt.legend(['Sampling', 'Theory'])
    plt.show()
    

    输出

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2019-01-02
      • 2014-12-13
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      相关资源
      最近更新 更多