統計学 学習ノート

統計検定の4級から1級まで、出題範囲の順に記事と練習問題で学ぶ

準1級-25 応用統計の手法

分散分析と実験計画法

  • フィッシャーの三原則
  • 1元配置
  • 2元配置
  • 分散分析表
  • 交互作用
  • ブロック化
  • 乱塊法
  • 一部実施要因計画
  • 直交配列
  • ブロック計画

はじめに

「条件を1つずつ変えて試せば、最高の組み合わせが見つかるんじゃないの?」

例えば、ケーキの焼き方を調べるとしましょう。いつもの「低温・短時間」は60点でした。温度は低温のまま時間だけ長くすると75点に上がったので、時間は「長」に決めます。次に、時間を長のまま温度を上げると55点に下がったので、温度は「低」に決めます。こうして、「低温・長時間」の75点が最高だと結論しました。

でも、試していない組み合わせが1つ残っています。実は、「高温・短時間」は85点だったのです。温度の効き方が時間によって変わるとき、1つずつ変える方法では最高の組み合わせを見逃します。

そこで登場するのが、今回の主役 実験計画法 です。実験計画法とは、限られた回数の実験から、知りたい効果を正しく、効率よく取り出すように、実験の組み方を設計する方法です。その結果を読む道具が 分散分析 です。

前回の記事では、生存時間とニューラルネットワークを学び、回帰の話題を終えました。今回の記事では、2級で学んだ分散分析を構造模型から読み直し、2元配置と交互作用、乱塊法とブロック計画、一部実施要因計画と直交配列まで解説します。

1元配置:分散分析表を構造模型から読み直す

はじめに、実験計画の土台と1元配置について解説します。

2級で学んだ フィッシャーの三原則 を思い出しましょう。

【フィッシャーの三原則】

  1. 反復: 同じ条件を繰り返す。誤差の大きさを見積もるため
  2. 無作為化: 実験の順序や割り当てをくじで決める。偏りを誤差に変えるため
  3. 局所管理: 似た条件をまとめて、その中で比べる。ノイズを減らすため

局所管理の代表が、ブロック化 です。これは後で詳しく見ます。

さて、因子が1つで、aa 個の水準をそれぞれ rr 回ずつ繰り返す実験が 1元配置 です。2級では「群間変動と群内変動に分ける」と学びました。準1級では、これをモデルの式で書きます。

yij=μ+αi+εij,∑i=1aαi=0,εij∼N(0,σ2)y_{ij} = \mu + \alpha_i + \varepsilon_{ij}, \qquad \sum_{i=1}^{a} \alpha_i = 0, \qquad \varepsilon_{ij} \sim N(0, \sigma^2)

yijy_{ij} は ii 番目の水準の jj 回目の値、μ\mu は全体の平均、αi\alpha_i は水準の効果、εij\varepsilon_{ij} は互いに独立な誤差です。検定したいのは H0:α1=⋯=αa=0H_0: \alpha_1 = \dots = \alpha_a = 0 です。

全体の平方和 STS_T は、水準の平方和 SAS_A と誤差の平方和 SES_E に分かれます。

∑i,j(yij−yˉ)2⏟ST=r∑i(yˉi−yˉ)2⏟SA+∑i,j(yij−yˉi)2⏟SE\underbrace{\sum_{i,j} (y_{ij} - \bar{y})^2}_{S_T} = \underbrace{r\sum_{i} (\bar{y}_{i} - \bar{y})^2}_{S_A} + \underbrace{\sum_{i,j} (y_{ij} - \bar{y}_{i})^2}_{S_E}

yˉi\bar{y}_i は水準ごとの平均、yˉ\bar{y} は全体の平均です。

この分解を表にしたものが 分散分析表 です。ここで、なぜ FF 比で検定できるのでしょうか? 水準の平均平方(平方和を自由度で割ったもの)を VAV_A、誤差の平均平方を VEV_E として、それぞれの期待値を見ると分かります。yˉi−yˉ=αi+(εˉi−εˉ)\bar{y}_i - \bar{y} = \alpha_i + (\bar{\varepsilon}_i - \bar{\varepsilon}) を2乗して期待値をとると、次の式になります。

