首页 > 其他分享 >第二章 你以为方差分析很简单吗?

第二章 你以为方差分析很简单吗?

时间:2024-08-25 19:51:00浏览次数:13  
标签:变量 结果 BMI 检验 方差分析 ANOVA 简单 第二章

方差分析(Analysis of Variance, ANOVA)放在第二章讲,是因为它和 t 检验同为参数检验,然而并不代表方差分析简单,相反,方差分析是我们在医学研究当中使用最为广泛,方法最为复杂的方法,咨询方差分析相关问题的客户也是非常多的。如何选择合适的方差分析模型,如何解读方差分析的结果,如何对结果进行合适的可视化展示,都是我们将要探讨的话题。本章的统计分析将采用SPSS 27.0 (突然发现SPSS已经出到了 28.0 版本,所以下了 27.0,惊喜的发现 SPSS 27.0 新添加了功效分析模块,所以各位赶紧去下载吧,以后就不用再为了计算样本量而发愁了哈哈),除了SPSS,有些方法还会用到 R 4.2.1。废话不多说,开始本章关于ANOVA的讲解。


1 适用场景
1.1 比较多组样本均数的差异;
1.2 比较多个分组变量下待研究指标均数的差异以及不同分组变量的交互作用。
2 应用条件(与t检验一致,不再具体介绍)
2.1 随机样本
2.2 正态分布
2.3 方差齐性
3 案例思考
3.1 数据来源
本章案例在上一章的基础上增加相应变量,数据模拟了200名糖尿病患者在用药前和用药2年后的(身体质量指数)BMI数据,其中,男性100人,女性100人,分别在基线期、2年后和5年后测量其空腹血糖(GI)、身高、体重并计算BMI,同时调查了患者的学历、年龄数据具体情况见下图(考虑到篇幅问题仅展示10个样本):


3.2 问题思考:基于这一数据,我们提出如下两个假设:
假设1:不同学历的调查人群BMI不同
假设2:不同性别和不同学历的调查对象BMI的差异
假设3:不同性别的调查人群血糖指数的变化受年龄的影响
4 统计分析
4.1 单因素方差分析(one-way ANOVA)
针对假设1:不同学历的调查人群BMI不同,仅有一个多分类的分组变量,不同分组的样本分别来自不同独立总体,因此我们考虑采用 one-way ANOVA。首先,需要对其使用条件进行检验。
4.1.1 正态性和方差齐性检验
正态性与方差齐性检验的操作步骤与上一章t检验的方法相同,这里不再赘述,本例正态性和方差齐性检验结果如下:


结果解读:正态分析结果显示,不同学历调查对象的BMI均服从正态分布且方差齐,因此继续进行方差分析。
4.1.2 One-way ANOVA
(1)分析→比较平均值→单因素ANOVA检验→j将变量“bmi”选入“因变量列表”框,将变量“education”选入“因子”框:


(2)点击“选项”按钮→勾选“描述”→点击“继续”按钮返回上一级窗口:


(3)点击“确定”按钮输出结果:


结果解读:第一个表“描述”展示了不同学历调查对象的例数及BMI的均值和标准差,使我们制表需要用到的3个参数;第二个表“ANOVA”展示了方差分析的结果,结果显示,组间F = 0.304,p = 0.738 > 0.05,提示不同学历调查对象的BMI没有显著差异,因此我没不能拒绝假设1的原假设。按照惯例,我们需要在分析结束时做一下功效分析,因为 SPSS 27.0 增加了功效分析模块,所以让我们来试试:
(4)分析→功效分析→平均值→单因素ANOVA检验→选择“估算”功效,根据步骤(3)中的“描述”表的结果填写合并的标准差以及3组的“组大小”(样本量)和“均均值”→“显著性水平”默认为0.05:


(5)点击“确定”,输出结果:


结果解读:很遗憾,根据我们数据的参数得到的功效仅为0.099,可以说是效果非常一般,不过好消息是 SPSS 的功效分析模块非常友好!
4.2 双因素方差分析(Double factor variance analysis, Two-way ANOVA)
针对假设2:存在两个分组变量:性别和学历,因此选用 双因素方差分析 比较不同性别不同学历调查对象的BMI差异:
4.2.1 正态性和方差齐性检验
我们考虑根据性别和年龄将样本分为6组,包括高中及以下女性、本科女性、硕士及以上女性、高中及以下男性、本科男性、硕士及以上男性,对6组进行正态性和方差齐性检验,方法一致,结果如下:


结果解读:6组BMI均服从正态分布,但方差不齐,严谨来说,不服从方差齐性并不能进行方差分析,这里需要进行双因素的非参数Scheirer-Ray-Hare检验,但这种方法 SPSS 并不支持,我在这先假定方差齐,使用 SPSS 27.0 行双因素方差分析,再展示 R 4.2.1 的双因素非参数Scheirer-Ray-Hare检验结果:
4.2.2 双因素方差分析
(1)分析→一般线性模型→单变量→将变量“bmi”选入“因变量”框,将变量“gender”和“education”选入“固定因子”框:


(2)点击“选项”按钮,勾选“描述统计”,点击“继续”按钮返回上一级窗口:


(3)点击“确定”按钮输出结果:


结果解读:SPSS 默认输出包括两个主效应和交互效应的结果,我们先看交互效应,性别与学历的交互效应不显著p=(p=0.904>0.05),我们再看主效应,性别这个主效应显著(F=127.882,p<0.001),而学历(p=0.155>0.05)不显著,结果提示我们,仅不同性别的BMI有显著差异,具体表现为男性BMI显著高于女性(21.63±2.35 vs. 18.87±3.40),结合柱状图我们可以直观的看出差异。淡然这是假定方差齐做的参数检验的结果,由于不同分组的BMI方差不齐,因此,我们应该进行双因素非参数Scheirer-Ray-Hare检验,R语言的运行结果如下:


