使用python实现 spss软件里的 单因素方差分析,配对T检验

安装必要的库

如果尚未安装所需的库,可以使用以下命令进行安装:

pip install scipy statsmodels pandas pingouin

生成示例数据

我们将生成两个数据集,一个用于Levene检验、Welch’s ANOVA和Tukey HSD检验,另一个用于配对T检验。

import pandas as pd

# 示例数据集1:用于Levene检验、Welch's ANOVA和Tukey HSD检验
data = {
    'Group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
    'Value': [10, 12, 14, 20, 22, 19, 30, 29, 31]
}
df = pd.DataFrame(data)

# 示例数据集2:用于配对T检验
paired_data = {
    'Before': [85, 90, 88, 75, 95],
    'After': [88, 92, 84, 78, 96]
}
df_paired = pd.DataFrame(paired_data)

Levene检验(Levene’s Test)

使用pingouin库中的levene_test函数进行Levene检验,以检验不同组的方差是否相等。

import pingouin as pg

# 进行Levene检验
levene = pg.homoscedasticity(df, dv='Value', group='Group')

# 输出Levene检验结果
print(levene)
# 如果P值小于显著性水平(例如0.05),则拒绝方差相等的假设

Welch’s ANOVA

Welch’s ANOVA用于不同组的均值比较,且不假设方差相等。

# 进行Welch's ANOVA
welch_anova = pg.welch_anova(dv='Value', between='Group', data=df)

# 输出Welch's ANOVA结果
print(welch_anova)
# Welch's ANOVA结果包含统计量和P值,P值用于判断组间均值是否存在显著差异

Tukey HSD检验

Tukey HSD(Honest Significant Difference)检验用于在ANOVA之后进行多重比较。它可以识别哪些组之间的均值差异显著。

# 进行Tukey HSD检验
tukey_hsd = pg.pairwise_tukey(dv='Value', between='Group', data=df)

# 输出Tukey HSD检验结果
print(tukey_hsd)
# Tukey HSD结果包含每对组之间的均值差异、P值和置信区间

配对T检验

配对T检验用于比较同一组对象在两个不同条件下的均值。通常用于实验前后数据的比较。

from scipy.stats import ttest_rel

# 进行配对T检验
t_stat, p_value = ttest_rel(df_paired['Before'], df_paired['After'])

# 输出配对T检验结果
print(f"Paired T-test statistic: {t_stat}, P-value: {p_value}")
# 如果P值小于显著性水平(例如0.05),则拒绝均值相等的假设,表明两个条件下的均值存在显著差异

完整代码示例

以下是将上述所有步骤整合到一个脚本中的完整代码示例:

import pandas as pd
from scipy.stats import ttest_rel
import pingouin as pg

# 示例数据集1:用于Levene检验、Welch's ANOVA和Tukey HSD检验
data = {
    'Group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
    'Value': [10, 12, 14, 20, 22, 19, 30, 29, 31]
}
df = pd.DataFrame(data)

# 示例数据集2:用于配对T检验
paired_data = {
    'Before': [85, 90, 88, 75, 95],
    'After': [88, 92, 84, 78, 96]
}
df_paired = pd.DataFrame(paired_data)

# Levene检验
levene = pg.homoscedasticity(df, dv='Value', group='Group')
print(levene)

# Welch's ANOVA
welch_anova = pg.welch_anova(dv='Value', between='Group', data=df)
print(welch_anova)

# Tukey HSD检验
tukey_hsd = pg.pairwise_tukey(dv='Value', between='Group', data=df)
print(tukey_hsd)

# 配对T检验
t_stat, p_value = ttest_rel(df_paired['Before'], df_paired['After'])
print(f"Paired T-test statistic: {t_stat}, P-value: {p_value}")

这个脚本生成了示例数据,执行了Levene检验、Welch’s ANOVA、Tukey HSD检验和配对T检验,并输出了各自的统计结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值