统计学-R语言-8.1

news2025/1/16 21:10:14

文章目录

  • 前言
  • 方差分析
    • 方差分析的原理
      • 什么是方差分析
      • 误差分解
    • 单因子方差分析
      • 数学模型
      • 效应检验
  • 练习


前言

本片开始介绍有关方差分析的知识。


方差分析

方差分析的基本原理是在20世纪20年代由英国统计学家Ronald A.Fisher在进行实验设计时为解释实验数据而首先引入的。方差分析是一种统计方法。目前,方差分析方法广泛应用于分析心理学、生物学、工程和医药的实验数据。本章首先介绍方差分析的基本原理,然后介绍只涉及一个因变量的单因子独立样本和双因子独立样本的方差分析方法

方差分析的原理

什么是方差分析

方差分析(analysis of variance,ANOVA) 是分析类别自变量对数值因变量影响的一种统计方法 。自变量对因变量的影响也称为自变量效应(effect)。由于影响效应的大小表现在因变量的误差里有多少是由自变量造成的,因此,方差分析是通过对数据误差的分析来检验这种效应是否显著。
研究分类型自变量对数值型因变量的影响
一个或多个分类型自变量
两个或多个 (k 个) 处理水平或分类
一个数值型因变量
有单因子方差分析和双因子方差分析
单因子方差分析:涉及一个分类的自变量
双因子方差分析:涉及两个分类的自变量

例题:
(数据:example8_1.RData)为分析小麦品种对产量的影响,一家研究机构挑选了3个小麦品种:品种1、品种2、品种3,然后选择条件和面积相同的30个地块,每个品种在10个地块上试种,实验获得的产量数据如下表所示。
在这里插入图片描述
分析“小麦品种” 对“产量”的影响
在上表中,“小麦品种”是类别变量,称为实验的因子(factor),品种1、品种2、品种3是因子的3个不同取值,称为处理(treatment)或水平(level)
这里的“地块”就是接受处理的对象或实体,称为实验单元(experiment unit)
产量则是因变量,每个地块上获得的产量是样本观察值。分析小麦品种对产量影响的统计方法就是方差分析。
如果只分析品种一个因子对产量的影响,则称为单因子方差分析(one-way analysis of variance)
如果两个因子对产量的单独影响,但不考虑它们对产量的交互效应(interaction),则称为只考虑主效应(main effect)的双因子方差分析,或称为无重复双因子分析(two-factor without replication)
如果除了考虑两个因子对产量的单独影响外,还考虑二者对产量的交互效应,则称为考虑交互效应的双因子方差分析,或称为可重复双因子分析(two-factor with replication)

误差分解

怎样分析小麦品种对产量是否有显著影响呢?由于品种对产量的影响效应体现在产量数值的误差里,因此,分析时首先应从数据误差的分析入手。方差分析的原理就是通过对数据误差的分析来判断类别自变量(小麦品种)对数值因变量(产量)的影响效应是否显著。
怎样分析数据的误差呢?从上表可以看出,每个品种(每种处理)各有10个实验数据,这些数据实际上是从每个品种的产量总体中抽出来的样本量为10的随机样本,共获得3个样本的30个实验数据.可以看出,这30个产量数据是不同的。
因此有如下定义
总误差(total error)
反映全部观测数据的误差
所抽取的全部30个地块的产量之间的误差

总误差可能是由于不同处理(小麦的不同品种)造成的,也可能是由于其他随机因素造成的。
处理误差(treatment error)—组间误差(between-group error)(处理误差来自不同的处理之间)
由于不同处理造成的误差,它反映了处理(品种)对观测数据(产量)的影响,因此称为处理效应(treatment effect)
随机误差(random error)—组内误差(within-group error)
由于随机因子造成的误差,也简称为误差(error)

由其他随机因素对观测数据造成的误差称为随机误差(random error),也简称为误差(error)。本例中,随机误差反映了除品种外其他随机因素对产量的影响。
由于随机误差主要存在于每种处理的内部,因此,有时也称为组内误差(within-group error)。
随机误差(random error)—组内误差(within-group error)
由于随机因子造成的误差,也简称为误差(error)

数据的误差用平方和(sum of squares)表示,记为SS
总平方和(sum of squares for total),记为SST
反映全部数据总误差大小的平方和
例如,全部30个地块的产量之间的误差平方和就是总平方和,它反映了全部产量的总离散程度。
处理平方和(treatment sum of squares),记为SSA
反映处理误差大小的平方和。(例如,不同品种之间产量的误差平方和就是处理平方和)
也称为组间平方和(between-group sum of squares)
误差平方和(sum of squares of error),记为SSE
反映随机误差大小的平方和称为误差平方和
也称为组内平方和(within-group sum of squares)

