推断统计(单因素方差分析)

news2024/11/25 2:47:00

在这里插入图片描述
在这里插入图片描述
此时我们是取的四种不同图案的儿童水杯的销量作为样本进行分析,单因素方差分析可以用于比较多个独立的正态总体均值之间是否存在显著差异,是独立样本T检验的推广版,也属于参数假设检验。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进行假设检验时未说明方差是否齐性时都要先进行方差齐性检验,通过方差检验后再进行下一步分析,假如直接接受原假设时便直接认为要检验的个体之间无显著性差异,拒绝原假设时是指要检验的个体之间不全相等,此时我们经常会有的一个疑问就是其中哪两个个体之间互不相等,所以此时就要开始更深一步的分析进行多重比较。在这里插入图片描述
这里我们进行四种不同图案的方差齐性检验时要将数据的形式进行转化成如图所示的形式。
这里的销量数据似乎是按类别进行分组的。将不同类别的数据分开传入levene()函数进行检验,有以下考虑:

  1. 莱文氏检验是检验两个或多个样本间方差差异的方法。直接对全样本的销量进行检验无法反映类别间的差异。
  2. 将数据按类别分组,可以检验不同类别的销量方差是否存在差异。这通常是研究分类变量对依变量的影响时需要关注的问题。
  3. 在许多统计学检验中,需要先检验方差的齐性,以满足方差分析、t检验等的基本假设。
  4. 如果不同类别间销量的方差不齐,则需要进行调整或选择其他稳健的非参数检验方法。
  5. 分组传入数据可以得到每个类别的销量分布情况,更方便进行多重比较和进一步分析。
  6. 利用pandas分组功能可以方便提取每个类别的数据进行分析。
    所以进行分组检验可以得出更富有针对性的结论,为后续选择合适的统计分析方法提供依据。
    在这里插入图片描述
'''step1 调用包'''
import pandas as pd
import numpy as np
#下一行代码用于方差齐性Levend检验
from scipy import stats 
#下两行代码用于方差分析
#https://blog.csdn.net/qq_41867980/article/details/90517277?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
#下一行代码用于多重比较
from statsmodels.stats.multicomp import pairwise_tukeyhsd

'''step2 导入数据'''
df = pd.read_excel('data_ANOVA.xlsx')

'''step3 前提性检验:levene检验'''
res_v = stats.levene(df['销量'][df['类别'] == '超人'], 
             df['销量'][df['类别'] == 'Kitty猫'],
             df['销量'][df['类别'] == '光头强'],
             df['销量'][df['类别'] == '佩奇'])
print('方差齐性检验P值:',np.round(res_v.pvalue,3))

# 用Scipy中的下列函数也可做ANOVA
#stats.f_oneway(df['销量'][df['类别'] == '超人'], 
#             df['销量'][df['类别'] == 'Kitty猫'],
#             df['销量'][df['类别'] == '光头强'],
#             df['销量'][df['类别'] == '佩奇'])

'''Step4 单因素方差分析'''
formula = '销量~类别'
anova_results = anova_lm(ols(formula,df).fit())
print('\n方差分析结果(ANOVA表):\n',anova_results)

'''Step5 多重比较'''
# 逐对比较差异,原假设:二者之间无显著差异
res_post = pairwise_tukeyhsd(df['销量'], 
                             df['类别'],alpha=0.05)  
print('\n多重比较结果:\n',res_post)

这里将不同类别的销量数据传入levene()时,是将每个类别的数据放在一列,形成了多列的输入。
这种做法的主要考虑可能有:

  1. levene()函数的参数输入要求是多组数据形成的列向量。将不同类别的数据分别放在一列,符合函数的参数要求。
  2. 将同一类别的数据放在一列,可以更直观地反映每个类别内部的数据分布情况。
  3. 将不同类别分开传入,levene()会自动逐组进行方差检验,无需再循环调用。代码更简洁。
  4. 相比把所有数据放在同一列,分组传入可以明确数据之间的分组关系,便于理解。
  5. 分组处理数据也有利于后续进行多重比较等更复杂的分析。
  6. pandas的分组提取功能使得获取分组数据非常简单方便。
  7. 一列一组数据结构也易于可视化,直观展示每个类别的分布差异。
    所以,这种分组传入的方法比较简洁高效,符合函数需求,也有利于进行更深入的分析,是进行莱文氏检验的合理数据处理方式。在这里插入图片描述
    此时我们根据结果来看,此时的方差齐性检验的p值远大于0.05,所以此时接受原假设认为方差齐性,此时再进行进一步的方差分析时,看到此时的p值便远小于0.05,此时拒绝方差分析的原假设认为此时的均值不完全相等,四种图案的水杯销量不完全相同,此时再进行两两比较时看到最后一列是否拒绝时,以Kitty猫 和光头强为例,原假设是假设他们之间销量相同,此时拒绝之后就是认为他们之间销量不同,认为这两种图案的水杯的销售量存在明显差异。

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

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

相关文章

并发编程 - 线程间三种常见的通信手段

线程间通信是指多个线程之间通过某种机制进行协调和交互,例如:线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中有以下三种实现线程等待的手段 : Object 类提供的 wait(),notify() 和 notifyAll() 方法;C…

Chapter 2 Crystal Dynamics 2.1 晶格振动

2.1 Lattice Vibration 晶格振动 Born-Oppenheimer Approximation Electrons’ movement: Electron theory free electron theoryenergy band theory Atoms’ movement crystal dynamicslattice vibration 当研究电子运动时,忽略原子运动;当研究原子…

TiDB在科捷物流神州金库核心系统的应用与实践

