【数据分析】单因素方差分析(含MATLAB和Python实现)

article/2025/6/16 23:32:12

1.基本概念

  • 试验指标:在试验中要考察的指标,如产品质量等。
  • 因素:影响试验指标的条件。包括可控因素和不可控因素。
  • 单因素试验:在一项试验中只有一个因素在改变的试验。
  • 多因素试验:在一项试验中多于一个因素在改变的试验。
  • 水平:因素所处的状态。
  • 随机误差:同一水平下,样本各观察值之间的差异,称为随机误差。这种差异可以看成是随机因素的影响。
  • 系统误差:不同水平下,各观察值之间的差异。这种差异可能是由于行业本身所造成的,称为系统误差。

2.方差分析的任务

  • 检验 s s s个总体 N ( μ 1 , σ 2 ) , . . . , N ( μ s , σ 2 ) N(\mu_1,\sigma^2),...,N(\mu_s,\sigma^2) N(μ1,σ2),...,N(μs,σ2)的均值是否相等,即检验假设:

H 0 : μ 1 = μ 2 = . . . = μ s H 1 : μ 1 , μ 2 , . . . , μ s 不 全 相 等 H_0:\mu_1=\mu_2=...=\mu_s\\ H_1:\mu_1,\mu_2,...,\mu_s不全相等 H0:μ1=μ2=...=μsH1:μ1,μ2,...,μs

  • 作出未知参数 μ 1 , μ 2 , . . . , μ s , σ 2 \mu_1,\mu_2,...,\mu_s,\sigma^2 μ1,μ2,...,μs,σ2的估计
    总平均:

μ = 1 n ∑ j = 1 s n j μ j n = ∑ j = 1 s n j \mu=\frac{1}{n}\sum_{j=1}^{s}n_j\mu_j\\ n=\sum_{j=1}^{s}n_j μ=n1j=1snjμjn=j=1snj

A j A_j Aj下总体平均值与总平均值的差异:
δ j = μ j = μ , j = 1 , 2 , . . . , s X i j = μ j + ϵ i j , ϵ i j N ( 0 , σ 2 ) 各 ϵ i j 独 立 , i = 1 , 2 , . . . , n j , j = 1 , 2 , . . . , s ⇓ X i j = μ + σ j + ϵ i j , ϵ i j N ( 0 , σ 2 ) . 各 ϵ i j 独 立 i = 1 , 2 , . . . , n j , j = 1 , 2 , . . . , s , ∑ j = 1 s n j δ j = 0 \delta_j=\mu_j=\mu,\space\space j=1,2,...,s \\ X_{ij}=\mu_j+\epsilon_{ij},\space\epsilon_{ij}~N(0,\sigma^2)\\ 各\epsilon_{ij}独立,\space i=1,2,...,n_j,\space j=1,2,...,s\\ \Downarrow\\ X_{ij}=\mu+\sigma_j+\epsilon_{ij},\space\epsilon_{ij}~N(0,\sigma^2).\space 各\epsilon_{ij}独立\\ i=1,2,...,n_j,\space j=1,2,...,s,\space\sum_{j=1}^{s}n_j\delta_j=0\\ δj=μj=μ,  j=1,2,...,sXij=μj+ϵij, ϵij N(0,σ2)ϵij, i=1,2,...,nj, j=1,2,...,sXij=μ+σj+ϵij, ϵij N(0,σ2). ϵiji=1,2,...,nj, j=1,2,...,s, j=1snjδj=0
因为 μ 1 = μ 2 = . . . = μ s \mu_1=\mu_2=...=\mu_s μ1=μ2=...=μs时:
μ = 1 n ∑ j = 1 s n j μ j = 1 n μ j ∑ j = 1 s n j = 1 n μ j n = μ j δ j = μ j − μ , j = 1 , 2 , . . . , s \mu=\frac{1}{n}\sum_{j=1}^{s}n_j\mu_j=\frac{1}{n}\mu_j\sum_{j=1}^{s}n_j=\frac{1}{n}\mu_j n=\mu_j\\ \delta_j=\mu_j-\mu,\space j=1,2,...,s μ=n1j=1snjμj=n1μjj=1snj=n1μjn=μjδj=μjμ, j=1,2,...,s
所以:
H 0 : μ 1 = μ 2 = . . . = μ s H 1 : μ 1 , μ 2 , . . . , μ s 不 全 相 等 ⇓ H 0 : δ 1 = δ 2 = . . . = δ s H 1 : δ 1 , δ 2 , . . . , δ s 不 全 为 零 H_0:\mu_1=\mu_2=...=\mu_s\\ H_1:\mu_1,\mu_2,...,\mu_s不全相等\\ \Downarrow\\ H_0:\delta_1=\delta_2=...=\delta_s\\ H_1:\delta_1,\delta_2,...,\delta_s不全为零 H0:μ1=μ2=...=μsH1:μ1,μ2,...,μsH0:δ1=δ2=...=δsH1:δ1,δ2,...,δs

