做数据分析为何要学统计学(6)——什么问题适合使用方差分析?

news2024/11/20 15:17:03

方差分析(ANOVA,也称变异数分析)是英国统计学家Fisher(1890.2.17-1962.7.29)提出的对两个或以上样本总体均值进行差异显著性检验的方法。

它的基本思想是将测量数据的总变异(即总方差)按照变异来源划分为组间效应和组内效应,进行估计,从而确定差异的显著性。根据考虑因素的数量,可方差分析分为单因素方差分析、二因素方差分析和多因素方差分析。

方法分析使用的前提条件与t检验相同,也需要满足样本正态分布,方差齐性的要求。以下我们分别对单因素方差分析和多因素方差分析进行介绍。

1.单因素方差分析(oneway anova)

只有一个因素(变量)的方差分析。对于只有两组数据的方差分析等价于t检验。以下为三组数据例子。

某工厂对三条流水线加工的产品进行8次抽样,产品有效成分(含量mg)如下表所示。试分析三条流水线的生产质量是否无差异。

流水线样本
A[26.68, 26.01, 24.83, 25.05, 24.38, 24.1 , 26.38, 26.68]
B[26.45, 25.68, 23.29, 27.01, 23.21, 25.24, 24.65, 26.39]
C[24.49, 23.84, 25.87, 24.05, 24.1 , 25.64, 24.35, 25.07]

代码:

from statsmodels.api import stats
import numpy as np
#准备样本数据
X=np.array([[26.68, 26.01, 24.83, 25.05, 24.38, 24.1 , 26.38, 26.68],
       [26.45, 25.68, 23.29, 27.01, 23.21, 25.24, 24.65, 26.39],
       [24.49, 23.84, 25.87, 24.05, 24.1 , 25.64, 24.35, 25.07]])
#样本正太分布检验
stats.normaltest(X,axis=1)
#样本方差齐性检验
stats.levene(X[0],X[1],X[2])
#单因素方差分析.使用scipy.stats的f_oneway函数也行。但statsmodels的anova_oneway还可以进行方差不齐情况下的检验
stats.anova_oneway(X,use_var="equal")

上述三类检验的p值均大于0.05,说明可以使用方差检验且检验结果支持三条流水线产品质量无差异的假设。

2.多因素方差分析(anova)

多因素方差分析,用于研究一个因变量是否受到多个自变量(也称为因素)的影响。多因素方差分析既可以分析单个因素的作用(主效应),也可以分析因素之间的交互作用(交互效应)。如下例。

某工厂统计了多个工人使用不同机床的产品产量,试分析产量是否受工人技能和机床性能的影响。

我们仍然使用 statsmodels.api.stats统计学软件包进行处理,代码如下:

from statsmodels.api import stats
from statsmodels.formula.api import ols
#定义样本数据,当数据量比较大时,可以采用文件读取方式
X=pd.DataFrame(data=[('w1', 'm1', 20), ('w1', 'm2', 22), ('w1', 'm3', 24),
       ('w1', 'm4', 16), ('w1', 'm5', 26), ('w2', 'm1', 12),
       ('w2', 'm2', 10), ('w2', 'm3', 14), ('w2', 'm4',  4),
       ('w2', 'm5', 22), ('w3', 'm1', 20), ('w3', 'm2', 20),
       ('w3', 'm3', 18), ('w3', 'm4',  8), ('w3', 'm5', 16),
       ('w4', 'm1', 10), ('w4', 'm2', 12), ('w4', 'm3', 18),
       ('w4', 'm4',  6), ('w4', 'm5', 20), ('w5', 'm1', 14),
       ('w5', 'm2',  6), ('w5', 'm3', 10), ('w5', 'm4', 18),
       ('w5', 'm5', 10)],columns = ['Worker','Machine','Qnt'])
#构造线性回归表达式,用于方差分析
formula=ols('Qnt ~ Worker + Machine', data=X).fit() 
#多因素方差分析 
stats.anova_lm(formula) 

