You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中ANOVA批量执行循环实现及PR(>F)结果筛选方法

批量三因素ANOVA实现代码

首先确保你已经导入了所需的依赖库:

import pandas as pd
import statsmodels.formula.api as smf
import statsmodels.api as sm

以下是完整实现代码:

# 定义需要分析的因变量列
columns=['FES_1', 'FES_2', 'FES_3', 'FES_4', 'FES_5',
   'FES_6', 'FES_7', 'FES_T', 'FES_S', 'IPAQ_1a', 'IPAQ_1b', 'IPAQ_2a',
   'IPAQ_2b', 'IPAQ_3a', 'IPAQ_3b', 'IPAQ_4a', 'IPAQ_4b', 'IPAQ_S',
   'TMT_timeA', 'TMT_errorsA', 'TMT_timeB', 'TMT_errorsB', 'Best_1',
   'Best_2', 'Best_3l', 'Best_3r', 'Best_4', 'Best_5', 'Best_6l',
   'Best_6r', 'Best_7', 'Best_8', 'Best_9', 'Best_10', 'Best_11',
   'Best_12', 'Best_13', 'Best_14', 'Best_T', 'COPmeanX',
   'COPmeanY', 'COPstdX', 'COPstdY', 'COParea', 'COPveloX', 'COPveloY',
   'COPmaxX', 'COPmaxY', 'COPrmsX', 'COPrmsY', 'PDFcopx15', 'PDFcopy15',
   'PDFcopx2', 'PDFcopy2', 'COPx01', 'COPy01', 'rateCOPx01', 'rateCOPy01',
   'COPxmax', 'COPymax', 'Fall']

# 初始化空表存储符合条件的结果
filter_result = pd.DataFrame(columns=['因变量', '效应项', 'sum_sq', 'df', 'F值', 'PR(>F)'])

# 遍历所有列批量执行ANOVA
for dep_col in columns:
    # 动态生成回归公式
    formula = f"{dep_col} ~ C(AgeGroup) + C(Surface) + C(Vision) + C(AgeGroup)*C(Surface)*C(Vision)"
    try:
        # 拟合模型生成ANOVA表
        model = smf.ols(formula, data=data).fit()
        aov_table = sm.stats.anova_lm(model, typ=2)
        # 过滤掉残差项,保留PR(>F)小于0.1的结果
        valid_rows = aov_table[(aov_table.index != "Residual") & (aov_table["PR(>F)"] < 0.1)]
        # 把符合条件的结果追加到总表
        for effect_name, row_data in valid_rows.iterrows():
            filter_result.loc[len(filter_result)] = [
                dep_col, effect_name, 
                row_data["sum_sq"], row_data["df"], 
                row_data["F"], row_data["PR(>F)"]
            ]
    except Exception as e:
        print(f"列 {dep_col} 分析失败,错误信息:{str(e)}")

# 输出最终过滤结果
print(filter_result)

补充说明

  • 代码加入了异常捕获逻辑,避免某一列数据存在缺失/异常导致整个循环中断
  • 若需要调整显著性阈值,直接修改aov_table["PR(>F)"] < 0.1中的0.1即可
  • 最终输出的结果会自动标注对应的因变量列名和效应项,仅保留符合显著性要求的记录

内容的提问来源于stack exchange,提问作者Daniel M M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:15:03