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包)。 |