E[VA]=σ2+r∑iαi2a−1,E[VE]=σ2E[V_A] = \sigma^2 + \frac{r \sum_i \alpha_i^2}{a - 1}, \qquad E[V_E] = \sigma^2

言葉で言うと、VEV_E はつねに誤差の分散を見積もります。一方で、VAV_A は効果があるぶんだけ大きくなります。綱引きの審判に例えると、VEV_E は基準の物差しで、VAV_A は「物差し + 効果」です。H0H_0 が正しければ比はおよそ1になり、効果があれば1より大きくなります。効果があるときの FF 比は、前に学んだ非心F分布に従います。

例題:1元配置の分散分析表を作る

3種類の肥料で、4鉢ずつの収量を測りました。

肥料収量平均
A12, 14, 13, 1714
B16, 18, 15, 1917
C20, 19, 22, 1920

分散分析表を作って、有意水準5%で検定しましょう。F0.05(2,9)=4.26F_{0.05}(2, 9) = 4.26 です。

【解き方】

  1. 全体の平均は17なので、SA=4×(9+0+9)=72S_A = 4 \times (9 + 0 + 9) = 72
  2. 水準の中の偏差を2乗して足すと、SE=14+10+6=30S_E = 14 + 10 + 6 = 30
  3. 自由度は a−1=2a - 1 = 2、a(r−1)=9a(r - 1) = 9
  4. 表にまとめる
要因平方和自由度平均平方FF 比
肥料7223610.8
誤差3093.33
全体10211

10.8>4.2610.8 > 4.26 なので、H0H_0 を棄却します。答えは、肥料によって収量に差がある、です。

以上が、1元配置についての解説です。

2元配置と交互作用:組み合わせの効果を調べる

次に、因子が2つの実験について説明します。

因子 AA(aa 水準)と因子 BB(bb 水準)のすべての組み合わせで、rr 回ずつ実験するのが 2元配置 です。ここで主役になるのが 交互作用 です。交互作用とは、一方の因子の効果が、もう一方の因子の水準によって変わることです。

薬の飲み合わせを思い浮かべてください。薬Aも薬Bも単独なら少し効くのに、一緒に飲むと急に強く効くことがあります。これは「Aの効果 + Bの効果」では説明できません。この足し算から外れた分が交互作用です。冒頭のケーキの例も同じで、温度の効果が時間によって逆向きになっていました。

モデルの式は次のとおりです。

yijk=μ+αi+βj+(αβ)ij+εijky_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \varepsilon_{ijk}

αi\alpha_i と βj\beta_j を 主効果、(αβ)ij(\alpha\beta)_{ij} を交互作用と呼びます。全体の平方和は4つに分かれます。

ST=SA+SB+SAB+SES_T = S_A + S_B + S_{AB} + S_E

SABS_{AB} は、セルの平均の平方和から SAS_A と SBS_B を引いて求めます。自由度は次のとおりです。

【2元配置の自由度】

  • 因子 AA: a−1a - 1
  • 因子 BB: b−1b - 1
  • 交互作用: (a−1)(b−1)(a - 1)(b - 1)
  • 誤差: ab(r−1)ab(r - 1)
  • 全体: abr−1abr - 1

交互作用の有無は、水準の平均を線で結んだ図で読み取れます。線が平行なら交互作用はなく、線の間隔が変わったり交差したりしていれば、交互作用があります。

例題:2元配置の分散分析

肥料(AA:2水準)と水やりの回数(BB:3水準)の組み合わせで、2回ずつ実験しました。

B1B_1B2B_2B3B_3
A1A_110, 1214, 1618, 20
A2A_212, 1420, 2230, 28

交互作用を検定しましょう。F0.05(2,6)=5.14F_{0.05}(2, 6) = 5.14 です。

【解き方】

  1. セルの平均は、A1A_1 が 11, 15, 19、A2A_2 が 13, 21, 29。全体の平均は18
  2. 水準の平均は、AA が 15, 21、BB が 12, 18, 24
  3. SA=6×(9+9)=108S_A = 6 \times (9 + 9) = 108、SB=4×(36+0+36)=288S_B = 4 \times (36 + 0 + 36) = 288
  4. セルの平方和は 2×{49+9+1+25+9+121}=4282 \times \{49 + 9 + 1 + 25 + 9 + 121\} = 428 なので、SAB=428−108−288=32S_{AB} = 428 - 108 - 288 = 32
  5. 各セルの中の平方和はどれも2なので、SE=2×6=12S_E = 2 \times 6 = 12