3.平方和的分解

A 1 A_1 A1 A 2 A_2 A2 A s A_s As
X 11 X_{11} X11 X 12 X_{12} X12 X 1 s X_{1s} X1s
X 21 X_{21} X21 X 22 X_{22} X22 X 2 s X_{2s} X2s
X n 1 1 X_{n_1 1} Xn11 X n 2 2 X_{n_2 2} Xn22 X n s s X_{n_s s} Xnss

X ˉ ⋅ j = 1 n j ∑ i = 1 n j X i j \bar{X}_{\cdot j}=\frac{1}{n_{j}} \sum_{i=1}^{n_{j}} X_{i j} Xˉj=nj1i=1njXij
水平 A i A_i Ai下的样本均值(总的样本均值):
X ˉ = 1 n ∑ i = 1 s ∑ j = 1 n i X i j \bar{X}=\frac{1}{n} \sum_{i=1}^{s} \sum_{j=1}^{n_{i}} X_{i j} Xˉ=n1i=1sj=1niXij
总偏差平方和(总变差,反映了全部试验数据之间的差异):
S T = ∑ j = 1 s ∑ i = 1 n j ( X i j − X ˉ ) 2 S_{T}=\sum_{j=1}^{s} \sum_{i=1}^{n_{j}}\left(X_{i j}-\bar{X}\right)^{2} ST=j=1si=1nj(XijXˉ)2
组内偏差平方和(误差平方和,反映了水平 A i A_i Ai内有随机误差二引起的波动):
S e = ∑ j = 1 s ∑ i = 1 n j ( X i j − X ˉ ⋅ j ) 2 S_{e}=\sum_{j=1}^{s} \sum_{i=1}^{n_{j}}\left(X_{i j}-\bar{X}_{\cdot j}\right)^{2} Se=j=1si=1nj(XijXˉj)2
组间偏差平方和(效应平方和,由水平 A j A_j Aj的效应的差异以及随机误差引起):
S A = ∑ j = 1 s n j ( X . j − X ˉ ) 2 S_{A}=\sum_{j=1}^{s} n_{j}\left(X_{. j}-\bar{X}\right)^{2} SA=j=1snj(X.jXˉ)2
总离差平方和分解式:
S T = S e + S A S_{T}=S_{e}+S_{A} ST=Se+SA

4. S e , S A S_e,S_A Se,SA的统计特性

  • S e S_e Se的统计特性

S e = ∑ i = 1 n 1 ( X i 1 − X ˉ ⋅ 1 ) 2 + ⋯ + ∑ i = 1 n s ( X i s − X ˉ ⋅ s ) 2 S_{e}=\sum_{i=1}^{n_{1}}\left(X_{i 1}-\bar{X}_{\cdot 1}\right)^{2}+\cdots+\sum_{i=1}^{n_{s}}\left(X_{i s}-\bar{X}_{\cdot s}\right)^{2} Se=i=1n1(Xi1Xˉ1)2++i=1ns(XisXˉs)2

