python 实现单因素方差分析(1)
案例:
分析行业对被投诉次数是否有显著影响()
提出假设:
由于变量行业有4个水平,分别是零售业、旅游业、航空公司和家电制造业,那么为了检验这4个水平(每个水平代表一个总体)的均值是否相等,需要提出如下的假设:
行业对被投诉次数没有显著影响
不完全相等 行业对被投诉次数有显著影响
# 导入相关包
import pandas as pd
import numpy as np
import math
import scipy
from scipy import stats # 自定义函数def SST(Y):sst = sum(np.power(Y - np.mean(Y), 2))return sstdef SSA(data, x_name, y_name):total_avg = np.mean(data[y_name])df = data.groupby([x_name]).agg(['mean', 'count'])df = df[y_name]ssa = sum(df["count"]*(np.power(df["mean"] - total_avg, 2)))return ssadef SSE(data, x_name, y_name):df = data.groupby([x_name]).agg(['mean'])df = df[y_name]dict_ = dict(df["mean"])data_ = data[[x_name, y_name]]data_["add_mean"] = data_[x_name].map(lambda x: dict_[x])sse = sum(np.power(data_[y_name] - data_["add_mean"], 2))return ssedef one_way_anova(data, x_name, y_name, alpha=0.05):n = len(data) # 总观测值数k = len(data[x_name].unique()) # 变量水平个数sst = SST(data[y_name]) # 总平方和ssa = SSA(data, x_name, y_name) # 组间平方和sse = SSE(data, x_name, y_name) # 组内平方和msa = ssa / (k-1) # 组间均方 或 组间方差mse = sse / (n-k) # 组内均方 或 组内方差F = msa / mse # 检验统计量Fpf = scipy.stats.f.sf(F, k-1, n-k) Fa = scipy.stats.f.isf(alpha, dfn=k-1, dfd=n-k) # F临界值r_square = ssa / sst # 自变量与因变量的关系强度表示table = pd.DataFrame({'差异源':['组间', '组内', '总和'],'平方和SS':[ssa, sse, sst],'自由度df':[k-1, n-k, n-1],'均方MS':[msa, mse, '_'],'F值':[F, '_', '_'],'P值':[pf, '_', '_'],'F临界值':[Fa, '_', '_'],'R^2':[r_square, '_', '_']})return table
# 导入数据
df = pd.read_excel("E:\\xx业务数据.xlsx", sheet_name='source_02')
df.rename(columns={'行业':'X', '被投诉次数':'Y'}, inplace=True)# 输出方差分析结果
one_way_anova(df, 'X', 'Y', alpha=0.05)
根据以上单因素方差分析结果解释如下:
(1)行业:P-value=0.0387645 < (或 F值=3.40664>F临界值=3.12735),拒绝原假设。表明行业对被投诉次数有显著影响。
python 实现单因素方差分析(1)相关推荐
- 单因素方差分析(ANOVA)及其Python库
文章目录 模型描述 利用`python`求解 单因素方差分析(one-way analysis of variance, ANOVA)用于确定3个及其以上的数据组之间的均值是否具有统计差异,此外,单因 ...
- 用Python学分析 - 单因素方差分析
单因素方差分析(One-Way Analysis of Variance) 判断控制变量是否对观测变量产生了显著影响 分析步骤 建立检验假设 - H0:不同因子水平间的均值无差异 - H1:不同因子水 ...
- python 方差分析_用Python学分析 - 单因素方差分析
单因素方差分析(one-way analysis of variance) 判断控制变量是否对观测变量产生了显著影响 分析步骤 1. 建立检验假设 - h0:不同因子水平间的均值无差异 - h1:不同 ...
- Python玩转数据分析——单因素方差分析
概念 方差分析(Analysis of Variance,简称ANOVA),又称"变异数分析"或"F检验",用于两个及两个以上样本均数差别的显著性检验.单因素方 ...
- python怎么做方差分析_Python进行单因素方差分析
1.方差分析 方差分析就是通过检验各总体的均值是否相等来判断分类型自变量对数值型因变量是否有显著影响. 根据分类型自变量多少,分为: 单因素方差分析 双因素方差分析 多因素方差分析 名词解释: 因素: ...
- 单因素方差分析graphpad_python单因素方差分析实例
试验设计 探究施肥是否会对促进植株生成(植株生长以树高作为指标来衡量).试验为: - 对照组:清水 - 实验组: 某肥料四个浓度梯度,分别是A,B,C,D,施肥一段时间之后测量树高(要控制其他变量保持 ...
- python方差检验分析(ANOVA)
python方差检验分析(ANOVA) 方差分析(Analysis of Variance,简称ANOVA),又称"变异数分析",是R.A.Fisher发明的,用于两个及两个以上样 ...
- 方差分析之单因素方差分析
作者:DD 来源:数据科学家联盟 方差分析是一种能使多因素(多组间)检验变得简洁的一种检验方式,它能同时考虑所有的样本,不仅能使检验过程变得简洁还能排除因两两检验可能造成的错误累积 ...
- python可视化来分析全国疫情
很长一段时间在python下出图都是使用matplotlib,其好处就是应用比较广泛,文档很容易找,不过出的图微显丑陋.pyecharts 是百度的echarts基于python的实现,可以很方便的直 ...
最新文章
- cmd命令控制台窗口一闪就消失解决办法
- 国内数十位大佬合作,综述预训练模型的过去、现在与未来
- 天高任鸟飞,海阔凭鱼跃
- iOS10 UI教程禁用视图与用户的交互
- python 游戏脚本 vbs_用VBScript制作QQ自动登录的脚本代码
- A multi-faceted language for the Java platform
- linux运维面板_phpstudy linux web面板(小皮面板)V0.2版本正式发布
- sony右键延迟的解决方案
- 【转载保存】在python中如何用word2vec来计算句子的相似度
- 雷林鹏分享:YII 模型-视图-控制器(MVC)设计模式
- python全免费教程-python教程免费
- python为运行为何出现乱码_python中文的显示乱码怎么办
- 2023成都精密光学展览会
- [生存志] 第51节 子产相郑铸刑书
- 学会了C语言/C++能做什么?我们一起来看看吧!
- 配置猫抓,抓取网页视频
- Tensorflow操作与函数全面解析
- python自动抢单_【Python成长之路】基于sikuli jar包,实现淘宝自动抢单功能(1)...
- Vim常用技巧--查看不可见字符
- Office 顿号怎么输