要因平方和自由度平均平方FF 比
AA108110854
BB288214472
A×BA \times B322168
誤差1262
全体44011

交互作用の FF 比は 8>5.148 > 5.14 なので有意です。A2A_2 と A1A_1 の差が 2, 6, 10 と広がっていることと合っています。つまり、水やりが多いほど肥料の差が大きいのです。交互作用が有意なときは、主効果だけを語らず、組み合わせごとに結果を述べます。

試験のポイント:繰り返しのない2元配置(r=1r = 1)では、ab(r−1)=0ab(r - 1) = 0 で誤差の自由度がありません。交互作用がないと仮定して、SABS_{AB} にあたる部分を誤差とみなします。

以上が、2元配置と交互作用についての説明です。

乱塊法とブロック計画:ノイズを取り除く

続いて、局所管理を実験の形にする方法を解説します。

ブロック化 は、実験の場を似た条件のまとまりに分けることでした。乱塊法 は、ブロックの中で、すべての処理を無作為に割り当てる実験です。乱塊は「乱(無作為)」と「塊(ブロック)」という意味です。

畑が斜面にあるとしましょう。上の段と下の段では、土の質が違います。肥料Aを上の段だけに使うと、肥料の差か土の差か分かりません。そこで、段ごとに3種類の肥料をくじで割り当てます。どの段でも全種類を比べるので、段の差は打ち消されます。

モデルは、繰り返しのない2元配置と同じ形です。処理の数を tt、ブロックの数を bb とします。

yij=μ+τi+ρj+εijy_{ij} = \mu + \tau_i + \rho_j + \varepsilon_{ij}

τi\tau_i が処理の効果、ρj\rho_j がブロックの効果です。誤差の自由度は (t−1)(b−1)(t-1)(b-1) です。ブロックの平方和を誤差から取り除けるのが、この方法の強みです。

例題:乱塊法の効果を確かめる

3種類の肥料を、土の質が違う4つの区画で試しました。

肥料区画1区画2区画3区画4平均
A2124273226
B2327323429
C2630333932

全体の平方和は ST=302S_T = 302、処理の平方和は S処理=72S_{\text{処理}} = 72、ブロックの平方和は Sブロック≈224.67S_{\text{ブロック}} \approx 224.67 です。乱塊法としての FF 比と、ブロックを無視して1元配置で分析したときの FF 比を比べましょう。

【解き方】

  1. 乱塊法の誤差: 302−72−224.67=5.33302 - 72 - 224.67 = 5.33、自由度 2×3=62 \times 3 = 6、平均平方は約0.89
  2. 乱塊法の FF 比: 36÷0.89=40.536 \div 0.89 = 40.5 で、F0.05(2,6)=5.14F_{0.05}(2, 6) = 5.14 を超える
  3. 1元配置の誤差: 302−72=230302 - 72 = 230、自由度9、平均平方は約25.6
  4. 1元配置の FF 比: 36÷25.6≈1.4136 \div 25.6 \approx 1.41 で、F0.05(2,9)=4.26F_{0.05}(2, 9) = 4.26 を超えない

答えは、乱塊法では有意で、1元配置では有意になりません。同じデータでも、区画の差が誤差に混ざると、肥料の差が埋もれてしまうのです。誤差の自由度は3つ減りますが、ノイズが大きく減るなら十分に得をします。

ところで、ブロックの中に全処理が入らないこともあります。例えば、7種類のスープの味を比べたいのに、1人が味の違いを判断できるのは3種類までだとします。1人が1つのブロックです。このように、ブロックの大きさが処理の数より小さいものを 不完備ブロック と呼びます。全処理が入る乱塊法は 完備ブロック です。

割り当てをでたらめに決めると、比べやすい組とそうでない組ができます。そこで、どの処理の組も同じ回数だけ同じブロックに入るように組みます。これが 釣合い型不完備ブロック計画(BIBD)です。こうしたブロックの組み方を ブロック計画 と呼びます。処理の数を vv、ブロックの数を bb、ブロックの大きさを kk、各処理の反復数を rr、各組が同じブロックに入る回数を λ\lambda とすると、次の2つの条件が必要です。

bk=vr,λ(v−1)=r(k−1)bk = vr, \qquad \lambda(v - 1) = r(k - 1)

1つ目は「総区画数の数え方が2通りある」という式です。2つ目は、ある処理に注目して、同じブロックに入る相手の延べ人数を2通りに数えた式です。例えば、スープの例で v=7v = 7、k=3k = 3、b=7b = 7 なら、r=7×3÷7=3r = 7 \times 3 \div 7 = 3、λ=3×2÷6=1\lambda = 3 \times 2 \div 6 = 1 です。どの2種類のスープも、ちょうど1人に比べてもらえます。

補足(ここは読み飛ばしてOK): ブロックの要因が2つあるときは、ラテン方格法を使います。行と列の両方に各処理が1回ずつ入るように並べる計画です。

以上が、乱塊法とブロック計画についての解説です。

一部実施要因計画と直交配列:回数を減らす

最後に、因子が多いときの実験の組み方を見ていきましょう。

2水準の因子が kk 個あると、すべての組み合わせは 2k2^k 通りです。これを 完全実施要因計画 と呼びます。因子が7個なら 27=1282^7 = 128 回です。とても全部はできません。

そこで、組み合わせの一部だけを実施するのが 一部実施要因計画 です。全種類の味見をせず、代表の数皿で料理全体を判断するようなものです。もちろん、代償があります。

水準を −1-1 と +1+1 で表して、3因子 A,B,CA, B, C を4回で調べるとします。CC の水準を AA と BB の積に等しく決めると、次の組み合わせになります。

実験AABBC=ABC = AB
1−1-1−1-1+1+1
2+1+1−1-1−1-1
3−1-1+1+1−1-1
4+1+1+1+1+1+1

CC の列と ABAB の列は同じです。したがって、CC の主効果と A×BA \times B の交互作用は区別できません。これを 交絡(別名の関係)と呼びます。全部の列をかけると1になるので、I=ABCI = ABC と書き、これを 定義関係 と呼びます。両辺に AA をかけると A=BCA = BC で、B=ACB = AC、C=ABC = AB も同じように出ます(2乗は II になる)。

要するに、主効果を読むには、交互作用が無視できることが前提です。

例題:2水準の一部実施の主効果

上の4回の実験の結果は、順に 10, 18, 12, 24 でした。主効果を求めましょう。

【解き方】

  1. AA の主効果: +1+1 の平均 (18+24)/2=21(18 + 24)/2 = 21 から −1-1 の平均 (10+12)/2=11(10 + 12)/2 = 11 を引いて10
  2. BB の主効果: (12+24)/2−(10+18)/2=18−14=4(12 + 24)/2 - (10 + 18)/2 = 18 - 14 = 4
  3. CC の主効果: (10+24)/2−(18+12)/2=17−15=2(10 + 24)/2 - (18 + 12)/2 = 17 - 15 = 2

答えは順に10, 4, 2です。ただし、AA の10は、正確には AA と B×CB \times C を足し合わせた効果です。

こうした計画を手軽に作る道具が 直交配列 です。直交配列表は、どの2列をとっても、水準の組み合わせが同じ回数ずつ現れる表です。総当たり戦の対戦表のように、誰と誰の組み合わせも公平に出てくるイメージです。この性質のおかげで、ある因子の効果を計算するとき、他の因子の効果が打ち消されます。

同じ構造をもつ標準の表が L4(23)L_4(2^3) です。水準を1と2で書き、どの2列をとっても (1, 1), (1, 2), (2, 1), (2, 2) が1回ずつ現れます。

実験1列2列3列
1111
2122
3212
4221
成分aabbabab

L4L_4 の4は実験回数、232^3 は2水準の列が3つあることを意味します。

【直交配列表の使い方】

  1. 実験回数と列数で表を選ぶ。L8(27)L_8(2^7) なら8回の実験で、列は7本
  2. 因子を列に割り付ける
  3. 調べたい交互作用の列は空けておく。aa の列と bb の列の交互作用は、成分 abab の列に現れる
  4. 何も割り付けない列は、誤差の見積もりに使う

