【发布时间】:2016-06-17 17:18:42
【问题描述】:
我要解决的问题
我有 11 个月的绩效数据:
Month Branded Non-Branded Shopping Grand Total
0 2/1/2015 1330 334 161 1825
1 3/1/2015 1344 293 197 1834
2 4/1/2015 899 181 190 1270
3 5/1/2015 939 208 154 1301
4 6/1/2015 1119 238 179 1536
5 7/1/2015 859 238 170 1267
6 8/1/2015 996 340 183 1519
7 9/1/2015 1138 381 172 1691
8 10/1/2015 1093 395 176 1664
9 11/1/2015 1491 426 199 2116
10 12/1/2015 1539 530 156 2225
假设现在是 2016 年 2 月 1 日,我问“1 月份的结果在统计上与过去 11 个月有什么不同吗?”
Month Branded Non-Branded Shopping Grand Total
11 1/1/2016 1064 408 106 1578
我偶然发现了一个博客...
我偶然发现了iaingallagher 的博客。我会在这里复现(以防博客宕机)。
1 样本 t 检验
当我们想要将样本均值与 人口均值(我们已经知道)。英国男人的平均水平是 身高 175.3 厘米。一项调查记录了 10 名英国男性的身高,我们想知道样本的平均值是否与 人口平均数。
# 1-sample t-test
from scipy import stats
one_sample_data = [177.3, 182.7, 169.6, 176.3, 180.3, 179.4, 178.5, 177.2, 181.8, 176.5]
one_sample = stats.ttest_1samp(one_sample_data, 175.3)
print "The t-statistic is %.3f and the p-value is %.3f." % one_sample
结果:
The t-statistic is 2.296 and the p-value is 0.047.
最后,我的问题...
在 iaingallagher 的示例中,他知道总体均值并正在比较样本 (one_sample_data)。在我的示例中,我想查看 1/1/2016 是否与前 11 个月在统计上有所不同。所以在我的例子中,前 11 个月是一个数组(而不是单个总体平均值),而我的样本是一个数据点(而不是数组)......所以它有点倒退。
问题
如果我专注于Shopping 列数据:
scipy.stats.ttest_1samp([161,197,190,154,179,170,183,172,176,199,156], 106) 是否会产生有效结果,即使我的样本(第一个参数)是先前结果的列表,并且我将其与 popmean 进行比较,这不是总体平均值,而是一个样本。
如果这不是正确的统计功能,有什么建议可以用于这种假设检验情况吗?
【问题讨论】:
-
这更像是一个统计问题而不是编程问题。您最好删除编程方面并在Cross Validated 上询问统计信息。
-
在此处发布问题之前我已经这样做了(甚至对问题进行了赏金),但不确定我可以使用
ttest_1samp的结论是否正确。即使有交叉验证的赏金,我也没有得到太多对这个问题的回应(这似乎是一个很常见的 IMO)Question can be found here -
你到底在问什么,而那里没有回答?该答案告诉您使用两个样本的 t 检验。我不确定我是否同意这一点,但无论哪种方式,这仍然是 Cross Validated 的问题。你的问题没有提到单样本t检验,所以答案没有解决。如果您对此用例的单样本 t 检验的统计有效性有疑问,您应该在 Cross Validated 上询问单样本 t 检验。
-
我不同意你的看法。这个问题是关于
scipy中的一个函数的编程特定问题,以及第一个参数是否可以与一个数组交换,其中该数组是历史数据而不是样本数据,而不是输入总体平均值,我'正在输入一个样本。问题是,这是否仍会返回有效的比较。这里有很多 scipy 用户可能知道这个问题的答案。给出交叉验证答案的用户使用了 R,我正在尝试找到与之等效的 R,但不确定ttest_1samp是否是这样。
标签: python scipy statistics