likes
comments
collection
share

数据挖掘的一种工具:单样本t检验

作者站长头像
站长
· 阅读数 11

当我们进行数据分析时,有时我们想要知道一个样本的平均值是否与某个特定的值有显著的差异。这时,我们可以使用单样本t检验来进行判断。单样本t检验是一种统计方法,用于比较一个样本的平均值与一个已知的理论值之间是否有显著差异。

举个简单的例子: 假设我们有一种新的药物,我们猜测这款新的药物可以降低人们的血压。我们从一组患有高血压的人中随机选择了一部分人作为样本,给他们使用这种药物进行治疗。

在使用这款新的药物之后,我们测量了这部分使用新药的人的血压,并计算了这部分人的平均血压值。然后,我们将这个平均值与已知的理论值(例如,正常血压的平均值)进行比较。

通过进行单样本t检验,我们可以计算出一个t值和一个p值。如果计算得到的p值小于我们设定的显著性水平(通常是0.05),那么我们可以得出结论:这种药物对降低血压是有效的,样本的平均血压值与理论值之间存在显著差异。

比如说这部分人的平均血压值为120,而正常血压的平均值为110。通过单样本t检验,如果计算得到的p值小于0.05,我们就可以说这种新的药物对降低血压是有效的。

那你知道这个p值小于0.05的这个0.05它是什么吗?这个0.05指的是显著性水平,用于判断统计结果是否显著。通常,我们使用0.05作为显著性水平的选择。如果p值小于显著性水平(通常是0.05),我们就有足够的证据来拒绝原假设,即认为观察到的差异是显著的。

这是单样本t检验的概念。

下面是示例代码:

数据挖掘的一种工具:单样本t检验

我们以身高为例来理解一下单样本t检验

df.身高.describe()

数据挖掘的一种工具:单样本t检验

df.身高.hist()

数据挖掘的一种工具:单样本t检验

通过 调用hist()函数,我们可以生成一个直方图,并将数据框中的身高数据按照一定的区间进行分组。每个区间的高度表示该区间内身高值的频数或频率。

from scipy import stats as ss
t_statistic, p_value = ss.ttest_1samp(df['身高'], 170)
print("t值:", t_statistic)
print("p值:", p_value)

这段代码使用了scipy库中的stats模块来进行单样本t检验。ttest_1samp()函数用于执行单样本t检验,其中第一个参数是要进行检验的样本数据,第二个参数是要进行比较的理论值。df.身高是要进行检验的样本数据,170是要进行比较的理论值,即平均身高。函数的返回结果是一个包含t统计量和p值的元组。

单样本t检验你学会了吗?