结果解读:可以看出,Scheirer-Ray-Hare检验结果与 Two-way ANOVA 的结果基本相同。
4.3 协方差分析(Analysis of covariance, ACNOVA)
针对假设3:不同性别的调查人群BMI的变化受年龄的影响。前面的分析已经得出了不同性别间BMI存在显著差异,那么随着年龄的增长,这种差异会有变化吧?由于年龄是个定量变量,因此我们将年龄作为协变量进行协方差分析:
(1)分析→一般线性模型→单变量→将变量BMI选入“因变量”框,将变量gender选入“固定因子”框,将变量age选入“协变量”框:


(2)点击“模型按钮”→选择构建项→将变量age,gender和两者的交互项age*gender分别选入右边的“模型”框→点击“继续”按钮返回上一级窗口:


(3)点击“确定”按钮输出结果:


结果解读:“主体间效应检验”表展示了协方差分析的结果,结果显示年龄与性别的交互效应无统计学意义,协变量年龄对BMI无显著影响,在控制了年龄的影响后,不同性别人群BMI无显著差异,均p>0.05。
5 本章总结
5.1 介绍了方差分析的适用场景及应用条件
5.2 介绍了单因素方差分析的操作步骤
5.3 介绍了双因素方差分析的操作步骤
5.4 介绍了协方差分析的操作步骤
方差分析的内容实在太多,这里我们只介绍平时经常会用到的方法,因为方差分析与 t 检验,因此将这两部分内容放到前面,后面的章节,我会针对非正态分布的数据给各位介绍非参数检验。

标签:变量,结果,BMI,检验,方差分析,ANOVA,简单,第二章
From: https://blog.csdn.net/2401_86576872/article/details/141398287

相关文章

  • 机器学习详解-第二章-实践方法论-学习笔记-[DataWhale X 李宏毅苹果书 X AI夏令营]
    在调整模型的过程中可能会遇到许多问题,这里为了处理这些问题(前期初学情况),从而给出了一个章节用于学习相关的技巧。1.模型偏差模型偏差可能会影响模型训练,我们在训练的时候,将所有的函数集合在一起得到一个函数的集合,但是这个函数的集合大小是我们不确定的,可能会因为太小,其中的......
  • 前端实现两张图片合成,图片换背景,简单p图程序
    前言最近在自己做一个图文工具网站,图片背景替换功能,后台通过opencv的AI算法抠出了图片主元素,现在需要把抠出来的元素换一个背景色,或者合成到一张背景图片中,如何操作呢?实现方式Demo我考虑的是使用Canvas的绘图功能,建立一个Canvas对象,先将背景图片绘制上去,然后在把图片绘......
  • JavaScript 构建一个简单的待办事项应用
    包含添加、删除、标记任务功能。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>TodoList&......
  • try的简单性能测试
    #1.测试对函数类型检查使用捕捉异常和if先判断方式的时间差fromtimeitimporttimeitdefincrement_lbyl(x):ifisinstance(x,int):returnx+1elifisinstance(x,str)andx.isdigit():returnint(x)+1else:pass#......
  • 【Python爬虫】批量爬取图片的简单案例
    @目录1.原理2.寻找批量的图片URL的储存地址2.1百度2.2搜狗2.3必应2.4总结3.处理存储图片URL的请求头4.完整demo1.原理网页中的图片有自己的URL,访问这些URL可以直接得到图片,譬如,访问下面这个URL,你就能得到一张图片:https://img-blog.csdnimg.cn/a3bad4725ba94301b7cba7dd820......
  • 150页的极简大模型入门蛇尾书,学大模型太简单了
    如果问个问题:有哪些产品曾经创造了伟大的奇迹?ChatGPT应该会当之无愧入选。仅仅发布5天,ChatGPT就吸引了100万用户——当然,数据不是关键,关键是其背后的技术开启了新的AI狂潮,成为技术变革的点火器。就算我们这些周边吃瓜群众都日日活在ChatGPT带来的震撼里,更不用说在......
  • HeidiSQL中一些简单mysql语句的含义(二)
    一、排序#根据年龄进行降序排序select*fromstudentorderbyagedesc;#根据年龄进行升序排序select*fromstudentorderbyageasc;#给字段起别名,as可以省略selectnoas编号,nameas姓名,ageas年龄fromstudentorderbyageasc;#查找前五条select*fr......
  • 设计模式之简单工厂模式
     简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。1.Factory:工厂类,它是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。在工厂类中提供了静态的工厂方法factoryMet......
  • 每日OJ_牛客_因子个数(简单模拟)
    目录牛客_因子个数(简单模拟)解析代码牛客_因子个数(简单模拟)因子个数__牛客网解析代码        题意就是求一个数字的因子(>=2的最小不能整除数字)个数:可以从最小因子2到数字的最大因子数(数字的平方根)开始判断是否能够取余可以则循环取余直到取余不为0,因子个数+1;......
  • iOS打包简单修改build号
    想要修改build号,方法还挺多的,最近也在做一些CI/CD的事情,恰好用到了手动修改(笨方法)脚本修改fastlane/Jenkins的一些插件PlistBuddy操作Info.plist文件sed指令修改工程配置感觉以上方法都麻烦,正确做法应该如下这般#Info.plist添加`CFBundleVersion`这个字段值......