例えば、L8(27)L_8(2^7) の1列に AA、2列に BB を割り付けたら、A×BA \times B は成分 abab の3列に現れます。もし3列に因子 CC を入れると、CC と A×BA \times B が交絡します。L8L_8 の全体の自由度は 8−1=78 - 1 = 7 で、各列の自由度が1なので、主効果と交互作用を合わせて7個までしか調べられません。128128 回を8回に減らす代わりに、調べる効果を絞っているのです。

試験のポイント:定義関係から別名を求める問題が出ます。効果の文字に定義関係をかけて、2回出た文字を消します。例えば I=ABCDI = ABCD なら、ABAB に ABCDABCD をかけて CDCD が別名です。

以上が、一部実施要因計画と直交配列についての解説です。

細かい計算を忘れてしまっても問題ありません。ここでは、「組み合わせを調べないと交互作用は見えない」「ブロック化でノイズを除く」「回数を減らすと効果が交絡する」という点だけ押さえておきましょう。

今回のまとめ

それでは、今回の内容を振り返ります。

今回は、分散分析表の読み方と、効率のよい実験の組み方について紹介しました。実験は「やってから分析」ではなく、「分析できるように組む」ものです。どんな計画も、知りたい効果と、ノイズや他の効果を分ける工夫でできています。

今回のポイントを振り返りましょう。

振り返り

  • 1元配置の FF 比は、「物差し + 効果」と物差しの比。VEV_E は誤差の分散を見積もる。
  • 2元配置では、平方和が主効果と交互作用と誤差に分かれる。交互作用の自由度は (a−1)(b−1)(a-1)(b-1)。
  • 乱塊法はブロックの中で全処理を無作為に割り当てる。ブロックの平方和を誤差から除ける。
  • 釣合い型不完備ブロック計画は bk=vrbk = vr、λ(v−1)=r(k−1)\lambda(v-1) = r(k-1) を満たす。
  • 一部実施要因計画は回数を減らす代わりに、効果が交絡する。直交配列表はそれを手軽に組む道具。

キーワードのおさらい

  • フィッシャーの三原則: 反復、無作為化、局所管理
  • 1元配置: 因子が1つの実験
  • 2元配置: 因子が2つの実験。すべての組み合わせを実施する
  • 分散分析表: 要因ごとの平方和、自由度、平均平方、FF 比をまとめた表
  • 交互作用: 一方の因子の効果が、もう一方の水準によって変わること
  • ブロック化: 実験の場を似た条件のまとまりに分けること
  • 乱塊法: ブロックの中で全処理を無作為に割り当てる実験
  • 一部実施要因計画: 組み合わせの一部だけを実施する計画
  • 直交配列: どの2列でも水準の組み合わせが同じ回数ずつ現れる配列
  • ブロック計画: 処理をブロックへ割り当てる組み方。釣合い型不完備ブロック計画など

さて、実験はこちらが条件を決められました。では、全国の世帯のように、すでにある集団の一部を調べるときはどうでしょうか? 集団の大きさが決まっていると、これまでの誤差の式にも修正が要ります。

次回は、有限母集団からの抽出と、各種の標本抽出法を扱う「標本調査法」について紹介します。

それでは、次の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. 4水準、各5回の1元配置で、水準の平方和が60、誤差の平方和が80だった。FF 比として正しいものはどれか。
問2. 処理5種類、ブロック4個の乱塊法で、誤差の自由度として正しいものはどれか。
問3. 2元配置の実験で、セルの平均が A1B1=10A_1B_1 = 10、A1B2=14A_1B_2 = 14、A2B1=12A_2B_1 = 12、A2B2=16A_2B_2 = 16 だった。この結果の説明として、最も適切なものはどれか。
問4. 処理の数 v=6v = 6、ブロックの大きさ k=3k = 3、ブロックの数 b=10b = 10 の釣合い型不完備ブロック計画で、反復数 rr と λ\lambda の組として正しいものはどれか。
問5. 4因子の2水準の一部実施要因計画で、定義関係が I=ABCDI = ABCD のとき、交互作用 A×BA \times B の別名として正しいものはどれか。