【发布时间】:2013-06-21 20:32:59
【问题描述】:
我需要一些使用 scipy.stats.t.interval() 函数的帮助
我正在查看文档,但没有任何意义。什么是 loc 和 scale?我习惯于学生 T 区间需要均值、sd、df 和置信区间。
如果您知道答案并且可以提供帮助,请发布。另外,如果你能告诉我你是怎么学的,那就太好了。我一直对这份文档不满意。
【问题讨论】:
标签: scipy
我需要一些使用 scipy.stats.t.interval() 函数的帮助
我正在查看文档,但没有任何意义。什么是 loc 和 scale?我习惯于学生 T 区间需要均值、sd、df 和置信区间。
如果您知道答案并且可以提供帮助,请发布。另外,如果你能告诉我你是怎么学的,那就太好了。我一直对这份文档不满意。
【问题讨论】:
标签: scipy
由于前面的答案不明确,我做了一些研究并验证了:
loc 是平均值。
标度是均值的标准误。
这样: μ = M ± t(sM)
在哪里 μ 是 t 间隔, M 是平均值, t 是 t 统计量, sM = √(std^2/n) 是均值的标准误。
【讨论】:
您链接的文档页面有一个指向the source code 的链接。其中甚至有一个格式精美的 cmets 分布公式(搜索 class t_gen)。
loc 和 scale 是 scipy.stats 中的所有连续分布都被参数化的一种方式:基本上,对于分布 f(x),指定 loc 和 scale 意味着你得到 f(loc + x*scale)(链接源中的第 1208 行以上)。
>>> import scipy.stats as stats
>>> stats.t.pdf(2, 2)
0.06804138174397717
>>> stats.t.pdf(2, 2, loc=0, scale=1)
0.06804138174397717
>>> stats.t.pdf(2+42, 2, loc=42, scale=1)
0.06804138174397717
>>> stats.t.stats(9, moments='mvsk')
(array(0.0), array(1.2857142857142858), array(0.0), array(1.2))
>>> stats.t.stats(8, loc=1, moments='mvsk')
(array(1.0), array(1.3333333333333333), array(0.0), array(1.5))
>>> stats.t.interval(0.95, 4, loc=0)
(-2.7764451051977987, 2.7764451051977987)
>>> stats.t.interval(0.95, 4, loc=3)
(0.22355489480220125, 5.7764451051977987)
是的,乍一看有点莫名其妙:-)。
【讨论】: