【数据分析】单因素方差分析(含MATLAB和Python实现)
1.基本概念
- 试验指标:在试验中要考察的指标,如产品质量等。
- 因素:影响试验指标的条件。包括可控因素和不可控因素。
- 单因素试验:在一项试验中只有一个因素在改变的试验。
- 多因素试验:在一项试验中多于一个因素在改变的试验。
- 水平:因素所处的状态。
- 随机误差:同一水平下,样本各观察值之间的差异,称为随机误差。这种差异可以看成是随机因素的影响。
- 系统误差:不同水平下,各观察值之间的差异。这种差异可能是由于行业本身所造成的,称为系统误差。
2.方差分析的任务
- 检验sss个总体N(μ1,σ2),...,N(μs,σ2)N(\mu_1,\sigma^2),...,N(\mu_s,\sigma^2)N(μ1,σ2),...,N(μs,σ2)的均值是否相等,即检验假设:
H0:μ1=μ2=...=μsH1:μ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的估计
总平均:
μ=1n∑j=1snjμjn=∑j=1snj\mu=\frac{1}{n}\sum_{j=1}^{s}n_j\mu_j\\ n=\sum_{j=1}^{s}n_j μ=n1j=1∑snjμjn=j=1∑snj
AjA_jAj下总体平均值与总平均值的差异:
δj=μj=μ,j=1,2,...,sXij=μj+ϵij,ϵijN(0,σ2)各ϵij独立,i=1,2,...,nj,j=1,2,...,s⇓Xij=μ+σj+ϵij,ϵijN(0,σ2).各ϵij独立i=1,2,...,nj,j=1,2,...,s,∑j=1snjδ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,...,s⇓Xij=μ+σj+ϵij, ϵij N(0,σ2). 各ϵij独立i=1,2,...,nj, j=1,2,...,s, j=1∑snjδj=0
因为μ1=μ2=...=μs\mu_1=\mu_2=...=\mu_sμ1=μ2=...=μs时:
μ=1n∑j=1snjμj=1nμj∑j=1snj=1nμjn=μ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=1∑snjμj=n1μjj=1∑snj=n1μjn=μjδj=μj−μ, j=1,2,...,s
所以:
H0:μ1=μ2=...=μsH1:μ1,μ2,...,μs不全相等⇓H0:δ1=δ2=...=δsH1:δ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,...,μs不全相等⇓H0:δ1=δ2=...=δsH1:δ1,δ2,...,δs不全为零
3.平方和的分解
A1A_1A1 | A2A_2A2 | … | AsA_sAs |
---|---|---|---|
X11X_{11}X11 | X12X_{12}X12 | … | X1sX_{1s}X1s |
X21X_{21}X21 | X22X_{22}X22 | … | X2sX_{2s}X2s |
… | … | … | … |
Xn11X_{n_1 1}Xn11 | Xn22X_{n_2 2}Xn22 | … | XnssX_{n_s s}Xnss |
记Xˉ⋅j=1nj∑i=1njXij\bar{X}_{\cdot j}=\frac{1}{n_{j}} \sum_{i=1}^{n_{j}} X_{i j}Xˉ⋅j=nj1∑i=1njXij
水平AiA_iAi下的样本均值(总的样本均值):
Xˉ=1n∑i=1s∑j=1niXij\bar{X}=\frac{1}{n} \sum_{i=1}^{s} \sum_{j=1}^{n_{i}} X_{i j} Xˉ=n1i=1∑sj=1∑niXij
总偏差平方和(总变差,反映了全部试验数据之间的差异):
ST=∑j=1s∑i=1nj(Xij−Xˉ)2S_{T}=\sum_{j=1}^{s} \sum_{i=1}^{n_{j}}\left(X_{i j}-\bar{X}\right)^{2} ST=j=1∑si=1∑nj(Xij−Xˉ)2
组内偏差平方和(误差平方和,反映了水平AiA_iAi内有随机误差二引起的波动):
Se=∑j=1s∑i=1nj(Xij−Xˉ⋅j)2S_{e}=\sum_{j=1}^{s} \sum_{i=1}^{n_{j}}\left(X_{i j}-\bar{X}_{\cdot j}\right)^{2} Se=j=1∑si=1∑nj(Xij−Xˉ⋅j)2
组间偏差平方和(效应平方和,由水平AjA_jAj的效应的差异以及随机误差引起):
SA=∑j=1snj(X.j−Xˉ)2S_{A}=\sum_{j=1}^{s} n_{j}\left(X_{. j}-\bar{X}\right)^{2} SA=j=1∑snj(X.j−Xˉ)2
总离差平方和分解式:
ST=Se+SAS_{T}=S_{e}+S_{A} ST=Se+SA
4.Se,SAS_e,S_ASe,SA的统计特性
- SeS_eSe的统计特性
Se=∑i=1n1(Xi1−Xˉ⋅1)2+⋯+∑i=1ns(Xis−Xˉ⋅s)2S_{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=1∑n1(Xi1−Xˉ⋅1)2+⋯+i=1∑ns(Xis−Xˉ⋅s)2
∑i=1nj(Xij−Xˉ.j)2\sum_{i=1}^{n_{j}}\left(X_{i j}-\bar{X}_{. j}\right)^{2}∑i=1nj(Xij−Xˉ.j)2是总体N(μj,σ2)N\left(\mu_{j}, \sigma^{2}\right)N(μj,σ2)的样本方差的nj−1n_{j}-1nj−1倍,
∑i=1nj(Xij−Xˉ.j)2σ2∼χ2(nj−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) σ2∑i=1nj(Xij−Xˉ.j)2∼χ2(nj−1)
由χ2\chi^2χ2分布的可加性:
SEσ2∼χ2(∑j=1s(nj−1))\frac{S_{E}}{\sigma^{2}} \sim \chi^{2}\left(\sum_{j=1}^{s}\left(n_{j}-1\right)\right) σ2SE∼χ2(j=1∑s(nj−1))
即:
SEσ2∼χ2(n−s),E(SE)=(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(n−s),E(SE)=(n−s)σ2
- SAS_ASA的统计特性
E(SA)=(s−1)σ2+∑j=1snjδ2E\left(S_{A}\right)=(s-1) \sigma^{2}+\sum_{j=1}^{s} n_j \delta^{2} E(SA)=(s−1)σ2+j=1∑snjδ2
且当H0H_0H0为真时:
SAσ2∼χ2(s−1)\frac{S_{A}}{\sigma^{2}} \sim \chi^{2}(s-1) σ2SA∼χ2(s−1)
5.拒绝域
- FFF比
定义FFF比:
F=SAˉSeˉ=SA/(S−1)SE/(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/(n−s)SA/(S−1)
故检验问题拒绝域具有形式:
F=SA/(S−1)SE/(n−s)≤kF=\frac{S_A/\left(S-1\right)}{S_E/\left(n-s\right)}\le k F=SE/(n−s)SA/(S−1)≤k
其中kkk由显著性水平α\alphaα决定。
- 方差分析表
方差来源 | 平方和 | 自由度 | 均方 | FFF比 |
---|---|---|---|---|
因素AAA | SAS_ASA | s−1s-1s−1 | S‾A=SAs−1\overline{S}_{A}=\frac{S_{A}}{s-1}SA=s−1SA | F=S‾AS‾EF=\frac{\overline{\boldsymbol{S}}_{\boldsymbol{A}}}{\overline{\boldsymbol{S}}_{\boldsymbol{E}}}F=SESA |
误差 | SES_ESE | n−sn-sn−s | SˉE=SEn−s\bar{S}_{E}=\frac{S_{E}}{n-s}SˉE=n−sSE | |
总和 | STS_TST | n−1n-1n−1 |
6.单因素方差分析的实现
- 例题
工程师测量了四种不同类型外壳的彩色显像管的传导率,得传导率的观察值如下表:
显像管型号 | 传导率值1 | 传导率值2 | 传导率值3 | 传导率值4 |
---|---|---|---|---|
A1A_1A1(类型1) | 143 | 141 | 150 | 146 |
A2A_2A2(类型2) | 152 | 144 | 137 | 143 |
A3A_3A3(类型3) | 134 | 136 | 133 | 129 |
A4A_4A4(类型4) | 129 | 128 | 134 | 129 |
问: 外壳类型对传导率是否由显著影响? (α=0.05\alpha=0.05α=0.05)
- 作出假设
设水平AiA_iAi下,Xi∼N(ai,σ2)X_{i} \sim N\left(a_{i}, \sigma^{2}\right)Xi∼N(ai,σ2)。
假设H0:a1=a2=a3=a4H_{0}: a_{1}=a_{2}=a_{3}=a_{4}H0:a1=a2=a3=a4;H1:a1,a2,a3,a4H_{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.49F>3.49F>3.49,拒绝H0H_0H0,认为外壳类型对传导率影响显著。
原文链接: https://blog.tigerxly.com/?p=1339 (本人博客)
【数据分析】单因素方差分析(含MATLAB和Python实现)相关推荐
- Python玩转数据分析——单因素方差分析
概念 方差分析(Analysis of Variance,简称ANOVA),又称"变异数分析"或"F检验",用于两个及两个以上样本均数差别的显著性检验.单因素方 ...
- R语言基础数据分析—单因素方差分析
有了试验数据,我们就需要进行数据的处理与分析,而在试验设计中,通常分为单因素试验或者双因素试验.试验中要考察的指标称为试验指标,影响试验指标的条件称为因素,因素所处的状态称为水平,若试验中只有一个因素 ...
- 【语音处理】音频信号提取分析含Matlab源码
1 简介 MATLAB是十分强大的用于数据分析和处理的工程实用软件,利用其来进行语音信号的分析,处理和可视化十分便捷.文中介绍了在 MATLAB环境中如何驱动声卡采集语音信号和语音信号采集后的文档处理 ...
- 【语音分析】语音信号分析含Matlab源码
1 简介 语音信号处理技术是语音处理领域中新近发展起来的一个学科分支,MATLAB是一个数据分析和处理功能十分强大的工程实用软件,运用它来进行语音信号的采集,分析和处理相当便捷.文章介绍了在Matla ...
- 【信号处理】语音信号线性预测(LPC)分析含Matlab源码
1 简介 线性预测技术作为一种基于全极点模型假定和均方预测误差最小准则下的波形逼近技术.本文简要介绍了LPC技术的基本原理,并利用MATLAB这一有力工具对语音信号进行了LPC分析,并对阶数的选取做了 ...
- 看完秒懂ICA(含MATLAB和python代码)
绪论 独立成分分析ICA是一个在多领域被应用的基础算法.ICA是一个不定问题,没有确定解,所以存在各种不同先验假定下的求解算法.相比其他技术,ICA的开源代码不是很多,且存在黑魔法–有些步骤并没有在论 ...
- 【图像去噪】基于小波变换实现图像去噪分析含Matlab源码
1 简介 在图像处理过程中,图像噪声对图像的后续处理和清晰度影响较大.因此,对图像的降噪至关重要.随着小波变换的不断优化,小波变换广泛应用在图像降噪方面.该文基于软阈值的小波图像增强方法,通过实验论述 ...
- 做数学建模,学matlab还是python?
大家好,我是北海. 刚开始参与数学建模的同学,往往会面临一个问题:做数模离不开编程,而matlab和python都挺适合做数模的,究竟是学matlab还是python? 本文就给大家分析一下matla ...
- python数据分析——股票分析
python数据分析--股票分析 前言 一.实现步骤 1.引入库(导包) 2.读入数据 3.数据分析可视化 3.1 风险相关图 3.2 历史收盘价 3.2 ma5 ma20 3.2 历史成交量 总结 ...
- R语言单因素方差分析(One-Way ANOVA)实战:探索性数据分析(EDA)、单因素方差分析模型结果解读(检查模型假设)、分析不同分组的差异TukeyHSD、单因素方差分析的结果总结
R语言单因素方差分析(One-Way ANOVA)实战:探索性数据分析(EDA).单因素方差分析模型结果解读(检查模型假设).分析不同分组的差异TukeyHSD.单因素方差分析的结果总结 目录 R语言 ...
最新文章
- AngularJS相关网站存档
- bzoj3438: 小M的作物
- GitHub初次使用记录(一)
- 自定义控件(视图)2期笔记13:View的滑动冲突之 内部拦截法
- 【转载】徐小平techCrunch演讲:创业者要找到跟你同生共死的伙伴!
- 铁路12306网站App服务时间延长 退票业务可24小时全天候办理
- 【Tricks】半监督深度学习训练和实现小Tricks
- 会扫地炒菜,将来机器人当钟点工
- mysql恢复备份快照_MySQL备份恢复:磁盘LVM快照
- 各运营商虚拟主机对比_满足您需求的最佳虚拟主机提供商
- 保险精算--第13周作业
- java vad_(转载)静音检测VAD算法
- 自学编程,10个程序员学习必收藏的编程网站,你知道几个?
- Linux+宝塔安装swoole教程
- c语言中handle的用法,handle什么意思_handle的用法和短语例句
- Visual C++中error spawning cl.exe错误的两种解决方法
- java: springboot+elementui导出功能模板
- check的3种用法
- html是div环绕文字,文字环绕一个div在HTML
- iCMS前台存储型XSS漏洞
热门文章
- centos7下安装mysql5.7(rpm)
- 软件测试ios打包,苹果测试iOS打包成 ipa包
- WDR7660虚拟服务器,TP-Link TL-WDR7660路由器怎么设置?
- 应用matlab快速实现实验对象随机分组,应用MATLAB快速实现实验对象随机分组
- 高中英语老师教师资格证考试成功通过前辈备考经验谈
- 数字地与模拟地解释及PBC底线布局
- Golang 流媒体音视频网络传输开源项目-LAL
- 如何简单快速的写出幸运转盘抽奖
- 云计算机什么意思啊,什么叫云计算,云计算是什么,最通俗的解释是这样的
- 山海经鸿蒙boss疲劳,《山海经》十大奇兽:吃了可缓解各种疑难杂症