如何用置信区间解释数据点的上/下界?

时间:2017-03-15 00:23:23

标签: python scipy statistics confidence-interval t-test

给出一系列值:

>>> from scipy import stats
>>> import numpy as np
>>> x = list(range(100))

使用学生t检验,我可以找到分布的置信区间,其平均值为0.1(即置信度为90%):

def confidence_interval(alist, v, itv):
    return stats.t.interval(itv, df=len(alist)-1, loc=v, scale=stats.sem(alist))

x = list(range(100))
confidence_interval(x, np.mean(x), 0.1)

[OUT]:

(49.134501289005009, 49.865498710994991)

但如果我要在每个数据点找到置信区间,例如值10

>>> confidence_interval(x, 10, 0.1)
(9.6345012890050086, 10.365498710994991)

如何解释值的间隔?根据统计数据/数学声音来解释它是什么?

是否类似于:

  

置信度为90%时,我们知道数据点10属于(9.6345012890050086, 10.365498710994991)区间,

又名。

  

90%的置信度,我们可以说数据点落在10 + - 0.365 ......

那么我们可以将区间解释为某种类型的数据点盒形图吗?

2 个答案:

答案 0 :(得分:6)

简而言之

您的调用给出了未知参数的正态定律的平均参数的置信区间,您观察到100个观测值,平均值为10,stdv为29.此外,由于您的分布,因此无法解释它。显然不正常,因为10不是观察到的平均值。

TL; DR

在置信区间存在很多误解,其中大多数误解似乎源于对我们信心十足的误解。由于您对置信区间的理解存在一些混淆,因此更广泛的解释可以更深入地理解您正在处理的概念,并且希望能够明确排除任何错误来源。

清除误解

非常简短的设置。我们处于我们想要估计参数的情况,或者更确切地说,我们想要测试参数化随机变量分布的参数值的假设。例如:假设我有一个具有均值m和标准差sigma的正态分布变量X,我想测试假设m = 0。

什么是参数测试

这是一个测试随机变量参数假设的过程。由于我们只能访问随机变量的具体实现的观察,因此通常通过计算这些实现的统计来进行。统计量大致是随机变量实现的函数。让我们调用这个函数S,我们可以在x_1,...,x_n上计算S,这与X的实现次数一样多。

因此您了解S(X)是随机变量以及分布,参数等等!我们的想法是,对于标准测试,S(X)遵循一个众所周知的分布,其值列表。例如:http://www.sjsu.edu/faculty/gerstman/StatPrimer/t-table.pdf

什么是置信区间?

鉴于我们刚才所说的,置信区间的定义是:测试参数的值范围,如果观察结果是由参数化的分布生成的,那么范围,它不会在概率上不可能。 换句话说,置信区间给出了问题的答案:给定以下观察结果x_1,...,x_n n的实现,我们可以自信地说X的分布是通过这样的值进行参数化的。 90%,95%等......表明信心水平。通常,外部约束确定了这一水平(质量评估的工业规范,科学规范,例如:用于发现新粒子)。

我认为现在对你来说很直观:

  1. 置信度越高,置信区间越大。例如对于100%的置信度,一旦存在一些不确定性,置信区间将在所有可能的值范围内

  2. 对于大多数测试,在我不能描述的条件下,我们观察的越多,我们就越能抑制置信区间。

  3.   

    置信度为90%时,我们知道数据点10落在区间内(9.6345012890050086,10.365498710994991)

    说这是错误的,这是最常见的错误来源。 90%置信区间从不意味着估计参数有90%的可能性落入该区间。当计算间隔时,它会覆盖参数,或者它不会,它不再是概率问题。 90%是对估算程序可靠性的评估

    什么是学生考试?

    现在让我们来看看你在我们刚才所说的灯光下看看它。您可以将Student测试应用于观察列表。 第一:学生测试旨在测试正态分布随机变量的均值m与未知标准差和某个值m_0之间的平等假设。

    与此测试相关的统计量为t = (np.mean(x) - m_0)/(s/sqrt(n)),其中x是观察向量,n是观察数量,经验标准偏差。毫不奇怪,这是在学生分发之后。

    因此,您想要做的是:

    1. 为您的样本计算此统计量,计算与具有此多自由度的学生分布相关联的置信区间,此理论均值和置信度

    2. 看看你的计算t是否属于那个时间间隔,它告诉你是否可以用这种置信水平排除相等假设。

    3. 我想给你一个练习,但我觉得我已经足够长了。

      总结scipy.stats.t.interval的用法。您可以使用以下两种方式之一。使用上面显示的公式计算自己的t统计量,并检查t是否适合interval(alpha, df)返回的时间间隔,其中df是采样的长度。或者你可以直接调用interval(alpha, df, loc=m, scale=s),其中m是你的经验均值,并且是经验标准偏差(除以sqrt(n))。在这种情况下,返回的间隔将直接是均值的置信区间。

      因此,在您的情况下,您的调用给出了未知参数的正态定律的平均参数的置信区间,其中您观察到100次观察,平均值为10,stdv为29.此外,对它进行解释也是不合理的。除了我已经指出的解释错误旁边,因为你的分布显然不正常,因为10不是观察到的平均值。

      资源

      您可以查看以下资源,以便更进一步。

      维基百科链接有快速参考和精心概述

      https://en.wikipedia.org/wiki/Confidence_interval

      https://en.wikipedia.org/wiki/Student%27s_t-test

      https://en.wikipedia.org/wiki/Student%27s_t-distribution

      进一步

      http://osp.mans.edu.eg/tmahdy/papers_of_month/0706_statistical.pdf

      我还没读过,但下面的内容看起来还不错。 https://web.williams.edu/Mathematics/sjmiller/public_html/BrownClasses/162/Handouts/StatsTests04.pdf

      你也应该查看p值,你会发现很多相似之处,希望你在阅读这篇文章后能更好地理解它们。

      https://en.wikipedia.org/wiki/P-value#Definition_and_interpretation

答案 1 :(得分:3)

置信区间毫无希望地违反直觉。特别是对程序员来说,我敢说是程序员。

Wikipedida使用90%的信心来说明可能的解释:

  

如果对大量样本重复此过程,那么包含真实总体参数的计算置信区间(每个样本会有所不同)的比例将倾向于90%。

换句话说

  1. 置信区间提供有关样本的统计参数(例如均值)的信息。
  2. 对例如90%置信区间为:如果重复实验无限次,90%的置信区间将包含真实参数。
  3. 假设计算间隔的代码是正确的(我没有检查过),你可以用它来计算均值的置信区间(因为t-distribution,它模拟样本均值标准差未知的正态分布人口)。

    出于实际目的,传递样本均值是有意义的。否则你说" 如果我假装我的数据有一个样本平均值,例如10,平均值的置信区间为[9.6,10.3] "。

    传递到置信区间的特定数据也没有意义。在0到99范围内增加的数字非常不太可能从正态分布中提取。