C4.3
双因素方差分析
教材页 第4.1.5节,第107页
任务 双因素方差分析检验,给出F统计量和p-value值
数据集 salarytwoway.xlsx
某类型工作人员月薪统计,按照月份和城市进行分类统计,分析月薪是否与月份和城市两个因素有关(双因素方差分析) 默认该文件存到D:\目录下,如果不是该位置,则需要修改程序代码中的文件路径。
Python import pandas as pd;
from statsmodels.formula.api import ols;
from statsmodels.stats.anova import anova_lm;
#from statsmodels.stats.multicomp import pairwise_tukeyhsd;
data= pd.read_excel('d:\\salarytwoway.xlsx',index_col=0);
df_twoway=data.stack().reset_index();
df_twoway.columns=['月份','城市','月薪'];
model_twoway=ols('月薪~C(月份)+C(城市)',df_twoway).fit();
anova_table=anova_lm(model_twoway);
print(anova_table);

交互

效应

import pandas as pd;
from statsmodels.formula.api import ols;
from statsmodels.stats.anova import anova_lm;
#from statsmodels.stats.multicomp import pairwise_tukeyhsd;
data= pd.read_excel('d:\\salarytwoway.xlsx',index_col=0);
df_twoway=data.stack().reset_index();
df_twoway.columns=['月份','城市','月薪'];
model_twoway=ols('月薪~C(月份)+C(城市)+C(月份):C(城市)',df_twoway).fit();
anova_table=anova_lm(model_twoway);
print(anova_table);
C++
输出

df sum_sq mean_sq F PR(>F)
C(月份) 11.0 6.242749e+07 5.675227e+06 0.871762 0.572196
C(城市) 5.0 4.062262e+07 8.124523e+06 1.247994 0.299585
Residual 55.0 3.580536e+08 6.510066e+06 NaN NaN

书籍 姜维.《数据分析与数据挖掘》、《数据分析与数据挖掘建模与工具》,电子工业出版社, 2023,2024。
软件 Python,C++(附加orsci包)。