结果如下:

最后一列为p值。可以看出不同工人的产量有差异(p=0.02<0.05),而不同机器上的产量差异不显著。

如果我们想进一步分析是哪几个工人的产量差异比较明显时,我们可以使用Tukey法进行多重差异性检验。代码如下:

from statsmodels.stats.multicomp import pairwise_tukeyhsd
#要注意,因变量要写在前面而自变量(因素)写在后面
print(pairwise_tukeyhsd(X['Qnt'],X['Worker']))

结果如下:

我们可以看出,w1,w5所在行的reject=True,说明两者的产量在总体水平估计上差异显著,产量均值之差为-10(\bar{w_5}-\bar{w_1}),而其它工人之间产量差异不算显著。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1297881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mac电脑vm虚拟机 VMware Fusion Pro中文 for mac

VMware Fusion Pro是一款功能强大的虚拟机软件&#xff0c;适用于需要在Mac电脑上运行其他操作系统的用户。它具有广泛的支持、快速稳定的特点以及多种高级功能&#xff0c;可以满足用户的各种需求和场景。 多操作系统支持&#xff1a;VMware Fusion Pro允许在Mac电脑上运行多…

Linux 删除文件名乱码的文件

现象&#xff1a; 处理&#xff1a; 1.>ls -li 获取文件对应的ID号 2.把删除指定文件&#xff08;ID号 &#xff09;执行&#xff1a; find ./ -inum 268648910 -exec rm {} \;

MYSQL练题笔记-高级查询和连接-连续出现的数字

一、题目相关内容 1&#xff09;相关的表和题目 2&#xff09;帮助理解题目的示例&#xff0c;提供返回结果的格式 二、自己初步的理解 其实这一部分的题目很简单&#xff0c;但是没啥思路啊&#xff0c;怎么想都想不通&#xff0c;还是看题解吧&#xff0c;中等题就是中等题…

每日一练【四数之和】

一、题目描述 18. 四数之和 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#x…

Conda 搭建简单的机器学习 Python 环境

文章目录 Conda 概述Conda 常用命令Conda 自身管理查看 Conda 版本更新 Conda清理索引缓存添加镜像源设置搜索时显示通道地址查看镜像源删除镜像源 环境管理创建虚拟环境删除虚拟环境查看所有虚拟环境复制虚拟环境激活虚拟环境关闭虚拟环境导入、导出环境 包管理虚拟环境下安装…

java多线程(常用方法、实现方式、线程安全问题、生命周期、线程池)

多线程相关的三组概念 程序和进程 程序&#xff08;program&#xff09;&#xff1a;一个固定的运行逻辑和数据的集合&#xff0c;是一个静态的状态&#xff0c;一般存储在硬盘中。简单来说就是我们编写的代码 进程&#xff08;process&#xff09;&#xff1a;一个正在运行的…

openGauss学习笔记-149 openGauss 数据库运维-备份与恢复-逻辑备份与恢复之gs_restore

文章目录 openGauss学习笔记-149 openGauss 数据库运维-备份与恢复-逻辑备份与恢复之gs_restore149.1 背景信息149.2 命令格式149.3 参数说明149.3.1 通用参数-V, –version149.3.2 导入参数 149.4 示例 openGauss学习笔记-149 openGauss 数据库运维-备份与恢复-逻辑备份与恢复…

springboot075电影评论网站系统设计与实现

springboot075电影评论网站系统设计与实现 源码获取&#xff1a; https://docs.qq.com/doc/DUXdsVlhIdVlsemdX

Nginx负载均衡实战

&#x1f3b5;负载均衡组件 ngx_http_upstream_module https://nginx.org/en/docs/http/ngx_http_upstream_module.html upstream模块允许Nginx定义一组或多组节点服务器组&#xff0c;使用时可以通过多种方式去定义服务器组 样例&#xff1a; upstream backend {server back…

