Python Scipy Stats ttest_1amp假设检验,用于将以前的绩效与样本进行比较

Python Scipy Stats ttest_1amp假设检验,用于将以前的绩效与样本进行比较,python,scipy,statistics,Python,Scipy,Statistics,我要解决的问题 我有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

我要解决的问题

我有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个月的结果有统计学差异?”

我看到一个博客…

我偶然发现了他的博客。我将在这里复制(以防博客崩溃)

1样本t检验

当我们想要将样本平均数与样本平均数进行比较时,使用单样本t检验 人口平均数(我们已经知道)。英国男人的平均年龄是 175.3厘米高。一项调查记录了10名英国男性的身高,我们想知道样本的平均值是否与平均值不同 人口平均数

结果:

The t-statistic is 2.296 and the p-value is 0.047.
最后,我的问题是……

在iaingallagher的例子中,他知道总体平均数,并且正在比较一个样本(
one\u sample\u data
)。在我的例子中,我想看看
1/1/2016
是否与前11个月有统计差异。所以在我的例子中,前11个月是一个数组(而不是单个总体平均值),我的样本是一个数据点(而不是数组)。。。所以这有点倒退

问题

如果我专注于
购物
列数据:

scipy.stats.
([161197190154179170183172176199156],106)
产生有效结果,即使我的样本(第一个参数)是以前结果的列表,我将其与
popmean
进行比较,后者不是总体平均值,而是一个样本


如果这不是正确的统计函数,是否有关于此假设检验情况使用什么的建议?

如果您只对
“Shopping”
列感兴趣,请尝试创建一个.xlsx或.csv文件,其中仅包含
“Shopping”
列中的数据

通过这种方式,您可以导入这些数据,并使用pandas对每个列分别执行相同的T检验

import pandas as pd
from scipy import stats
data = pd.read_excel("datafile.xlxs")
    one_sample_data = data["Shopping"]

    one_sample = stats.ttest_1samp(one_sample_data, 175.3)

如果您只对
“Shopping”
列感兴趣,请尝试创建一个.xlsx或.csv文件,其中仅包含
“Shopping”
列中的数据

通过这种方式,您可以导入这些数据,并使用pandas对每个列分别执行相同的T检验

import pandas as pd
from scipy import stats
data = pd.read_excel("datafile.xlxs")
    one_sample_data = data["Shopping"]

    one_sample = stats.ttest_1samp(one_sample_data, 175.3)

这与其说是编程问题,不如说是统计问题。您最好删除编程方面的内容,只需询问上的统计信息。在这里发布问题之前,我已经这样做了(甚至在这个问题上做了赏金),但不确定我可以使用
ttest_1amp
的结论是否正确。即使有交叉验证的赏金,我也没有得到太多的回答(在我看来这是一个很常见的问题),你到底在问什么,但没有得到回答?这个答案告诉你使用两个样本的t检验。我不确定我是否同意这一点,但无论如何,这仍然是一个交叉验证的问题。你的问题没有提到单样本t检验,所以答案没有提到。如果您对本用例的单样本t检验的统计有效性有疑问,您应该询问交叉验证的单样本t检验。我不同意您的看法。这个问题是一个特定于编程的问题,涉及
scipy
中的函数,以及第一个参数是否可以与数组交换,其中该数组是历史数据而不是样本数据,我输入的不是总体平均值,而是单个样本。问题是,这是否仍然会返回有效的比较。这里有很多scipy用户可能知道答案。在交叉验证中给出答案的用户使用了R,我正试图找到一个与之等效的答案,但不确定是否是。这更多的是一个统计问题,而不是一个编程问题。您最好删除编程方面的内容,只需询问上的统计信息。在这里发布问题之前,我已经这样做了(甚至在这个问题上做了赏金),但不确定我可以使用
ttest_1amp
的结论是否正确。即使有交叉验证的赏金,我也没有得到太多的回答(在我看来这是一个很常见的问题),你到底在问什么,但没有得到回答?这个答案告诉你使用两个样本的t检验。我不确定我是否同意这一点,但无论如何,这仍然是一个交叉验证的问题。你的问题没有提到单样本t检验,所以答案没有提到。如果您对本用例的单样本t检验的统计有效性有疑问,您应该询问交叉验证的单样本t检验。我不同意您的看法。这个问题是一个特定于编程的问题,涉及
scipy
中的函数,以及第一个参数是否可以与数组交换,其中该数组是历史数据而不是样本数据,我输入的不是总体平均值,而是单个样本。问题是,这是否仍然会返回有效的比较。这里有很多scipy用户可能知道答案。在交叉验证中给出答案的用户使用了R,我试图找到一个与之等效的答案,但不确定
ttest\u 1amp
是否是。
import pandas as pd
from scipy import stats
data = pd.read_excel("datafile.xlxs")
    one_sample_data = data["Shopping"]

    one_sample = stats.ttest_1samp(one_sample_data, 175.3)