全部数据的总误差平方和被分解成两部分一部分是处理平方和SSA,另一部分是误差平方和SSE。很显然,这三个误差平方和的关系为:SST=SSA+SSE。
数据误差的来源及其分解过程可用下面的图来表示:
在这里插入图片描述
方差分析的基本原理就是要分析数据的总误差中处理误差是否显著存在。如果处理(小麦品种)对观测数据(产量)没有显著影响,意味着处理误差不显著。这时,每种处理所对应的总体均值(i)应该相等。
如果存在处理误差,每种处理所对应的总体均值(i)至少有一对不相等
就本例而言,在只考虑品种一个因子的情况下,方差分析也就是要检验下面的假设
在这里插入图片描述

单因子方差分析

数学模型

设因子A有I种处理比如品种有(“品种1”、“品种2”、“品种3”)3种处理,单因子方差分析可用下面的线性模型来表示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

效应检验

设因子A有I种处理,单因子方差分析要检验的假设为:
H0 :ai = 0 (i=1,2,…,I)
没有处理效应
H1 :ai 至少有一个不等于0
有处理效应
为获得上述检验的统计量,首先需要计算处理平方和SSA、误差平方和SSE,然后将各平方和除以相应的自由度df,以消除观测数据多少对平方和大小的影响,其结果称为均方(mean square),也称为方差。
最后,将处理均方(MSA)除以误差均方(MSE),即得到用于检验处理效应的统计量F。这一计算过程可以用方差分析表的形式来表示。下表显示了单因子方差分析表的一般形式:
在这里插入图片描述

在这里插入图片描述

有了统计量,就可以根据P值做出决策:若P<α,拒绝H0,αi不全为0,表示处理效应显著(因子对观察值有显著影响)。

例题:
(数据:example8_2. RData)沿用例7-1。检验小麦品种对产量的影响是否显著(α=0.05)
解:设小麦品种对产量的影响效应分别为a1(品种1)、a2(品种2)、a3(品种3)
在这里插入图片描述
为使用R做方差分析,需要将短格式数据(example8_1)转为长格式数据,并存为 example8_2。R代码和结果如下所示

#  将表8-1的短格式数据转为长格式数据
load("C:/example/ch8/example8_1.RData")
example8_1<-cbind(example8_1,id=factor(1:10))
library(reshape)
example8_2<-melt(example8_1,id.vars=c("id"), variable_name="品种")
example8_2<-rename(example8_2,c(id="地块",value="产量"))
save(example8_2,file="C:/example/ch8/example8_2.RData")
example8_2

在这里插入图片描述
在这里插入图片描述
melt()函数用法:把数据转变成长格式数据
melt(data,id.vars,measure.vars,variable.name,value.name)
id.vars:标识变量(依旧在列上,位置保持不变的变量)
measure.vars:度量变量(需要放进同一列的变量)
variable.name:为新列变量取名
value.name:对应值所在的变量名

为便于理解方差分析的结果,可以先对样本数据做一些描述性分析。首先绘制3个品种产量的箱线图,并计算各样本的均值和标准差,观察不同品种产量之间的差异。R代码和结果如下所示

#绘制3个品种数据产量的箱线图

load("C:/example/ch8/example8_2.RData")
attach(example8_2)
boxplot(产量~品种,data=example8_2,col="gold",main="",ylab="产量", xlab="品种")

#计算描述统计量

my_summary<-function(x){with(x,data.frame("均值"=mean(产量),"标准差"=sd(产量),n=length(产量)))}
library(plyr)
ddply(example8_2,.(品种),my_summary)

#ddply()函数用于对data.frame进行分组统计
在这里插入图片描述

在这里插入图片描述
从箱线图中可以看出,品种2的产量明显低于品种1和品种3,而品种1和品种3的产量差异似乎不大。从3个品种产量的均值也可见其差异。但要想知道不同品种之间的产量差异是否显著,还需要做方差分析。R代码和结果如下所示:
#方差分析表

 attach(example8_2)
 model_1w<-aov(产量~品种)
 summary(model_1w)

在这里插入图片描述

#方差分析模型的参数估计

model_1w$coefficients

在这里插入图片描述

注:函数aov( formula,data=NULL,)用于拟合方差分析模型。参数 formula用于指定模型形式;data为数据框。单因子方差分析模型的R表达式为:y~A,其中y为因变量,A为因子。

