《商务与经济统计》Python实现笔记(三)
程序员文章站
2024-01-19 15:09:04
...
方差分析
单因素方差分析(多个总体均值相等的假设检验)
import scipy.stats as stats
a = [58,64,55,66,67]
b = [58,69,71,64,68]
c = [48,57,59,47,49]
stats.f_oneway(a,b,c)
F_onewayResult(statistic=9.176470588235295, pvalue=0.0038184120755124806)
import pandas as pd
import numpy as np
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data = pd.read_excel(r"C:\Users\liuhao\Desktop\a.xls")
model = ols('数量 ~ 方法',data).fit()
anovat = anova_lm(model)
anovat
变量 | df | sum_sq | mean_sq | F | PR(>F) |
---|---|---|---|---|---|
方法 | 2.0 | 520.0 | 260.000000 | 9.176471 | 0.003818 |
Residual | 12.0 | 340.0 | 28.333333 | NaN | NaN |
随机化区组设计
随机分组,减少分组设计导致的随机误差
import pandas as pd
import numpy as np
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data = pd.read_excel(r"C:\Users\liuhao\Desktop\s.xls")
model = ols('压力值 ~ 管理员+系统',data).fit()
anovat = anova_lm(model)
anovat
变量 | df | sum_sq | mean_sq | F | PR(>F) |
---|---|---|---|---|---|
管理员 | 5.0 | 30.0 | 6.0 | 3.157895 | 0.057399 |
系统 | 2.0 | 21.0 | 10.5 | 5.526316 | 0.024181 |
Residual | 10.0 | 19.0 | 1.9 | NaN | NaN |
变量管理员为区组设计,系统间差异 p =0.024<0.05,差异显著
析因实验(多因素方差分析)
import pandas as pd
import numpy as np
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data = pd.read_excel(r"C:\Users\liuhao\Desktop\a.xls")
data.head()
model = ols('分数 ~ 课程+院校+课程*院校',data).fit()#课程*院校为交互作用
anovat = anova_lm(model)
anovat
课程 | 院校 | 分数 |
---|---|---|
复习班 | 商 | 500 |
复习班 | 工 | 540 |
复习班 | 艺术 | 480 |
复习班 | 商 | 580 |
复习班 | 工 | 460 |
变量 | df | sum_sq | mean_sq | F | PR(>F) |
---|---|---|---|---|---|
课程 | 2.0 | 6100.0 | 3050.000000 | 1.382872 | 0.299436 |
院校 | 2.0 | 45300.0 | 22650.000000 | 10.269521 | 0.004757 |
课程:院校 | 4.0 | 11200.0 | 2800.000000 | 1.269521 | 0.350328 |
Residual | 9.0 | 19850.0 | 2205.555556 | NaN | NaN |
上一篇: c#动态生成文字图片解决方案
下一篇: python与计量经济学1