数学建模社区-数学中国
标题: 方差分析 [打印本页]
作者: 浅夏110 时间: 2020-6-3 10:34
标题: 方差分析
我们已经作过两个总体均值的假设检验,如两台机床生产的零件尺寸是否相等,病 人和正常人的某个生理指标是否一样。如果把这类问题推广一下,要检验两个以上总体 的均值彼此是否相等,仍然用以前介绍的方法是很难做到的。而你在实际生产和生活中 可以举出许多这样的问题:从用几种不同工艺制成的灯泡中,各抽取了若干个测量其寿 命,要推断这几种工艺制成的灯泡寿命是否有显著差异;用几种化肥和几个小麦品种在 若干块试验田里种植小麦,要推断不同的化肥和品种对产量有无显著影响。 : }& {, \# r3 L, I; V! G
6 E* F8 G. F4 x$ C( L- X, D( L
可以看到,为了使生产过程稳定,达到优质、高产,需要对影响产品质量的因素进行分析,找出有显著影响的那些因素,除了从机理方面进行研究外,常常要作许多试验, 对结果作分析、比较,寻求规律。用数理统计分析试验结果、鉴别各因素对结果影响程 度的方法称为方差分析(Analysis Of Variance),记作 ANOVA。 人们关心的试验结果称为指标,试验中需要考察、可以控制的条件称为因素或因子, 因素所处的状态称为水平。上面提到的灯泡寿命问题是单因素试验,小麦产量问题是双因素试验。处理这些试验结果的统计方法就称为单因素方差分析和双因素方差分析。
% Q& q5 X4 g7 [% f
2 q' z. J* L# h/ u1 单因素方差分析
% r! `$ Q& f& ^# ?0 w! t只考虑一个因素 A对所关心的指标的影响, A取几个水平,在每个水平上作若干 个试验,试验过程中除 A外其它影响指标的因素都保持不变(只有随机因素存在),我 们的任务是从试验结果推断,因素 A对指标有无显著影响,即当 A取不同水平时指标 有无显著差别。 A取某个水平下的指标视为随机变量,判断 A取不同水平时指标有无显著差别, 相当于检验若干总体的均值是否相等。
$ x) v* G0 {$ z( S) C L
3 {4 F- p( ?% f0 Z 1.1 数学模型 ! t6 ^) J# J2 g+ J$ \1 B. h9 z) b
3 N8 m6 Y+ @6 o6 B) Z
: F+ F, F a5 n/ p! y
& t) {; y5 I; a9 u( l0 h k
6 s! D9 ?( X* Q# R- s% W
9 k$ m5 ?0 ~4 L, f( D
+ D; s* d0 Z7 l# c
4 k1 ~" v; E K
# w# w4 W" q8 T3 s8 E5 K+ `1.2 统计分析
. {- k+ J8 `* p6 }( ^
+ M; U6 u( R% R3 |& ~


- K* }8 e* c: C3 V6 w( a: ?* y- L1 {2 S s
% r9 e F9 Z3 W/ O5 p: Z1.3 单因素方差分析表
4 h. X. n) z& M' K% r( g5 {将试验数据按上述分析、计算的结果排成表 2 的形式,称为单因素方差分析表 (Matlab 中给出的方差分析表)。
! d" r/ G4 O& I6 ]8 N* j; J
$ U$ X% J* M v7 o
9 O" j* n/ |8 _) i
5 m2 P$ v! J" g5 [ f6 `9 ~因素 A有无显著影响?
" m6 f8 W# r% d; F/ Q
2 Y) b) [) \! p4 S" |
3 O, j% I* p2 l% H3 T
6 G2 |4 D- T3 J
% _6 X3 C4 r' I3 C- y' r
1.4 Matlab 单因素方差分析函数anoval7 u% d9 j8 K7 f! y
Matlab 统计工具箱中单因素方差分析的命令是 anoval。
4 T7 \( F0 ?$ w! d6 Z
/ k: ]0 a" J4 S# F若各组数据个数相等,称为均衡数据。若各组数据个数不等,称非均衡数据。+ A9 [' F8 {0 K$ v
' c% X& M' r: C; J) s
(1)均衡数据( T0 D( J( n8 {$ g+ ~: h* H
; `' J8 |% G% D5 D- j' W
处理均衡数据的用法为:
0 k& O2 @% u) F, R- A
4 M/ M+ O- h' q; ?) Up=anoval(x) ( F' M7 F# p7 f. F, ]; X# A& q
/ S4 n. B/ M/ E5 [5 D, ]2 Y
1 ^ C f* z% b; b+ R$ r7 a
/ x3 T; O& v2 H0 R; B9 U. T. D) v
例 1 为考察 5 名工人的劳动生产率是否相同,记录了每人 4 天的产量,并算出其 平均值,如表 3。你能从这些数据推断出他们的生产率有无显著差别吗?

" S( ^$ z( m( X% P/ X9 Z( h
+ K( }. B* f. \1 O8 N解 编写程序如下:
! \2 e: J) @- O# D& S' Y% ?/ ?* c+ q. u4 @$ A# u$ u
x=[256 254 250 248 236 * {7 z% z( D2 f, X( q) S
242 330 277 280 252
4 ~+ y4 n+ U6 Y9 s7 Q6 a; U2 F 280 290 230 305 220
8 P; r1 N$ v6 A7 i+ v- o, V 298 295 302 289 252];
& r% R$ |7 C/ fp=anova1(x)
$ B9 w# _- j) N$ l! w1 H# `! s! k2 V2 m2 x$ e
* f) @. h8 u J: {& A! N( E" B
2 L/ n, x8 d& M r! @
(2)非均衡数据
处理非均衡数据的用法为:
4 X% r7 L" J" {+ n% ]% T
p=anova1(x,group) ; w( y- r0 v6 b$ B& h k
1 Q8 {$ c% Z7 M5 X4 j
) x. z( Q, K& @5 _5 j: H! O/ u" y. M4 b/ Q$ j

, ]- I; ~$ I/ [- y0 u) }! h3 m+ v m
例2 用4种工艺生产灯泡,从各种工艺制成的灯泡中各抽出了若干个测量其寿命, 结果如下表,试推断这几种工艺制成的灯泡寿命是否有显著差异。
# m3 m; _, Q) T( `! L/ V% h8 k. D O ~" o" S4 N' X) {. P0 h q
. V: E: l" m, D/ G' b' L) x
$ c* d& X3 V- ` v# m# L! d+ q解 编写程序如下:
- b) P( i; D; k& x5 a
2 |* X' H# c% V! ]3 Z, H1 Q# {: Ix=[1620 1580 1460 1500
0 I- x2 W" x$ C1 ~0 q) y9 U 1670 1600 1540 1550 ; U4 v w* H7 l4 [( y8 i& r
1700 1640 1620 1610
3 q& L, P6 [ q) N1 e) l 1750 1720 1680 1800]; ! g7 m2 J* a" D% ]
x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)]; & ?% B/ L: O0 S+ |- p) a
g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)];
2 L$ ^; a) H7 u+ Z* {p=anova1(x,g)
2 }8 D2 F0 U9 y- r, k: i5 G) t+ q) s. O7 R( q6 g, {) h
求得 0.01<p=0.0331<0.05,所以几种工艺制成的灯泡寿命有显著差异。
{, T" I2 T/ O9 v8 L8 C' ~8 `: @1 `, V$ O6 M/ |, s+ y
1.5 多重比较
" ~0 y2 w& S4 |0 A8 B在灯泡寿命问题中,为了确定哪几种工艺制成的灯泡寿命有显著差异,我们先算出 各组数据的均值:
, g$ ?8 x, d5 l L; M( y% M* z$ h- \$ l1 `% z7 ~

: U* i- h% l0 o+ |& U7 n, c) A m
虽然 的均值大,但要判断它与其它几种有显著差异,还需做多重比较。一般多重比较要对所有r 个总体作两两对比,分析相互间的差异。根据问题的具体情况可以 减少对比次数。
9 r' m2 O5 v" G* r( y3 ^" n5 C% x/ F; }2 A4 ~5 ~
对于上述问题,Matlab 多重比较的程序为
# L% q+ f: A5 T+ s8 _& B; R
2 h9 F! m# \6 R6 m4 l) wx=[1620 1580 1460 1500
4 P' V1 S) g* p3 _+ _ 1670 1600 1540 1550 7 q0 \/ u; W( W- g
1700 1640 1620 1610
! O9 u6 ~! V* L$ W" {) Y8 ^ 1750 1720 1680 1800];
2 }& n: \0 f9 C G0 P7 Q8 J. O, rx=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)];
5 ^, |1 x) c$ [; ~1 R( [7 c9 Fg=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)];
5 C0 s! x" t4 B1 e2 [% Z: M[p,t,st]=anova1(x,g) [c,m,h,nms] = multcompare(st); ' i0 Y9 b( u6 ^% R! s
[nms num2cell(m)]
# N" U7 h2 x- n/ Z- h4 Z
- a! i9 D R* p: z) F3 r1 w2 双因素方差分析
+ n% j$ h2 l2 S( x如果要考虑两个因素 A, B 对指标的影响, A, B 各划分几个水平,对每一个水平组 合作若干次试验,对所得数据进行方差分析,检验两因素是否分别对指标有显著影响, 或者还要进一步检验两因素是否对指标有显著的交互影响。 . c2 s0 b) R( [. T
. u# x: {! `1 `5 r2.1 数学模型
" ^5 w( g8 Q! ?* [1 q3 x
! e6 F0 D, R! o% O0 j# M

$ @8 M0 i/ e# r& v8 j8 g6 _( b
* ^% p, n' Y# J9 U2 U D
1 v$ h6 k. o/ D3 g5 \! `
3 g" D n9 h5 J) Z2 [ l
& z0 m5 q+ r- {6 X/ c1 V
% X5 v" [7 E0 S% L
7 l; J. j& B9 i2 _8 j, L4 y2.2 无交互影响的双因素方差分析
}% N) T4 X' P* `8 u+ i* k( r如果根据经验或某种分析能够事先判定两因素之间没有交互影响,每组试验就不必重复,即可令 t =1 ,过程大为简化。 ' w( W2 F9 U+ P" k# A/ |: b
0 Z& A2 @7 B' d" F总平方和分解 ( N/ e7 Y6 x9 ~! O' E* N/ B8 P! p
& c p) a' S0 _


3 `6 F0 r* |2 R' P! s/ {
: _% X' h$ \+ N! m2 y3 C$ d0 Y4 v" x/ W
各平方和的统计意义& h9 |/ Y! d5 U- ]
& D. ]6 a5 j" `
4 w' K0 k& V, O+ c% C6 c
2 f. v; l" d, k+ L1 `. U/ L! l2 P; v5 r
无交互效应的两因素方差分析表
) J' X% y' O) v' R9 H8 s$ h: h( _: m; p% [. b1 {% ^8 @( `
2 n9 O9 R4 d3 O2 u7 [1 q! J7 Z3 C8 ?
2.3 关于交互效应的双因素方差分析
5 m# J! n7 ]3 U3 s! r

8 Z7 B- x( V7 X& l" c. l. \
- |5 v7 m8 `) g! X1 G+ A* W% c w5 T
8 \* b; G& M# p9 Q" t s! ]7 ~6 z
检验因子 A和B 的各个水平的效应是否有差异,与 2.2 中的检验是一样的。 + f/ t% Q4 O2 o
; Q6 N. O$ W2 y
将试验数据按上述分析、计算的结果排成表 7 的形式,称为双因素方差分析表。
% T. Q' I" \7 A7 V6 H/ Z: M
* _) x. `0 E6 c( `+ ]( B双因素方差分析表
3 z; |& m9 \- D2 b& |
9 `1 T) L8 Q# f' w9 T2 x0 F4 m% q% R* q# E8 f# b, I
2.4 Matlab 双因素方差分析 :anova2
. w) e! K7 C) @; Z统计工具箱中用 anova2 作双因素方差分析。命令为/ v; {9 C4 f7 ?6 w$ X% J
3 n3 v! O: J% ~# w' _p=anova2(x,reps) [: F/ a8 G9 M2 o3 E
' `! z) s3 T& c" o" [
2 m; c. V! P% r% r
9 ~4 w1 S& M, s+ Q! N8 q' c4 k* @
9 o, r8 }& O! v5 _* y- G7 R b8 L8 S* s) }
其中 x 不同列的数据表示单一因素的变化情况,不同行中的数据表示另一因素的变化情 况。如果每种行—列对(“单元”)有不止一个的观测值,则用参数 reps 来表明每个“单 元”多个观测值的不同标号,即 reps 给出重复试验的次数t。% ?0 Q$ J/ W" n) \1 z% g, W% e
1 V# c! X8 B2 d( z
下面的矩阵中,列因素 有 3 种水平,行因素有两种水平,但每组水平有两组样本,相应地用下标来标识:
% Z4 N# m2 z( K8 G
( g. q+ g3 X7 ?- @. _" w! T
$ q% Z/ E" f8 {' o$ s& M
# |* u2 K* e; L* ]! z: N例 3 一种火箭使用了四种燃料、三种推进器,进行射程试验,对于每种燃料与每 种推进器的组合作一次试验,得到试验数据如表 8。问各种燃料之间及各种推进器之间 有无显著差异?
k1 q8 P9 p- P
C) t( l! N5 `) X
( E- A! l6 a: P( U5 f) Y; \, c4 p
编写如下的 Matlab 程序:
) L1 g9 f7 B1 a0 `. e0 I% e3 B6 z, H$ }
x=[58.2 56.2 65.3
( y- j4 D) v5 j" w- i& p 49.1 54.1 51.6 % T/ g. I! X8 O7 \
60.1 70.9 39.2 . C; _" s4 m& q) f( Y, k
75.8 58.2 48.7]; ' w$ ` Q4 G. H
[p,t,st]=anova2(x) * g% g; d, \, ?6 H! }; Z
2 n( C4 v, O* ^( h( u! P
$ E# L7 I+ U" r% x L) P% b
% d6 y6 _- Z6 M4 V2 T; k4 J3 F
求得p=0.4491 0.7387,表明各种燃料和各种推进器之间的差异对于火箭射程无显著影响。 " g/ Y8 D$ V' e4 y) h1 G3 E
) p! x B% R3 S' e* C, l 例 4 一火箭使用了 4 种燃料,3 种推进器作射程试验,每种燃料与每种推进器的 组合各发射火箭 2 次,得到如表 9 结果。# l2 [8 i1 a, R) A) p7 L+ M, z
+ \: G" O9 D* f

5 g |$ W0 D6 B* f' N7 Z& ~6 s: u7 P; v. c T
试在水平 0.05 下,检验不同燃料(因素 A)、不同推进器(因素B )下的射程是 否有显著差异?交互作用是否显著? " K0 x( ^, { \
4 x) X% w0 Q$ |* `3 @/ w
解 编写程序如下:
9 K9 S9 e5 G8 p/ d. N
# k5 [) N" B" ^. G+ B' Bclc,clear
8 O, M% P; m0 i+ i! Q9 q, F$ ?$ Fx0=[58.2,52.6 56.2,41.2 65.3,60.8
2 h6 h5 l x1 g, n S49.1,42.8 54.1,50.5 51.6,48.4
. N8 I' l; y8 K1 t- U+ E0 p60.1,58.3 70.9,73.2 39.2,40.7
0 A P' H2 p5 u) L9 U! W/ a* G- r75.8,71.5 58.2,51.0 48.7,41.4];
" M. H$ Q. n @4 Ix1=x0(:,1:2:5);x2=x0(:,2:2:6); ( b- l9 H: @) L, s/ c
for i=1:4
& Q; u- Q" O) c x(2*i-1,
=x1(i,
;
' C/ _8 t! A% R# F3 I$ C x(2*i,
=x2(i,
;
5 X+ `; ?3 J$ e2 Qend ; u: ?& v5 S" B; S& T) |& W [# ?
[p,t,st]=anova2(x,2)
% @- G- [! y5 Q
! t9 Z3 J a/ I' ?) X1 t3 n
+ Q6 r2 d: d! |6 K% S: u' o( o
! Y8 O- D5 d6 N! U求得 p=0.0035 0.0260 0.0001,表明各试验均值相等的概率都为小概率,故 可拒绝均值相等假设。即认为不同燃料(因素 A)、不同推进器(因素B )下的射程有 显著差异,交互作用也是显著的。
, t/ O% X1 ]; `+ W
' \! O9 t7 D* u/ _3 正交试验设计与方差分析
/ [, a u$ @# d前面介绍了一个或两个因素的试验,由于因素较少,我们可以对不同因素的所有可 能的水平组合做试验,这叫做全面试验。当因素较多时,虽然理论上仍可采用前面的方 法进行全面试验后再做相应的方差分析,但是在实际中有时会遇到试验次数太多的问 题。如三因素四水平的问题,所有不同水平的组合有 种,在每一种组合下只进 行一次试验,也需做 64 次。如果考虑更多的因素及水平,则全面试验的次数可能会大 得惊人。因此在实际应用中,对于多因素做全面试验是不现实的。于是我们考虑是否可以选择其中一部分组合进行试验,这就要用到试验设计方法选择合理的试验方案,使得试验次数不多,但也能得到比较满意的结果。
. \# D. O7 P, U* [( i) T
4 [" ]- T0 N5 ^3 @( A8 x0 j: s 3.1 用正交表安排试验 1 v; g+ P: c [1 d @

, ?0 y! K8 \9 e- {- n' X7 N' K: a' D+ H8 N
正交表的特点
- H! J5 D l- E( _
N* W3 t( ~1 R. N
# S3 e. t2 {; H$ {% M3 D. V
这种均衡性是一般正交表构造的特点,它使得根据正交表安排的试验,其试验结果具有很好的可比性,易于进行统计分析。 用正交表安排试验时,根据因素和水平个数的多少以及试验工作量的大小来考虑选用哪张正交表,下面举例说明。
$ P& W& T' H* r; v3 R$ g9 ~; m" q/ P: s, S
例 5 为提高某种化学产品的转化率(%),考虑三个有关因素:反应温度 A(℃), 反应时间B(min)和使用催化剂的含量C(%)。各因素选取三个水平,如表 11 所示。
0 [ s' ?6 y6 K9 T6 |" H1 h) p5 g( \4 e
" x. {# }! @, v; t
9 _7 b: Q* s" W7 z6 }+ r5 `8 X


3 W' N, g8 ]5 w: i. m; z& k! b, a* g; }/ v3 Y
5 e- l1 p" `2 Y V4 Y! w) @, |解 我们这里不作统计分析,直接利用 Matlab 多因素方差分析的函数 anovan 进行 求解,程序如下:
. W7 C1 ~( U: o/ z3 S! [6 m4 V6 I5 Q2 J" C2 U
y=[31 54 38 53 49 42 57 62 64]; 9 V7 @% [2 F5 T' M6 ^. _
g1=[1 2 3 1 2 3 1 2 3];
- Z9 j+ B$ I$ \: a& I9 Dg2=[1 1 1 2 2 2 3 3 3]; ; \( O& {! y8 M' w: m
g3=[2 1 3 1 3 2 3 2 1];
5 L. A Y( N& j[p,t,st]=anovan(y,{g1,g2,g3}), ?8 R- ]" t# a3 C7 d
" i: P: y# u5 e% S! [
1 F9 R8 g8 r* R% W' }$ a
求得概率 p= 0.1364 0.0283 0.0714,可见因素 B、C 的各水平对指标值的影响有显著差异(显著性水平取 0.1),而因素 A的各水平对指标值的影响无显著差异。 + I0 ~2 t. _1 A; ~8 ?: H
$ |5 {$ C9 K6 ~0 t3 \
7 b( a/ g4 r# Q; E% V" d) C& z9 w& D, {. I
方差分析习题集
- E1 L/ Q" o" Z2 w, E4 X1. 将抗生素注入人体会产生抗生素与血浆蛋白质结合的现象,以致减少了药效。 表 13 列出 5 种常用的抗生素注入到牛的体内时,抗生素与血浆蛋白质结合的百分比。 试在水平 α =0.05 下检验这些百分比的均值有无显著的差异。设各总体服从正态分布, 且方差相同。
; t' m; f* C5 }# L" M1 J. N/ r4 }" z2 G ^+ ]+ C& s
+ w+ ^+ m. V3 k- k, c
' y' X$ q% {2 e, \
2. 为分析 4 种化肥和 3 个小麦品种对小麦产量的影响,把一块试验田等分成 36 小块,对种子和化肥的每一种组合种植 3 小块田,产量如表 14 所示(单位公斤),问品 种、化肥及二者的交互作用对小麦产量有无显著影响。
6 W5 [0 S( a9 d* @/ A/ a6 k( y9 S2 Y* V* F% |

% e7 v; `5 q$ k5 i" T5 A. I- v3 [/ F l! K0 C9 T* q
3.(三因素方差分析)某集团为了研究商品销售点所在的地理位置、销售点处的 广告和销售点的装潢这三个因素对商品的影响程度,选了三个位置(如市中心黄金地段、 非中心的地段、城乡结合部),两种广告形式,两种装潢档次在四个城市进行了搭配试 验。表15是销售量的数据,试在显著水平0.05下,检验不同地理位置、不同广告、不同 装潢下的销售量是否有显著差异?
- r K! ^. L3 a" P$ W$ y* i2 ]9 T7 k! E$ n% @
7 b- O9 U8 v6 n
2 z/ ?7 m' ]1 ~' @" \' v! l# S0 l3 E7 S7 y
; ~, T$ w9 G3 D1 K
————————————————: t. u; @0 _1 d
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
8 s3 D5 u& F* }; @3 k5 ?原文链接:https://blog.csdn.net/qq_29831163/article/details/89508367
p- b# M8 H$ @7 [: i6 h$ W5 m4 t! X( x7 h
I5 {+ ]" h* Z2 S! s0 i+ n
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |