欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《商务与经济统计》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
相关标签: 数据分析 python