方差分析表显示了品种效应和随机效应的平方和(Sum Sq)、自由度(Df)、均方(Mean Sq)、检验统计量值(F value)、检验的P值(Pr(>F))。由于P=0.000158<0.05,拒绝原假设,表示αi(i=1,2,3)至少有一个不等于0,这意味着品种对产量的影响效应显著。

在这里插入图片描述


练习

1、一家牛奶公司有4台机器装填牛奶,每桶的容量为4L。下面是从4台机器中抽取的装填量样本数据。
检验机器对装填量是否有显著差异?
在这里插入图片描述
解:提出假设:
H0: 机器对装填量的影响不显著
H1:机器对装填量的影响显著
#绘制出箱线图

load("C:/example/ch8/exercise8_1.RData")
exercise8_1
attach(exercise8_1)
boxplot(填装量~机器,data=exercise8_1,col="gold",main="",ylab="填装量", xlab="机器")

在这里插入图片描述
#方差分析表

attach(example8_2)
model_1w<-aov(填装量~机器)
summary(model_1w)

在这里插入图片描述
方差分析表显示了机器效应和随机效应的平方和(Sum Sq)、自由度(Df)、均方(Mean Sq)、检验统计量值(F value)、检验的P值(Pr(>F))。由于P=0.0135<0.05,拒绝原假设,机器对填装量的影响效应显著。
#方差分析模型的参数估计

model_1w$coefficients

在这里插入图片描述

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

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

相关文章

Mysql大数据量分页优化

前言 之前有看过到mysql大数据量分页情况下性能会很差&#xff0c;但是没有探究过它的原因&#xff0c;今天讲一讲mysql大数据量下偏移量很大&#xff0c;性能很差的问题&#xff0c;并附上解决方式。 原因 将原因前我们先做一个试验&#xff0c;我做试验使用的是mysql5.7.2…

Blender教程(基础)-物体的移动、旋转与缩放-04

一、新建一个立方体 ShiftA新建一个立方体用来演示。 二、物体的移动 xyz轴移动 点击下图图左侧的移动选项后&#xff0c;选中要移动的物体&#xff0c;会出现三个箭头的方向&#xff0c;这分别代表沿着x、y、z轴移动。xyz平面移动 这个小正方体代表沿着某一个面移动&#…

范仲淹大直男逆袭,先天下之忧而忧

人在最艰苦时&#xff0c;最能体现英雄本色。 天底下最苦的是读书。读书要眼到、手到、心到&#xff0c;专心致志&#xff0c;灵活运用。 范仲淹读书很用功&#xff0c;每天煮一锅粥。等到第二天&#xff0c;粥凝固了&#xff0c;范仲淹把隔夜粥划为四块&#xff0c;早上吃两块…

【c语言】详解操作符(上)

1. 操作符的分类 2. 原码、反码、补码 整数的2进制表示方法有三种&#xff0c;即原码、反码、补码 有符号整数的三种表示方法均有符号位和数值位两部分&#xff0c;2进制序列中&#xff0c;最高位的1位是被当做符号位其余都是数值位。 符号位都是用0表示“正”&#xff0c;用…

【Web】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 Linux 目录&#xff1a; &#xff08;一&#xff09;云服务器的购买与使用

P2246 SAC#1 - Hello World(升级版)

网址如下&#xff1a; P2246 SAC#1 - Hello World&#xff08;升级版&#xff09; - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 刚开始是用递归做的&#xff0c;虽然用了哈希表优化&#xff0c;但是超时&#xff0c;只得了50 后面想到了一个新的算法&#xff0c;时间复杂度…

Steam游戏免费玩 gamebox 一起来玩幻兽帕鲁吧

steam大作免费畅玩 幻兽帕鲁也有资源 UI设计精美 还有补票链接&#xff0c;点击一下&#xff0c;就能跳转至Steam商店 可以自定义安装位置 下载链接 gamebox&#xff1a;https://rssm666.lanzn.com/b039g6dqj

数据结构排序小结

排序类型小结 &#x1f4a6; 插入排序直接插入排序希尔排序 &#x1f4a6; 选择排序直接选择排序堆排序 &#x1f4a6; 交换排序冒泡排序快速排序&#x1f43e;霍尔版本补坑位版本前后指针版本非递归版本 &#x1f4a6; 归并排序递归版本非递归版本 &#x1f4a6; 性能测试 &am…

Ps:根据 HSB 调色(以可选颜色命令为例)

在数字色彩中&#xff0c;RGB 和 HSV&#xff08;又称 HSB&#xff09;是两种常用的颜色表示方式&#xff08;颜色模型&#xff09;。 在 RGB 颜色模式下&#xff0c;Photoshop 的红&#xff08;Red&#xff09;、绿&#xff08;Green&#xff09;、蓝&#xff08;Blue&#xf…

