安装必要的库
如果尚未安装所需的库,可以使用以下命令进行安装:
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检验,并输出了各自的统计结果。