∑ i = 1 n j ( X i j − X ˉ . j ) 2 \sum_{i=1}^{n_{j}}\left(X_{i j}-\bar{X}_{. j}\right)^{2} i=1nj(XijXˉ.j)2是总体 N ( μ j , σ 2 ) N\left(\mu_{j}, \sigma^{2}\right) N(μj,σ2)的样本方差的 n j − 1 n_{j}-1 nj1倍,
∑ i = 1 n j ( X i j − X ˉ . j ) 2 σ 2 ∼ χ 2 ( n j − 1 ) \frac{\sum_{i=1}^{n_{j}}\left(X_{i j}-\bar{X}_{. j}\right)^{2}}{\sigma^{2}} \sim \chi^{2}\left(n_{j}-1\right) σ2i=1nj(XijXˉ.j)2χ2(nj1)
χ 2 \chi^2 χ2分布的可加性:
S E σ 2 ∼ χ 2 ( ∑ j = 1 s ( n j − 1 ) ) \frac{S_{E}}{\sigma^{2}} \sim \chi^{2}\left(\sum_{j=1}^{s}\left(n_{j}-1\right)\right) σ2SEχ2(j=1s(nj1))
即:
S E σ 2 ∼ χ 2 ( n − s ) , E ( S E ) = ( n − s ) σ 2 \frac{S_{E}}{\sigma^{2}} \sim \chi^{2}(n-s), \quad E\left(S_{E}\right)=(n-s) \sigma^{2} σ2SEχ2(ns),E(SE)=(ns)σ2

  • S A S_A SA的统计特性

E ( S A ) = ( s − 1 ) σ 2 + ∑ j = 1 s n j δ 2 E\left(S_{A}\right)=(s-1) \sigma^{2}+\sum_{j=1}^{s} n_j \delta^{2} E(SA)=(s1)σ2+j=1snjδ2

且当 H 0 H_0 H0为真时:
S A σ 2 ∼ χ 2 ( s − 1 ) \frac{S_{A}}{\sigma^{2}} \sim \chi^{2}(s-1) σ2SAχ2(s1)

5.拒绝域

  • F F F
    定义 F F F比:

F = S A ˉ S e ˉ = S A / ( S − 1 ) S E / ( n − s ) F=\frac{\bar{S_A}}{\bar{S_e}}=\frac{S_A/\left(S-1\right)}{S_E/\left(n-s\right)} F=SeˉSAˉ=SE/(ns)SA/(S1)

故检验问题拒绝域具有形式:
F = S A / ( S − 1 ) S E / ( n − s ) ≤ k F=\frac{S_A/\left(S-1\right)}{S_E/\left(n-s\right)}\le k F=SE/(ns)SA/(S1)k
其中 k k k由显著性水平 α \alpha α决定。

  • 方差分析表
方差来源平方和自由度均方 F F F
因素 A A A S A S_A SA s − 1 s-1 s1 S ‾ A = S A s − 1 \overline{S}_{A}=\frac{S_{A}}{s-1} SA=s1SA F = S ‾ A S ‾ E F=\frac{\overline{\boldsymbol{S}}_{\boldsymbol{A}}}{\overline{\boldsymbol{S}}_{\boldsymbol{E}}} F=SESA
误差 S E S_E SE n − s n-s ns S ˉ E = S E n − s \bar{S}_{E}=\frac{S_{E}}{n-s} SˉE=nsSE
总和 S T S_T ST n − 1 n-1 n1

6.单因素方差分析的实现

  • 例题
    工程师测量了四种不同类型外壳的彩色显像管的传导率,得传导率的观察值如下表:
显像管型号传导率值1传导率值2传导率值3传导率值4
A 1 A_1 A1(类型1)143141150146
A 2 A_2 A2(类型2)152144137143
A 3 A_3 A3(类型3)134136133129
A 4 A_4 A4(类型4)129128134129

问: 外壳类型对传导率是否由显著影响? ( α = 0.05 \alpha=0.05 α=0.05

  • 作出假设
    设水平 A i A_i Ai下, X i ∼ N ( a i , σ 2 ) X_{i} \sim N\left(a_{i}, \sigma^{2}\right) XiN(ai,σ2)
    假设 H 0 : a 1 = a 2 = a 3 = a 4 H_{0}: a_{1}=a_{2}=a_{3}=a_{4} H0:a1=a2=a3=a4 H 1 : a 1 , a 2 , a 3 , a 4 H_{1}: a_{1},a_{2},a_{3},a_{4} H1:a1,a2,a3,a4不全相等。
  • Excel求解
    录入数据至Excel表格:

    点击“数据”-“数据分析”-“单因素方差分析”(需要加载数据分析库)
    选中数据区域。由于该表中每行为一种类型,故选择行分组方式,依题意, α ( A ) \alpha(A) α(A)取0.05,单击“确定”:

    可在新工作表中看见方差分析表:
  • matlab求解
%solve20200308.m
function solve20200308()x = [143, 152, 134, 129;141, 144, 136, 128;150, 137, 133, 134;146, 143, 129, 129];p = anova1(x)
end
%控制台键入
solve20200308()

方差分析表:

  • python求解
import pandas as pd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lmdf = pd.read_csv('D:\Data\ex_5.csv')
print(df)
model = ols('conductivity~type', data = df).fit()
table = anova_lm(model)
print(table)

运行结果:

  • 结论
    由于 F > 3.49 F>3.49 F>3.49,拒绝 H 0 H_0 H0,认为外壳类型对传导率影响显著。

原文链接: https://blog.tigerxly.com/?p=1339 (本人博客)


http://chatgpt.dhexx.cn/article/Yld7qLuL.shtml

相关文章

十六、 方差分析--使用Python进行双因素方差分析

双因素方差分析 对于两因素的方差分析,基本思想和方法与单因素的方差分析相似,前提条件仍然是要满足独立、正态、方差齐性。所不同的是在双因素方差分析中有时会出现交互作用,即二因素的不同水平交差搭配对指标产生影响。下面先讨论无交互作…

单因素试验固定效应模型方差分析

单因素试验固定效应模型方差分析 观测值的线性模型平方和与自由度分解例题与SPSS求解非平衡单因素试验SPSS求解 一、观测值的线性模型 单因素试验线性可加模型为: Yij为第i个处理的第j个观测值;U为所有观测值的平均值;Ti为第i个处理效应&am…

spss方差分析_SPSS统计案例:考虑交互作用的双因素方差分析

某工厂使用3种机型的机器生产同一款产品,现在老板想考察不同机型以及不同操作工人对产品的影响,为此他简单设计了一个小实验,让甲、乙、丙、丁四个工人操作机器Ⅰ、Ⅱ、Ⅲ各三天,其产品产量如下表所示,试分析工人和机器对产品产量是否有显著影响? 简单分析一下,机器有3个…

R语言——双因素方差分析

双因素方差分析&#xff0c;顾名思义&#xff0c;讨论有两种影响因素的样本的方差分析。 一、不考虑交互作用 1.代码示例 agriculture<-data.frame( Yc(325, 292, 316, 317, 310, 318, 310, 320, 318, 330, 370, 365), Agl(4,3), Bgl(3,1,12)); agriculture.aov <- ao…

双因素方差分析(R)

目录 原理 双因素等重复试验的方差分析 假设前提和模型设定 离差平方和分解 检验统计量和拒绝域 例题 应用 双因素无重复试验的方差分析 假设前提和模型设定 离差平方和分解 检验统计量和拒绝域 例题 应用 原理 在单因素方差分析的基础上&#xff0c;双因素方差分…

应用统计学方差分析之单因素方差分析原理解析(含Python代码)

基本概念&#xff1a; 在试验中&#xff0c;把考察的指标称为试验指标&#xff0c;影响试验指标的条件称为因素。因素可分为两类,-类是人为可控的测量数据&#xff0c;比如温度、身高等;一类是不可控的随机因素&#xff0c;例如&#xff0c;测量误差&#xff0c;气象条件等。因…

统计学——单因素方差分析

概念 方差分析&#xff1a;又称变异分析&#xff0c;是英国统计学家R.A.Fisher于1923年提出的一种统计方法&#xff0c;故有时也称为F检验。 可简写为ANOVA。用于多组均数 之间的显著性检验。 要求&#xff1a;各组观察值服从正态分布或近似正态分布&#xff0c;并且各组之间的…

单因素方差分析的计算步骤

假定实验或观察中只有一个因素&#xff08;因子&#xff09;A&#xff08;比如说试剂浓度&#xff09;&#xff0c;有m个水平。各在每一种水平下&#xff0c;做n次实验。 X i j X_{ij} Xij​表示第j个水平下的第i次实验。 实验次数A1水平A2水平…Am水平1 X 11 X_{11} X11​ X …

数据分析 第七篇:方差分析(单因素方差分析)

在试验中&#xff0c;把考察的指标称为试验指标&#xff0c;影响试验指标的条件称为因素。因素可分为两类&#xff0c;一类是人为可控的测量数据&#xff0c;比如温度、身高等&#xff1b;一类是不可控的随机因素&#xff0c;例如&#xff0c;测量误差&#xff0c;气象条件等。…

统计学 —— 单因素方差分析的应用与Excel实现

单因素方差分析的应用 前言概念:使用要求&#xff1a;基本思想&#xff1a;计算原理&#xff1a;分析步骤&#xff1a; 例题 前言 无论是什么活动&#xff0c;影响产品质量和产品的因素都有多种&#xff0c;如影响农作物产量的因素有品种、天气、施肥量、肥料的种类等等。如果…

R语言:方差分析之单因素方差分析和双因素方差分析

方差分析 方差分析(Analysis of Variance&#xff0c;ANOVA&#xff09;&#xff0c;是利用样本数据检验两个或两个以上的总体均值之间是否有差异的一种方法;&#xff08;缘起多个处理问题-即多个因变量&#xff09; 即若所有自变量对应的因变量的均值相等&#xff0c;则意味着…

方差分析(1) ——单因素方差分析及Excel示例

文章目录 什么是方差分析建立假设选择检验统计量偏差平方和 F F F检验统计量 给出拒绝域并做出判断 使用Excel进行方差分析添加数据分析工具使用分析工具库 结果说明 什么是方差分析 Wikipedia: Analysis of variance (ANOVA) is a collection of statistical models used to a…

单因素方差分析模型

例题&#xff1a; 试分析温度对着色度的影响。 1.正态性检验&#xff08;ks检验&#xff09; a[0.981,0.964,0.917,0.6690.607,0.693,0.506,0.3580.791,0.642,0.810,0.7050.901,0.703,0.792,0.883]; b[1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4]; areshape(a,numel(a),1); for i1:4aia…

方差分析-单因素方差分析示例 (Between Subjects)

目录 1、从一个例子出发 2、建立零假设 3、什么是MSE和MSB 4、样本大小 5、计算MSE 6、计算MSB 7、比较MSE和MSB 8、分析差异的来源 本文将从一个例子&#xff08;“微笑宽容实验”&#xff09;出发&#xff0c;详细介绍单因素方差分析的原理。 1、从一个例子出发 有…

单因素方差分析

理论依据 【基本思想】 方差分析是检验两个或两个以上的样本均值之间的差异是否具有统计学意义的一种方法&#xff0c;目的是推断两个或两个以上的总体均值是否相同。它所研究的是分类型自变量对数值型因变量的影响。当只涉及一个分类型自变量时&#xff0c;该分析称为单因素方…

干货。单因素方差分析步骤梳理

方差分析是20世纪20年代发展起来的一种统计方法&#xff0c;它是由英国统计学家费希尔在进行试验设计时为解释试验数据而首先引入的。&#xff08;来源&#xff1a;统计学 第7版&#xff09;目前&#xff0c;方差分析广泛应用于生物学、田间试验等。从形式上看&#xff0c;方差…

R语言单因素分析案例

1单因素方差分析实例1&#xff1a;在R中&#xff0c; aov() 函数提供了方差分析表的计算&#xff1a; 进行方差分析的步骤&#xff1a; a.用数据框的格式输入数据&#xff1a;如&#xff1a;lamp<-data.frame(Xc() &#xff0c; Afactor() ) b.调用aov() 函数计算方差分析…

在线UTF-8转换成GBK工具

https://www.dedemao.com/convert/# 注&#xff1a; 如果转换完成&#xff0c;但点击下载时没有反应 &#xff08;1&#xff09;按F12&#xff0c;出现调试器&#xff0c;切换到Element &#xff08;2&#xff09;选中左边的箭头&#xff0c;将鼠标移动到点击下载的按钮上 &a…

java utf-8 gbk_Java 字符转码之UTF-8转为GBK/GB2312

java跟python类似的做法,在java中字符串的编码是java修改过的一种Unicode编码,所以看到java中的字符串,心理要默念这个东西是java修改过的一种Unicode编码的编码。 packagestring;importjava.nio.charset.Charset;public classUTF82GBK {public static void main(String[] a…

java中utf8转成gbk,java中GBK转UTF-8乱码的解决方法

java中GBK转UTF-8乱码的解决方法 如果自己采用的是GBK编码&#xff0c;对方采用得到是UTF-8编码&#xff0c;发送数据时需要将GBK编码数据转换成UTF-8编码数据&#xff0c;这样对方才不会乱码。 问题出现&#xff1a;GBK转UTF-8时&#xff0c;奇数个中文会乱码&#xff0c;偶数…