C. Polycarp Recovers the Permutation

没啥思路&#xff0c;看到题解&#xff0c;先处理最大值&#xff0c;发现非常的nice // Problem: C. Polycarp Recovers the Permutation // Contest: Codeforces - Codeforces Round 756 (Div. 3) // URL: https://codeforces.com/problemset/problem/1611/C // Memory Limit:…

HXDSP2441-Demo板

板卡图示 下图为HXDSP2441DEMO板&#xff0c;HXDSP2441DEMO板是围绕HXDSP2441构建的芯片演示验证平台。 板卡简介 除了为HXDSP2441芯片提供供电、时钟、储存、网络及调试电路&#xff0c;来实现芯片最基本的功能&#xff0c;也添加了相关模块以搭建HXDSP2441的典型应用场景…

深入理解JavaScript的箭头函数

深入理解JavaScript的箭头函数 在ES6中&#xff0c;JavaScript引入了箭头函数的概念&#xff0c;它提供了一种更简洁的语法来定义匿名函数。虽然箭头函数看起来很简单&#xff0c;但它们在实际应用中有一些独特的特性和行为。让我们深入理解箭头函数并学习如何正确地使用它们。…

【STM32】TIM定时器基本定时功能

第一部分&#xff1a;定时器基本定时的功能&#xff1b; 第二部分&#xff1a;定时器的输出比较功能&#xff1b; 第三部分&#xff1a;定时器输入捕获的功能&#xff1b; 第四部分&#xff1a;定时器的编码接口。 1 TIM简介 TIM&#xff08;Timer&#xff09;定时器&#…

常见统计学习方法特点总结

1. 概述 方法适用问题模型特点模型类型学习策略损失函数学习算法1感知机二分类分离超平面判别模型极小化误分点到超平面距离误分点到超平面距离SGD2KNN多分类&#xff0c;回归特征空间&#xff0c;样本点判别模型---3朴素贝叶斯多分类特征与类别的联合概率分布&#xff0c;条件…

如何实现高效的Web自动化测试?

随着互联网的快速发展&#xff0c;Web应用程序的重要性也日益凸显。为了保证Web应用程序的质量和稳定性&#xff0c;Web自动化测试成为必不可少的一环。然而&#xff0c;如何实现高效的Web自动化测试却是一个值得探讨的课题。 首先&#xff0c;选择合适的测试工具是关键。市面…

算法Day22 星南二楼(最长升序子序列)

星南二楼&#xff08;最长升序子序列&#xff09; Description Input Output Sample 代码 import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] grid new int[n];for(int j0;j&l…

VIM光标移动和翻页快捷键-包含vim帮助文档截图

光标移动到行首(行首没有空格)&#xff1a; ^ 光标移动到行首(行首有空格)&#xff1a; 数字0 光标移动到行尾&#xff1a; $ 移动到指定行&#xff1a;7G(数字加一个大G&#xff09; 光标移动到文件开始&#xff1a;gg(两个小g) 光标移动到文件末尾&#xff1a;G(一个大G&…

[Linux] 基于LAMP架构安装论坛

一、安装Discuz论坛 1.1 创建数据库&#xff0c;并进行授权 mysql -u root -p123CREATE DATABASE bbs; #创建一个数据库GRANT all ON bbs.* TO bbsuser% IDENTIFIED BY admin123; #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123flush privileges; #刷新数据库…

Vue学习计划-Vue2--VueCLi(二)vuecli脚手架创建的项目内部主要文件分析

1. 文件分析 1. 补充&#xff1a; 什么叫单文件组件&#xff1f; 一个文件中只有一个组件 vue-cli创建的项目中&#xff0c;.vue的文件都是单文件组件&#xff0c;例如App.vue 2. 进入分析 1. package.json: 项目依赖配置文件&#xff1a; 如图&#xff0c;我们说主要的属性…