韦东山嵌入式Liunx入门笔记一

文章目录 一、嵌入式Linux二、Ubuntu系统2-1 安装软件2-2 Linux文件(1) 文件架构(2)文件属性(3)文件命令(4) 解压、压缩文件(5) 网络命令 2-3 vi编辑器2-4 Ubuntu下包管理 三、配置网卡四、安装后续学习使用的软件4-1 MobaXterm4-2 FileZilla4-3 Source Insight4.04-4 下载BSP4…

sqli-labs-master 下载、搭建

sqli-labs-master sqli-labs-master 是一个帮助用户学习和测试 SQL 注入漏洞的开源项目。它提供了一系列的环境&#xff0c;用户可以在这些环境中进行实验&#xff0c;学习如何检测、利用和防御 SQL 注入攻击。 sqli-labs 下载地址&#xff1a; github.com/Audi-1/sqli-labs 搭…

刘知远团队大模型技术与交叉应用L5-BMSystem

为什么需要BMTrain&#xff1f; PLM越来越大。为了使训练更高效和廉价。我们有必要 1.分析GPU的显存去哪了&#xff1f; 2.理解GPU间的合作模式是如何的&#xff1f; 显存都去了哪里&#xff1f; CPU vs GPU CPU适合复杂逻辑运算。GPU适合大量重复的数值运算。 显存成分 1.前…

【Java】SpringMVC参数接收(二):JSON、URI、文件

1、获取JSON参数 RequestMapping("/hello") RestController public class HelloSpring {RequestMapping("/t10")public String t10(RequestBody UserInfo userInfo){return userInfo.toString();} } 2、获取URI中的参数 &#xff08;1&#xff09;获取单…

面对.pings勒索病毒威胁:深度解析如何对抗.pings勒索病毒的危害

导言&#xff1a; 随着科技的发展&#xff0c;互联网的普及&#xff0c;网络犯罪也在不断演变。其中一种恶意软件&#xff0c;.pings勒索病毒&#xff0c;威胁着个人和企业的数据安全。本文91数据恢复将介绍.pings勒索病毒的特点、如何恢复被加密的数据文件&#xff0c;以及有…

Codeforces Round 921 (Div. 2)

Codeforces Round 921 (Div. 2) Codeforces Round 921 (Div. 2) A. We Got Everything Covered! 题意&#xff1a;找到一个字符串s&#xff0c;使得所有可能长度为n的字符串都可以用前k个小写字母组成&#xff0c;并为s的子序列。 思路&#xff1a;A的题意理解对C很有用 首…

Leetcode 206 反转链表

反转链表 准备工作1&#xff09;ListNode基本结构2&#xff09;初始化ListNode集合 解法一&#xff1a;遍历创建新节点解法二&#xff1a;两组List&#xff0c;面向对象操作解法三&#xff1a;递归调用解法四&#xff1a;直接移动解法五&#xff1a;解法二的面向过程 Leetcode …

Java异常处理集合

Java异常处理 Java语言在执行后会中断&#xff0c;也就是在出错位置后的代码都不会被执行&#xff0c;为了使非致命错误后的程序仍然能够执行&#xff0c;引入异常处理机制。 异常 可处理的异常用Exception表示&#xff0c;不可处理的异常用Error表示&#xff0c;通常是栈内…

ShardingSphere之ShardingJDBC客户端分库分表下

目录 ShardingJDBC实战 STANDARD标准分片策略 COMPLEX_INLINE复杂分片策略 CLASS_BASED自定义分片策略 HINT_INLINE强制分片策略 ShardingJDBC实战 上篇已经将需要用到的类、数据库表都准备好了&#xff0c;本篇主要介绍分片配置文件。 STANDARD标准分片策略 如果按照上篇文…

Python笔记14-实战小游戏飞机大战(上)

文章目录 功能规划安装pygame绘制游戏窗口添加玩家飞机图像屏幕上绘制飞船代码重构驾驶飞船全屏模式射击 功能规划 玩家控制一艘最初出现在屏幕底部中央的飞船。玩家可以使用箭头键左右移动飞船&#xff0c;还可使用空格键射击。游戏开始时&#xff0c;一群外星人出现在天空中…

如何从 Android SD 卡恢复已删除的照片

您是否不小心从 Android SD 卡中删除了一些照片&#xff1f;您是否尝试访问昨天拍摄的照片&#xff0c;但无论您在哪里查看都找不到它们&#xff1f;您的 Android 手机的外部存储是否已损坏&#xff0c;其内容无法访问&#xff1f; 在这种情况下&#xff0c;您应该尽快采取行动…