业务背景 北京科捷物流有限公司于2003年在北京正式成立,是ISO质量管理体系认证企业、国家AAAAA级物流企业、海关AEO高级认证企业,注册资金1亿元,是中国领先的大数据科技公司——神州控股的全资子公司。科捷物流融合B2B和B2C的客户需求&#…

vivo手机录屏在哪里?我来告诉你!(2023最新)

“有人知道vivo手机录屏在哪里吗?刚买了最新款的vivo手机,就是找不到录屏功能在哪,刚好最近需要录屏,很烦躁,有人会吗,求求啦” 随着智能手机的普及,录屏功能逐渐成为用户喜爱的功能之一。vivo…

从零开始 Spring Cloud 10:Elasticsearch

从零开始 Spring Cloud 10:Elasticsearch 图源:laiketui.com 基础 什么是 Elasticsearch Elasticsearch 是一个开源搜索引擎,可以用它实现从海量数据中对数据的高效查询。 关于 Elasticsearch 的历史渊源以及广泛用途,可以观看…

Vue 引入阿里巴巴Iconfont图标库

vue2 Element ui 1、项目设置 2、文件下载到本地 压缩包里有些文件是没有用的,比如demo的文件可以直接删除。 3、src文件夹下,新建iconfont文件 4、main.js文件,引入iconfont.css 5、iconfont.css,引入对应的图标

【LeetCode动态规划#】完全背包问题实战(单词拆分,涉及集合处理字符串)

单词拆分 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s "l…

macOS - 安装使用 libvirt、virsh

文章目录 关于 libvirt使用安装启动服务virsh 交互模式virsh 帮助命令 关于 libvirt libvirt 官网: https://libvirt.org/gitlab : https://gitlab.com/libvirt/libvirtgithub : https://github.com/libvirt/libvirt 只读,gitlab 的镜像 libvirt是一套…

linux下安装.run后缀名文件

1.文件传输 对于大文件,不能直接拖拽,可以借助工具,例如WinSCP 创建会话时,需要提供虚拟机的主机名,可以采取输入ifconfig的命令,如图所示: ifconfig(接口配置)命令在 …

node.js+Vue+Express学生宿舍校舍系统-ggr80

关键词:智慧学生校舍;简洁方便直观; 本次的毕业设计主要就是设计并开发一个智慧学生校舍系统。使用数据库mysql。系统主要包括个人中心、学生管理、教师管理、宿管管理、外来人员管理、维修人员管理、学生信息管理、学生签到管理、学生物品管…

全面拥抱AI时刻来临?基于AI技术助力养猪产仔是否可行?

这两天看到一篇论文,蛮有意思的,技术层面倒没有什么新颖的点,主要是落地应用场景比较贴近现实,文章主要就是应用yolov5来开发构建了一套母猪产仔智能化检测预警模型,从而来降低大型养殖场中人工成本。一起来简单看下吧…

欧拉函数和最大公约数

分析:如果两个数的最大公约数是一个质数p,那么这两个数都除以p,得到的两个数的最大公约数一定是1. 反证法:如果得到的两个数的最大公约数不是1,那么把此时的最大公约数乘以上边的最大公约数,得到的一定比上…

【Windows系统编程】02.进程与线程(一)-笔记

进程,进程对象 虚拟内存 进程不能执行代码,数据结构,三环PEB,0怀EPROCESS对进程进行管理 线程列表 线程才是真正执行代码 主线程:主函数 线程依赖于cpu时间片切换 单核,多核 主线程消息&#xff0c…

Spark_Spark中 Stage, Job 划分依据 , Job, Stage, Task 高阶知识

上一篇文章中 : Spark_Spark 中 Stage, Job 划分依据 , Job, Stage, Task 基础知识_spark stage job_高达一号的博客-CSDN博客 主要解读了Stage, job, task 的划分标准,这篇文章将对这些信息进行进一步解读。 一. Job、Stage、Task的概念 在讲Spark的任…

.netcore grpc服务端流方法详解

一、服务端流式处理概述 客户端向服务端发送请求,服务端可以将多个消息流式传输回调用方和客户端流相反,客户端流发出请求,服务端可以传输一批消息给客户端,直至本次请求响应完全结束。针对文件分段传输下载,该方式非…

ssm基于Java ssm的校园驿站管理系统源码和论文

ssm基于Java ssm的校园驿站管理系统源码和论文016 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方…

铁是地球科学争论的核心

一项新的研究调查了地球内部铁的形态。这些发现对理解内核的结构产生了影响。 一项新的研究探索了地球内核的铁结构,如图中的黄色和白色所示。 资料来源:地球物理研究快报 地球内核以铁为主,铁可以多种晶体形式作为固体材料存在。&#xff08…

K8S系列三:单服务部署

写在前面 本文是K8S系列第三篇,主要面向对K8S新手同学,阅读本文需要读者对K8S的基本概念,比如Pod、Deployment、Service、Namespace等基础概念有所了解。尚且不熟悉的同学推荐先阅读本系列的第一篇文章《K8S系列一:概念入门》[1]…

如何读取文件夹内的诸多文件,并选择性的保留部分文件

目录 问题描述: 问题解决: 问题描述: 当前有一个二级文件夹,第一层是文件夹名称是“Papers(LNAI14302-14304)",第二级文件夹目录名称如下图蓝色部分所示。第三层为存放的文件,如下下图所示,每一个文件中,均存放三个文件,分别为copyright.pdf, submission.pdf, s…

【CSS】禁用元素鼠标事件(例如实现元素禁用效果)

文章目录 基本用法 基本用法 pointer-events 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件。实际运用中可以通过对auto 和none动态控制,来动态实现元素的禁用效果。 属性描述auto与pointer-events属性未指定时的表现效果相同,对…