分散分析

分散分析
2003 年度版
横山 暁
塩谷昌典
実験結果,または観測結果はいろいろな環境状況によってその都度種々の値をとり得る。回帰分
析は,環境をあらわす説明変数がそれぞれある値をとった場合,そのときの目的変数の値を用い
て分析を行うものである。
分散分析では,結果に影響を与える要因を,説明変数と言わず因子という。また,因子のとる
値を水準という。例えば,ある化学反応による生成物質の量を測定するものとする。このとき原
料の成分,量,原料の温度,化学反応時の温度,湿度,触媒の種類,実験器具の種類,実験者の
精神状態,午前中の実験か午後の実験か,…等々,いくつもの要因が因子として考えられる。
これらの因子のうちのいくつかは,水準として実数の値をとらないものがあることに注意す
る。分散分析は,実数値をとらない因子,もしくは実数値をとってもそれらを水準というクラス
に分け,それを説明変数として分析する手法である。従って分散分析を回帰分析という見地から
みると,分散分析は説明変数が 0 または 1 をとる場合の回帰分析ということができる。
また分散分析では因子の中でも制御可能な因子と,そうでない因子と意識して区別する必要が
ある。原料の量,反応時の温度,使用する触媒の種類などは制御可能,実験者,実験器具の種類,
午前・午後の実験などは制御不可能な場合が多い。さらに可制御,不可制御は別として単に実験
の精度をあげるためにとりあげる因子(これをブロック因子という)もある。この意味からする
と,分散分析は回帰分析の特別な場合ではなく,目的の異なった分析手法といえる。
1 分散分析表の計算法
1.1 1 元配置
1 元配置とは,因子を 1 つだけ取り上げ,それに複数個の水準を選び,その水準の間の比較を
行うものである。
因子 A A1 , A2 , . . . , Aa :a 水準
繰り返し n
データの構造模型
xi j = µ + αi + ei j ,
i = 1, 2, . . . , a
j = 1, 2, . . . , n
µ :一般平均
αi :Ai での効果,∑ai=1 αi = 0
ei j :N.I.D.(µ , σ 2 )
実験データ
A
A1
A2
...
Aa
繰
1
x11
x21
...
xa1
り
返
2
..
.
x12
..
.
x22
..
.
...
..
.
xa1
..
.
し
n
x1n
x2n
...
xan
x1·
x2·
...
xa·
計
1
a
n
ST = ∑ ∑ (xi j − x̄·· )2
総平方和
i=1 j=1
a n
a
A 間平方和 SA = ∑ ∑ (x̄i· − x̄·· )2 = n ∑ (xi· − x̄·· )2
i=1 j=1
a n
i=1
Se = ∑ ∑ (xi j − x̄i· )2
残差平方和
i=1 j=1
A 間平方和の自由度 φA =(A の水準数)− 1 = a − 1
総平方和の自由度 φT =(全データ数)− 1 = an − 1
誤差平方和の自由度 φe =(総平方和の自由度)−(A 間平方和の自由度)= φT − φa = a(n − 1)
実際に分散分析表を作るときには,
a
n
∑ ∑ (xi j − x̄·· )2 . . . ,
i=1 j=1
a
n ∑ (xi· − x̄·· )2 . . .
i=1
などを直接計算せず,次の手順に従って平方和を計算する。
(全データの合計)2
x·· 2
=
全データ数
an
(1) CT =
CT を修正項という
a
n
(2) ST =(個々のデータの 2 乗和)−CT = ∑ ∑ xi j 2 −CT
i=1 j=1
a
(Ai
(3) SA = ∑
2
水準でのデータの合計)
−CT =
Ai 水準でのデータ数
(4) Se = 総平方和 − A 間平方和 = ST − SA
i=1
1 a 2
∑ xi· −CT
n i=1
分散分析表
要因
平方和
自由度
平均平方
F0
A
SA
φA = a − 1
VA = SA /φA
FA = VA /Ve
誤差
Se
φe = a(n − 1)
Ve = Se /φe
計
ST
φT = an − 1
因子 A を因子として採用することに意味があるかどうか,すなわち有意であるかどうか調べる
ためには F 分布を用いる。A 間には差がないという仮説 H0 : α1 = α2 = · · · = αa = 0 を立て,検
定によって H0 が棄却できるか(有意か)どうかを調べる。
有意水準としては,普通 5% かまたは 1% が用いられる(α = 0.05 または 0.01)。FA の値が
φ
FφeA (0.05)
φ
の値よりも大きく,FφeA (0.01) の値よりも小さければ,有意水準 5% の検定で,A 間に
φ
差がないという仮説は棄却され,このことを 5% 有意という。また,FA の値が FφeA (0.01) の値よ
りも大きければ 1% 有意あるいは高度に有意であるという。
5% 有意のときには ∗ を,1% 有意のときには ∗∗ を,FA の数値の右肩につけることにする。
また最適水準の決定は Ai 水準が最適であるとすると,
Ai 水準での推定量 µ̂ (Ai ) = x̄i·
r
α
Ve
Ai 水準での 100(1 − α )% 信頼区間 x̄i· ± t(φe , )
2
n
となる.
2
1.2 2 元配置(繰り返しがある場合)
2 元配置とは,因子を 2 つ取り上げ,2 つの水準の組み合わせすべてについての実験をして,
水準間の比較を行うものである。
因子 A A1 , A2 , . . . , Aa :a 水準
因子 B B1 , B2 , . . . , Bb :b 水準
繰り返し
n
xi jk = µ + αi + β j + (αβ )i j + ei jk ,
データの構造模型
i = 1, 2, . . . , a
j = 1, 2, . . . , b k =
1, 2, . . . , n
µ :一般平均
αi :Ai での効果,∑ai=1 αi = 0
β j :Bi での効果,∑bj=1 β j = 0
(αβ )i j :Ai B j での 2 因子交互作用効果,∑ai=1 (αβ )i j = ∑bj=1 (αβ )i j = 0
ei jk :N.I.D.(µ , σ 2 )
実験データ
A1
A2
...
Aa
計
B1
x111 , x112 , · · · , x11n
x211 , x212 , · · · , x21n
...
xa11 , xa12 , · · · , xa1n
x·1·
B2
..
.
x121 , x122 , · · · , x12n
..
.
x221 , x222 , · · · , x22n
..
.
...
..
.
xa21 , xa22 , · · · , xa2n
..
.
x·2·
..
.
Bb
x1b1 , x1b2 , · · · , x1bn
x2b1 , x2b2 , · · · , x2bn
...
xab1 , xab2 , · · · , xabn
x·b·
計
x1··
x2··
...
xa··
x···
b
a
総平方和
ST = ∑ ∑
n
∑ (xi jk − x̄··· )2
i=1 j=1 k=1
a
A 間平方和 SA = bn ∑ (x̄i·· − x̄··· )2
i=1
b
B 間平方和 SB = an ∑ (x̄· j· − x̄··· )2
j=1
a
b
A × B 間平方和 SA×B = n ∑ ∑ (x̄i j· − x̄i·· − x̄· j· + x̄··· )2
a
残差平方和
b
Se = ∑ ∑
i=1 j=1
n
∑ (xi jk − x̄i j· )2
i=1 j=1 k=1
A 間平方和の自由度 φA =(A の水準数)− 1 = a − 1
B 間平方和の自由度 φB =(B の水準数)− 1 = b − 1
A × B 間平方和の自由度 φA×B =(A の自由度)×(B の自由度)= (a − 1)(b − 1)
総平方和の自由度 φT =(全データ数)− 1 = abn − 1
誤差平方和の自由度 φe =(総平方和の自由度)− ∑(各平方和の自由度)
= φT − φA − φB − φA×B = ab(n − 1)
3
実際に分散分析表を作るときには,
a
b
n
∑∑
a
∑ (xi jk − x̄··· )2 . . . ,
b
n ∑ ∑ (x̄i j· − x̄i·· − x̄· j· + x̄··· )2 . . .
i=1 j=1 k=1
i=1 j=1
などを直接計算せず,次の手順に従って平方和を計算する。
2
(全データの合計)
x··· 2
=
全データ数
abn
(1) CT =
CT を修正項という
a
b
(2) ST =(個々のデータの 2 乗和)−CT = ∑ ∑
n
∑ xi jk 2 −CT
i=1 j=1 k=1
a
(Ai
(3) SA = ∑
2
水準でのデータの合計)
Ai 水準でのデータ数
i=1
−CT =
1 a
∑ xi·· 2 −CT
bn i=1
2
1 a
(Bi 水準でのデータの合計)
−CT =
SB = ∑
x· j· 2 −CT
∑
Bi 水準でのデータ数
an i=1
j=1
a b
2
(Ai B j 水準でのデータの合計)
1 a b
−CT = ∑ ∑ xi j· 2 −CT
(4) SAB = ∑ ∑
Ai B j 水準でのデータ数
n i=1 j=1
i=1 i=1
b
SA×B = SAB − SA − SB
(5) Se = 総平方和 − A 間平方和 − B 間平方和 − A × B 間平方和
= ST − SA − SB − SA×B = ST − SAB
分散分析表
要因
平方和
自由度
平均平方
F0
A
SA
φA = a − 1
VA = SA /φA
FA = VA /Ve
B
SB
φB = b − 1
VB = SB /φB
FB = VB /Ve
A×B
SA×B
φA×B = (a − 1)(b − 1)
VA×B = SA×B /φA×B
FA×B = VA×B /Ve
誤差
Se
φe = ab(n − 1)
Ve = Se /φe
計
ST
φT = abn − 1
1元配置の場合と同様に,各要因が有意かどうかを調べ,5% 有意のときには ∗ を,1% 有意
のときには ∗∗ を,FA , FB の数値の右肩につける。
また,最適水準の決定は,交互作用 A × B がない時は,
Ai 水準での推定量 µ̂ (Ai ) = x̄i··
r
α
Ve
Ai 水準での 100(1 − α )% 信頼区間 x̄i·· ± t(φe , )
2
bn
B j 水準での推定量 µ̂ (B j ) = x̄· j·
r
α
Ve
B j 水準での 100(1 − α )% 信頼区間 x̄· j· ± t(φe , )
2
an
交互作用があるときは,
Ai B j 水準での推定量 µ̂ (Ai B j ) = x̄i j·
r
α
Ve
Ai B j 水準での 100(1 − α )% 信頼区間 x̄i j· ± t(φe , )
2
n
となる.
4
2 例および課題
実際の実験において分散分析を行う場合,因子や水準を決めねばならない。例えば,反応時の
温度 120 ℃,140 ℃,160 ℃などという水準は量的であるといい,用いる触媒として金,白金,
バナジウム等を用いるときの水準は質的であるという。すなわち,温度は量的因子,触媒は質的
因子ということになる。質的因子には水準間に距離関係が存在しないが,量的因子には水準間に
明白な距離関係が存在する。水準の選び方は制御目的によって決められるが,量的因子の場合に
は,のちの解析の容易さおよび精度の観点から,等間隔にとるのが普通である。
2.1 実験
鉄板,ステンレス,プラスチック等の成形には,金型によるプレスが用いられる。金型材は,
鉄に炭素,マンガン,ニッケルなどを適当に混ぜたもので,加工時は柔らかいが焼き入れするこ
とにより硬くなり,プレス時の磨耗に耐えられるようにした,一般に特殊鋼と呼ばれる鋼であ
る。炭素工具鋼(SK),ダイス鋼(SKD)がその代表的なものである。
金型材をいくら精密に加工しても,焼き入れや焼鈍時にひどい歪みが生じては何にもならな
い。金型材の焼き入れ,および焼鈍に対する形状変化について調べたところ,炭素工具鋼(SK)
,
ダイス鋼(SKD)の歪みに最も影響を与えそうな多くの因子の中から,(1)焼き入れ温度,(2)
加熱速度,(3)焼鈍温度,(4)冷却速度の 4 つに絞られた。過去の経験および技術的な知識か
ら,それそれの因子の適度な水準は次の表のようになっている。
因子およびその水準の適度な範囲
因子
水準の範囲
焼き入れ温度
800 ℃ ∼ 1300 ℃
加熱速度
1 ℃/分 ∼ 3 ℃/分
焼鈍温度
150 ℃ ∼ 580 ℃
冷却速度
3 ℃/分 ∼ 9 ℃/分
そこで,うまく水準を選んで実験し,歪みが小さくなる水準を探したい。
2.2 手順
(1) 学籍番号の末尾が偶数のときは SK を,奇数のときは SKD を対象とする。ただし,シミュ
レータによって自動的に選択される。
(2) 焼き入れ温度の各水準間の差が歪みに影響するかどうかを調べるために,焼き入れ温度を
因子として 1 元配置実験を行う。
(3) 1 元配置実験の結果を元に分散分析表を作成する。
(4) 過去の経験および技術的な知識から,焼鈍温度と冷却速度に交互作用があることがわかっ
た。そこで,これら 2 つを因子とする 2 元配置実験を行う。
(5) 2 元配置実験の結果を元に分散分析表を作成する。
5
2.3 実験方法
実験のシミュレーションには J の ex という関数を用いる。これは,金型材の歪みの値を擬似
的に算出するシミュレータだと思ってよい。
マシンが起動したら,演習に使うファイルを準備する.プロンプトで,
% cp ~y09197/bunsan.ijs ~
(この場合,各ユーザのホームディレクトリが作業ディレクトリとなる.)
次に J を起動する。
% jwindow &
プロンプトでは警告が出るが影響はないので,そのままにしておく。起動すると J の新しいウィ
ンドウが開き,さらに「Welcome to J5.01a」というメッセージウィンドウが開くので,右下のボ
タンでこれを閉じる。
まず最初に,必要なファイルを読み込む。
load ’bunsan.ijs’
ここから,実験のシミュレーションに入る。まず,1 元配置実験の水準を考える。水準数は 3
とする。ただし,その水準は各自で設定する*1 。水準の値は,前述の表を参照して決める。それ
以外の値は全員同じで,加熱速度は 2 ℃/分,焼鈍温度 300 ℃,冷却速度は 6 ℃/分 とする。ま
た,繰り返し数は 4 回とする。
suijun1=: 4 setdata 800 1050 1300 ; 2 ; 300 ; 6
( 繰り返し数
└各自決める┘
全員同じ値 )
水準が決まったら実験を行う。
1 ex suijun1
自分の学籍番号を入力する。
Input Register Number
6992****
すると実験結果の歪みが表示される。
+--------+---+
|6992****|SKD|
+--------+---+
2.5469 2.53157 2.54576 2.53988
2.48308 2.48224 2.49412 2.49179
2.59141 2.5859 2.59617 2.58912
END
各行が同じ水準での繰り返しである。この結果を元に各値を計算し,1 元配置実験の分散分析表
を作成する。また,有意となったとき,最適水準の信頼区間を計算する。
*1
例として,焼き入れ温度の水準を,800 ℃,1050 ℃,1300 ℃とする。
6
この結果は,作業ディレクトリの kekka1.dat というファイルに書き込まれている。
次に 2 元配置実験を行う。2 因子の水準数は焼鈍温度を 4 水準,冷却速度を 3 水準とする。た
だし,その水準は各自で設定する*2 。水準の値は,前述の表を参照して決める。それ以外の値は
全員同じで,焼き入れ温度は 1000 ℃,加熱速度は 2 ℃/分とする。また,繰り返し数は 2 回と
する。
suijun2=: 2 setdata 1000 ; 2 ; 160 280 400 520 ; 3 6 9
( 繰り返し数
全員同じ値
└
各自決める
┘ )
そして,この水準で 2 元配置実験を行う。
2 ex suijun2
自分の学籍番号を入力する。
Input Register Number
6992****
すると実験結果が表示される。
+--------+---+
|6992****|SKD|
+--------+---+
10.3836
10.3639
6.64764
6.6498
3.98947
3.99367
5.69469
2.95124
1.25137
5.72084
2.94877
1.24313
2.62318
2.61239
0.829161 0.817383
0.086927 0.0870066
1.1192
0.292162
0.512795
END
1.10397
0.271287
0.517298
各行が同じ水準での繰り返しで,各ブロックは 4 水準に対応し,ブロック内での 3 行は 3 水準に
対応する。
この結果を元に各値を計算し,2 元配置実験の分散分析表を作成する。また,検定で有意と
なったとき,その因子の最適水準の信頼区間を計算する。
この結果も,作業ディレクトリの kekka2.dat というファイルに書き込まれている。
J で歪みの値を取り終えたら,J は終了してよい。ただし,J を終了すると歪みの値は消えてし
まうので,各自で対処しておくようにする。また,作業ディレクトリには 1 元配置,2 元配置そ
*2
例として,焼鈍温度の水準を 160 ℃,280 ℃,400 ℃,520 ℃,冷却速度の水準を 3 ℃/分,6 ℃/分,9 ℃/分 とす
る。
7
れぞれにおいて,最後の実験結果が保存されるので,複数回実験を行った場合には,最後の結果
を用いるようにする。
最後に,作業ディレクトリに保存された kekka1.dat と kekka2.dat を配付したフロッピー
にコピーする.作業ディレクトリで,
% mcopy kekka1.dat kekka2.dat a:
とする.これを行わないとレポートの採点が出来ないので十分に注意すること.
2.4 課題
(1) 1 元配置実験で選択した水準の値を書け。
(2) 1 元配置実験の分散分析表の値を計算するにあたり,CT を計算せよ。また,分散分析表
を計算し,因子が有意のときの最適水準における信頼区間を求めよ。
(3) 2 元配置実験で選択した水準の値を書け。
(4) 2 元配置実験の結果から,交互作用のグラフを作成せよ。
(5) 2 元配置実験の分散分析表の値を計算するにあたり,CT を計算せよ。また,分散分析表を
計算し,検定で有意のとき,交互作用の有無により最適水準における信頼区間を求めよ。
(6) これらの実験および結果を考察せよ。
(7) 配布されたフロッピーに kadai.txt というテキストファイルを作り,
a
1 行目に
∑ xi· 2 の値,
i=1
a
2 行目に
∑ xi·· 2 の値,
i=1
a b
3 行目に
∑ ∑ xi j· 2 の値,
i=1 j=1
r
α
Ve
4 行目に 1 元配置で計算した信頼区間の信頼幅 2 × t(φe , )
を書き,保存して提出
2
n
せよ。
例
8