数学建模之方差分析模型_数学建模层次分析法

数学建模之方差分析模型_数学建模层次分析法《数学建模算法与应用》学习小结(11-20章)方差分析(AnalysisofVariance,ANOVA)应用场景单因素方差分析双因素方差分析方差分析(AnalysisofVariance,ANOVA)——用数理统计分析试验结果,鉴别各因素对结果影响程度的方法。人们关心的试验结果称为指标,试验中需要考察、可以控制的条件称为因素或因子,因素所处的状态称为水平应用场景为了使生产过…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

方差分析(Analysis of Variance, ANOVA)

——用数理统计分析试验结果,鉴别各因素对结果影响程度的方法。

人们关心的试验结果称为指标,试验中需要考察、可以控制的条件称为因素或因子,因素所处的状态称为水平

应用场景

为了使生产过程稳定,达到优质、高产,需要对影响产品质量的因素进行分析,找出有显著影响的那些因素,除了从机理方面进行研究外,常常要做许多试验,对结果作分析、比较,寻求规律。

例如,从用几种不同工艺制成的灯泡中,各抽取了若干测量其寿命,要推断这几种工艺制成的灯泡寿命是否有显著差异;(判断不同工艺对灯泡寿命的影响程度)[单因素方差分析]

再如,用几种化肥和几个小麦品种在若干试验田里种植小麦,要推断不同的化肥和品种对产量有无显著差异[双因素方差分析]

单因素方差分析

只考虑一个因素A,A取几个水平,在每个水平上做若干试验,试验过程中,除A外的其他影响指标的因素都保持不变(只有随机因素存在)

将问题转换为假设检验——利用F-分布做显著性水平检验。

方差分析一般用的显著性水平是:

  • α = 0.01 \alpha = 0.01 α=0.01,拒绝 H 0 H_0 H0,称因素A的影响(或A各水平的差异)非常显著
  • α = 0.01 \alpha = 0.01 α=0.01,不拒绝 H 0 H_0 H0;而取 α = 0.05 \alpha = 0.05 α=0.05,拒绝 H 0 H_0 H0,称因素A的影响显著
  • α = 0.05 \alpha = 0.05 α=0.05,不拒绝 H 0 H_0 H0,称因素A的无显著影响

单因素方差分析表

Matlab实现——anova1

处理均衡数据(各组数据个数相等)的用法为:p=anova1(x)(注意是1而不是l)

这里返回值 p p p是一个概率,当 p > α p>\alpha p>α时,接受 H 0 H_0 H0 x x x m × r m \times r m×r x x x的每一列是一个水平的数据(这里各个水平上的样本容量 n i = m n_i = m ni=m)。另外,还输出一个方差表和一个Box图

示例:
p=anoval(x)
代码运行结果:
result1
Box1
处理非均衡数据(各组数据个数不等)的用法为:p=anova1(x,group)

x x x为向量,从第1组到第 r r r组数据依次排列: g r o u p group group为与 x x x同长度的向量,标志 x x x中数据的组别(在于 x x x i i i组数据相对应的位置出输入整数 i ( i = 1 , 2 , . . . , 4 ) i(i=1,2,…,4) i(i=1,2,...,4)

示例:
p=anoval(x,group)
代码运行结果:
x
group
result2
Box2

多重比较

mulcompare
代码运行结果:
p
t
st

双因素方差分析

——考虑两个因素A,B对指标的影响。A,B各划分几个水平,对每一个水平组合做若干次试验,对所得数据进行方差分析,检验两因素是否对分别对指标有显著影响,或者还要进一步检验两因素是否对指标有显著的交互影响
无交互效应的两因素方差分析表
FAFB
关于交互效应的两因素方差分析表
FAB

Matlab实现——anova2

p=anova2(x,reps)
其中, x x x不同列的数据表示单一因素的变化情况,不同行中的数据表示另一因素的变化情况。如果每一“单元”有不止一个观测值,则用参数reps来表明每个“单元”多个观测值的不同标号,即reps给出重复试验的次数 t t t

例如,下面的矩阵中,列因素有3个水平,行因素有2个水平,但每组水平有两组样本,相应地用下标来标识。
矩阵x
使用示例1
使用示例2

多因素方差分析

前面介绍了一个或两个因素的试验,由于因素较少,我们可以对不同因素的所有可能的水平组合做试验——全面试验

当因素较多时,实际难以实现全面试验,故而需考虑合理的试验方案,使得试验次数不多,但也能得到比较满意的结果。
——一种可行的方案:正交试验设计。

正交表:一系列规格化的表格,每一个表都有一个记号,如 L 9 ( 3 4 ) L_9(3^4) L9(34)

最简单的正交表是 L 4 ( 2 3 ) L_4(2^3) L4(23),其含意为:“L”代表正交表;L下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。

正交表的特点是其安排的试验方法具有均衡搭配特性:

  1. 每列中数字出现的次数相同,如 L 9 ( 3 4 ) L_9(3^4) L9(34)表每列中数字1,2,3均出现三次
  2. 任取两列数字的搭配都是均衡的,如 L 9 ( 3 4 ) L_9(3^4) L9(34)表里每两列中 ( 1 , 1 ) (1,1) (1,1) ( 2 , 2 ) (2,2) (2,2),…, ( 3 , 3 ) (3,3) (3,3)九种组合各出现一次

这种均衡性使得根据正交表安排的试验,其试验结果具有很好的可比性,易于进行统计分析。

用正交表安排试验时,根据因素和水平个数的多少以及试验工作量的大小来考虑选用哪张正交表。例如:
正交试验设计
matlab实现

参考文献

[1] 司守奎.数学建模算法与程序[M].海军航空工程学院, 2007

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181805.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月15日 上午9:46
下一篇 2022年10月15日 上午9:46


相关推荐

  • mvel语法指南_日语语法指南app

    mvel语法指南_日语语法指南appmvel受到了java语法的启发,但是存在一些根本性的差异,mvel旨在使其成为更有效的表达式语言.比如直接支持集合、数组和字符串匹配,正则表达式的运算操作等.      mvel2.x有以下几个部分组成: PropertyexpressionsBooleanexpressionsMethodinvocationsVariableassignmentsFunctionde

    2025年6月6日
    5
  • html Window与document区别

    html Window与document区别Window–代表浏览器中一个打开的窗口:对象属性  window//窗口自身  window.self//引用本窗户window=window.self  window.name//为窗口命名  window.defaultStatus//设定窗户状态栏信息  window.location//URL地址,配备布置这个属性可以打开新的页面对象方法  window.alert("t…

    2022年7月19日
    19
  • 五年了,我在 CSDN 的两个一百万。

    五年了,我在 CSDN 的两个一百万。在路上

    2026年2月11日
    5
  • 软RAID1 更换坏硬盘

    软RAID1 更换坏硬盘1 买块容量一样大小的硬盘 2 把新买的硬盘安装到机器了 3 分区硬盘并把 t 的类型设为 fd 我新添加的硬盘盘符为 dev sdb fdisk dev sdb4 运行 partprobe 让内核重新装载分区表 5 停止 RAID1 的挂载 umount dev md06 移除损坏的设备 mdadm dev md0 r de

    2025年8月4日
    4
  • 无法解析的外部符号__imp__AlphaBlend@44的解决

    无法解析的外部符号__imp__AlphaBlend@44的解决作者 朱金灿来源 http blog csdn net clever101 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 使用 Win32API 函数 AlphaBlend 编译时出现一个错误 无法解析的外部符号 imp AlphaBlend 44 解决办法是在使用得地方包含 Msimg32 lib 具体是添加代码 pragmacommen lib Msimg32 lib

    2026年3月17日
    2
  • 『C#基础』调用CMD的一个小工具

    『C#基础』调用CMD的一个小工具

    2021年9月16日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号