我需要的帮助不大。如果我有30个随机样本,平均值为52,方差为30,那么我如何计算平均值的95%置信区间,估计和真实方差为30。
答案 0 :(得分:0)
在这里,您可以结合使用numpy和statsmodels的功能来开始学习:
要生成均值为52且方差为30的正态分布浮点,可以将numpy.random.normal与numbers = np.random.normal(loc=52, scale=30, size=30)
一起使用,其中参数为:
Parameters ---------- loc : float Mean ("centre") of the distribution. scale : float Standard deviation (spread or "width") of the distribution. size : int or tuple of ints, optional Output shape. If the given shape is, e.g., ``(m, n, k)``, then ``m * n * k`` samples are drawn. Default is None, in which case a single value is returned.
这是使用DescrStatsW.tconfint_mean的平均值的95%置信区间:
import statsmodels.stats.api as sms
conf = sms.DescrStatsW(numbers).tconfint_mean()
conf
# output
# (36.27, 56.43)
编辑-1
但是,这还不是全部。。。根据样本量,您应该使用Z得分而不是sms.DescrStatsW(numbers).tconfint_mean()
所使用的t得分。而且我感到,经验法则阈值为30,并且您的问题中有30个观察值并非巧合。 Z vs t
还取决于您是否知道总体标准偏差,还是必须依靠样本的估计值。而且这些计算方式也不同。看一下here。如果您希望我对此进行解释和进一步说明,那么我很乐意在周末再进行研究。