alv*_*vas 7 python statistics scipy confidence-interval t-test
给出一个值列表:
>>> from scipy import stats
>>> import numpy as np
>>> x = list(range(100))
Run Code Online (Sandbox Code Playgroud)
使用学生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)
Run Code Online (Sandbox Code Playgroud)
[OUT]:
(49.134501289005009, 49.865498710994991)
Run Code Online (Sandbox Code Playgroud)
但是,如果我要在每个数据点找到置信区间,例如10
:
>>> confidence_interval(x, 10, 0.1)
(9.6345012890050086, 10.365498710994991)
Run Code Online (Sandbox Code Playgroud)
如何解释值的区间?在统计上/数学上听起来完全可以理解吗?
它是否类似于:
置信度为90%,我们知道数据点
10
落在区间内(9.6345012890050086, 10.365498710994991)
,
又名.
置信度为90%,我们可以说数据点下降到10 + - 0.365 ......
那么我们可以将区间解释为某种类型的数据点盒形图吗?
你的调用给出了一个未知参数正态定律的平均参数的置信区间,你观察到100个观测值,平均值为10,stdv为29.此外,你的分布显然不是很合理.正常,因为10不是观察到的平均值.
在置信区间存在很多误解,其中大多数误解似乎源于对我们信心十足的误解.由于您对置信区间的理解存在一些混淆,因此更广泛的解释可以更深入地理解您正在处理的概念,并且希望能够明确排除任何错误来源.
非常简单地设置一下.我们处于我们想要估计参数的情况,或者更确切地说,我们想要测试参数化随机变量分布的参数值的假设.例如:假设我有一个具有均值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%等......表明信心水平.通常,外部约束确定了这一水平(质量评估的工业规范,科学规范,例如:用于发现新粒子).
我认为现在对你来说很直观:
置信水平越高,置信区间越大.例如,对于100%的置信度,一旦存在一些不确定性,置信区间将在所有可能的值范围内
对于大多数测试,在我不会描述的条件下,我们观察的越多,我们就越能抑制置信区间.
置信度为90%时,我们知道数据点10落在区间内(9.6345012890050086,10.365498710994991)
说这是错误的,这是最常见的错误来源.90%置信区间从未意味着估计参数有90%的可能性落入该区间.当计算间隔时,它会覆盖参数,或者它不会,它不再是概率问题.90%是对估算程序可靠性的评估.
现在让我们来看看你的例子吧,在我们刚才所说的话的基础上看一下.您可以将Student测试应用于观察列表.第一:学生测试旨在测试具有未知标准差的正态分布随机变量的均值m 与某个值m_0 之间的相等性假设.
与此测试相关的统计量是t = (np.mean(x) - m_0)/(s/sqrt(n))
x是您的观测矢量,n是观测数量和经验标准差.毫不奇怪,这是在学生分发之后.
因此,你想要做的是:
为您的样本计算此统计量,计算与具有此多自由度的学生分布相关联的置信区间,此理论均值和置信水平
看看你的计算是否t
属于那个区间,它告诉你是否可以用这种置信水平排除相等假设.
我想给你一个练习,但我觉得我已经足够长了.
总结一下使用方法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
归档时间: |
|
查看次数: |
1221 次 |
最近记录: |