はじめよう実験計画

実験を早く終わらせるための技術

分割法(Split-Plot Design)まとめ

分割法(Split-Plot Design)とは何か

分割法はSplit-Plot Design(スプリットプロットデザイン)とも呼ばれる、重要な実験計画法の手法です。

ある農家が、「作物の生産量に何が影響を与えるか」を調べたいとしましょう。図1のように要因は土(A)と肥料(B)の2つ、土Aは3種類、肥料Bは2種類あるとします。

 

f:id:Sturgeon:20200503141803p:plain

図1. 取り上げる要因と変更の難易度

 

組合せは3×2=6通りありますから、その6通りをランダムに実行できれば普通の要因配置計画になりますね。1つの組合せを調べるのに1年かかるとすれば、6通りで6年かかります。

ここで、土(A)を変更するのは結構大変ですが、肥料(B)は特定の場所に撒けばよいので、変更は比較的容易であるという特徴があります。

これを考慮すると、6通りの組み合わせをランダムに行うのではなく、図2のように、1年で1つの畑につき2種類の肥料を同時に試し、それを3種類の土に対して行えば実験期間は3年で済みます。

f:id:Sturgeon:20200503143831p:plain

図2. 分割法とは何か。1つの畑(Whole-Plot)には1種類の土しか入れられないが、肥料は2種類分けて与えることが出来る

 

このように、変更が困難な要因をある水準に固定して、変更が容易な要因の組合せを一度に調べてしまう実験の方法が分割法です。図中の1つの畑のことはWhole-Plot(Wholeは全体、Plotは畑という意味)、畑の中の1区画のことはSplit-Plot(またはSubplot)と呼ばれていて、Whole-Plotには変更が困難な要因を、Split-Plotには変更が容易な要因を割り振ります。

■分割法とは■
変更が困難な要因(Whole-Plot)の水準値ごとに、変更が容易な要因(Split-Plot)の組合せを一度に調べてしまう実験の方法を、分割法と言う。

 

なぜ分割法が必要か?

分割法がなぜ必要かは一言に尽きます。

ほとんどの実験が分割法で行われているから

例えば、オーブンを使用して実験サンプルを作製する場合、オーブンの温度は毎回変更できないというような制約があります。

その場合、実験は要因配置計画のように完全にランダムな順番ではなく、一つの温度ごとに一斉にサンプルを作製した方が効率的です。

この実験の方法を表1(カップケーキの実験)を例に見てみましょう。表1より、まず160℃のオーブンに全種類の生地を入れて一斉に焼き、次に温度を170℃に変更して全種類の生地を試す、という実験をやっていることがわかります。このように実験すれば、温度と生地の組合せを完全にランダムな順番で実験するより、明らかに効率が良いですね。このような実験の進め方は、多くの実験で行われているということは分かっていただけると思います。

なお、表1のYには、後で解析するため、おいしさの点数を入れておきました。また、Replication(反復)の1と2は同一のものです。

表1 カップケーキの実験。要因はオーブン温度(A)と生地の種類(B)。おいしさの点数をYとする。

分割法の解析

分割法の解析は正直に言って厄介です。しかし、この解析に実験計画法のエッセンスが詰まっていると私は思います。

分割法では、Whole-Plot誤差とSplit-Plot誤差という2つの誤差に分けて、分散分析を行います。具体的な方法を表1のカップケーキ実験を使って説明します。

分散分析についてはこちらの記事をご覧ください。

モデル

まず、この実験のモデル式はi=1,2,3, j=1,2,3,4, k=1,2として

 y_{ijk}=\mu+\gamma_k+\alpha_i+(\alpha\gamma)_{ik}+\beta_j+(\alpha\beta)_{ij}+(\beta\gamma)_{jk}+(\alpha\beta\gamma)_{ijk}+\varepsilon_{ijk} \tag{1}

 ここで、 \muは全体の平均値、 \gamma_kは反復の効果、 \alpha_iは要因Aの主効果、 \beta_jは要因Bの主効果です。主効果というのは平均からのずれなので、主効果 \alpha_iをすべての水準iで足し合わせるとゼロになります。すなわち、

 \displaystyle{ \Sigma_i \alpha_i=0, \Sigma_j \beta_j=0, \Sigma_k \gamma_k=0 } \tag{2}

が満たされます。式(1)中の (\alpha\beta)_{ij}のような項は交互作用を表します。これは、Bがある値のときのAの効果と考えることができます。そのため、Bを固定してAに関する総和を取るとゼロになるべき項です。すなわち、

 \displaystyle{\Sigma_i(\alpha\beta)_{ij}=0} \tag{3}

が満たされます。

Split-Plot誤差

 \varepsilon_{ijk}はSplit-Plot誤差と呼ばれます。これは、ある(i,j,k)の組 = 1つの条件の組=Split-Plotごとに生じる誤差です。しかし、 \varepsilon_{ijk}を求めることは実際にはできません。そのため、 (\alpha\beta\gamma)_{ijk}をSplit-Plot誤差 \varepsilon_{ijk}の推定値とします。これは3因子交互作用にはほとんど効果がないとみなすという前提に基づきます。効果がないとすれば、その推定値(平均平方)は誤差 \varepsilon_{ijk}であると考えることができます。

■Split-Plot誤差■
3因子交互作用やプーリングする項など、効果がないとみなせる項から計算する平均平方をSplit-Plot誤差とする。

 

Whole-plot誤差

もっとも重要で、かつ分かりにくいのが  (\alpha\gamma)_{ik}です。これは文字通りには反復と要因Aの交互作用ですが、Whole-plot誤差という意味をもった項になります。Whole-plot誤差とは、Whole-plot一つ一つに固有の誤差です。今回のカップケーキ実験では、要因A(オーブン温度)がWhole-plotなので、ある温度に設定するたびに変動する誤差を意味します。

例えば、同じ160℃設定に設定しても、カップケーキのおいしさにはばらつきがある、という変動がWhole-plot誤差にあたります。カップケーキの配置がオーブンの開け閉めで変わるので熱の伝わり方が変わる、というような現象が考えられます。

数式で考えると、 (\alpha\gamma)_{ik}がなぜWhole-Plot誤差であるか納得がいくと思います。 数式(1)をjに関して足し合わせると

 \displaystyle{\Sigma_j(\alpha\gamma)_{ik}=\Sigma_j(y_{ijk}-\mu-\gamma_k-\alpha_i)+\Sigma_j(残りの項)}

式(3)のような関係より、 \Sigma_j(残りの項)がゼロになるので、上式は

 \displaystyle{(\alpha\gamma)_{ik}= \Sigma_j y_{ijk}/4-\mu-\gamma_k-\alpha_i }

となります。右辺に注目すると、 \Sigma_j y_{ijk}/4は一つのWhole-plotごとのBに関する平均です(表2)。すると、 (\alpha\gamma)_{ik}は、1つのWhole-plotごとに生じる値であり、一つのWhole-plot内の平均から、全体平均µ・繰返しの効果γ・Aの効果αを差し引いても、なお残っている値であるということから、Whole-plot誤差であると言えます。

表2  \Sigma_j y_{ijk}/4は1つのWhole-Plot内のBに関する平均を表す。

まだ分かりにくいと思うので、もっと大雑把なイメージを図4に示しました。 \Sigma_j y_{ijk}/4というのは、一つのWhole-Plot内のBに関する平均でした(表2参照)。

Whole-Plot(WP)ごとに、反復kと要因Aiが異なります。さらに、WPごとに生じる効果も考えたいので、 \Sigma_j y_{ijk}/4は、ベースとなる全体平均・反復k・要因Ai・WPの影響を持っています(図4)。ここから、前者3つの影響を差し引けば、WPの影響が抽出できます。やっぱりわかりにくい説明で恐縮です...

図4 一つのWhole-Plot内のBに関する平均 \Sigma_j y_{ijk}/4は全体平均・反復kの効果・Aiの効果・WPの効果から構成されている。

数式から導かれる結論だけ言うと、Whole-plotの効果は、反復×Whole-Plot因子の交互作用項に現れる、ということになります。

ちなみに、反復の主効果 \gamma_kが小さい場合、反復の効果もWhole-plot誤差に含めることがあります。

■Whole-Plot誤差■
反復×Whole-Plot因子の交互作用項。反復の効果も含める場合がある。

 

具体的な分割法の分析方法

具体的な分割法の分析は

  • Whole-Plotの効果 \alpha_i v.s. Whole-Plot誤差A×反復:  (\alpha\gamma)_{ik}と反復:  (\alpha\beta\gamma)_{ijk}
  • Split-Plotの効果 \beta_jと交互作用A×B:  (\alpha\beta)_{ij} v.s. Split-Plot誤差 (\alpha\beta\gamma)_{ijk}

という2段階の分散分析によって行われます。まず、Rで通常の分散分析を行います。

DF <- read.table("Split-plot2.txt", header=T)#表1のデータを読み込む
result <- aov(Y~Replication*A*B, data = DF)
summary(result)

#実行結果
                Df Sum Sq Mean Sq
Replication      1    782     782
A                2  26519   13260
B                3   4289    1430
Replication:A    2  13658    6829
Replication:B    3    254      85
A:B              6   3270     545
Replication:A:B  6    867     144

resultの実行結果を上コードの最後に示しました。この実行結果をWhole-Plot errorとSplit-plot errorに分けて分析したのが、下の図5です。

f:id:Sturgeon:20200504105202p:plain

図5. カップケーキ実験の分割法による分析結果

図5のように、F値を計算する際、AはWhole-Plot誤差(ReplicationとReplication:A)の平均平方を、BとA:BはSplit-Pot誤差(Replication:A:BとReplication:B)の平均平方を使って計算することに注意してください。Whole-plot誤差があるかどうかは、Split-Plot誤差の平均平方を使って判断します(図5ではP値<5%でWhole-plot誤差が有意です)。

結論として、図5中のP値より、例えば有意水準5%とすると「Aは有意でなく、BとABは有意」となります。

 

分割法を要因配置計画として分析したらどうなるか?

以上のように、 分割法の分析では、Whole-Plot誤差とSplit-Plot誤差を分けて考える必要があります。これがややこしいからと言って、通常の要因配置計画のように、分析したらどうなるでしょうか?

以下に、表1の実験計画を完全にランダムな順番で実施したと仮定して、要因配置計画における分散分析を行いました。

result2 <- aov(Y~A*B, data = DF)
summary(result2)

#実行結果
            Df Sum Sq Mean Sq F value  Pr(>F)   
A            2  26519   13260  10.226 0.00256 **
B            3   4289    1430   1.103 0.38602   
A:B          6   3270     545   0.420 0.85180   
Residuals   12  15560    1297                   
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

分割法の分析結果とは一転「Aが有意、BとA:Bは有意でない」という結果になってしまいました。このように、分割法を通常の要因配置計画として扱ってしまうと、分析結果が大きく変わってしまう恐れがあるので、要注意です!

※Whole-plot誤差が有意でない場合はSubplot誤差にプーリングすることで、通常の要因配置計画の分散分析になります。

 

分割法を要因配置計画として分析するのはどうしてダメなのか?

どうして、分割法を要因配置計画として分析すると違った結果になってしまうのでしょうか?ここでは、前述の要因Aについて考えてみます。

図6は、横軸に要因Aの値を、縦軸にカップケーキのおいしさYの値をプロットしていて、左図が要因配置計画として結果を見たとき、右図が分割法として結果を見たときの様子です。

f:id:Sturgeon:20200504111700p:plain

図6. 要因配置計画として見たときと、分割法として見たときのAの効果

左図のようにの要因配置計画として捉えると、思いっきりAの効果が有るように見えます。しかし、右図の分割法として捉えたときは、反復(Replication)によって縦軸Yの値がかなり違っています。例えば、Replication1ではA=160℃とA=170℃に差はありませんが、Replication2では、これらに大きな差があります。

ReplicationによるYの差、すなわち、Whole-Plot 誤差が大きいため、実際にはAの効果はないのにもかかわらず、要因配置計画として分析するとAの効果が有るように見えてしまうということです。

 

分割法と反復

上の議論を別の言い方をすると、上の実験では「正しい分析をするためには反復が不可欠だった」ということになります。当然のことではありますが、もし反復がなければ、「Aの効果」と「Aを設定するたびに生じる誤差(Whole-Plot誤差)」は分離できません。そのため、分割法には反復が必要不可欠です。

 

分割法のその他の種類

さて、分割法として今まではWhole-Plotの要因AとSplit-Potの要因Bの2要因について全組合せを実施する分割法について説明してきました。しかし、分割法の基本的な考え方は

■分割法とは■
変更が困難な要因(Whole-Plot)の水準値ごとに、変更が容易な要因(Split-Plot)の組合せを一度に調べてしまう実験の方法

ということだけですから、2要因の分割法以外にも、様々な使い方が出来ます。そのいくつかの例を以下で説明します。

 

複数の要因を含む分割法

複数の要因含む分割法の例として、Whole-Plot要因をAとB、Split-Plot要因をCとDとして、それぞれ2水準(+or ー)、反復2回としたときの分割法による計画のイメージを図7に示します。

f:id:Sturgeon:20200504115327p:plain

図7. 4要因の分割法。Whole-Plot要因はAとB、Split-Plot要因はCとD。

図2と同じように、(A, B)の一つの組合せがWhole-Plotで、その中[C, D]の一つの組合せ(一区画)がSplit-Plotになります。反復はしなくても分割法は可能ですが、その場合、Whole-Plotエラー(Replicate:Aの交互作用)を推定できないので、前述の方法とは異なる分析をする必要があります。それはまた今度まとめようと思います。

図7の実験を計画表に書き出すと表2のようになります。Whole-Plot要因の一つの組合せ(A, B)について全部の[C, D]の組合せを一斉に実施する分割法の様子が分かりますね。

f:id:Sturgeon:20210508234624p:plain

表2. Whole-Plot要因2つ(A, B)・Split-Plot要因2つ(C, D)の分割法

一部実施要因計画と分割法

今まではすべての組合せを実施する分割法でしたが、一部実施要因計画と分割法を併用することもできます。その場合はSplit-Plot要因のCとDの組合せの一部を実施します。表2のWhole-Plotはそのままに、Split-Plotnの組合せを一部実施とした分割法の計画を表3に示しました。

f:id:Sturgeon:20200504141722p:plain

表3. 一部実施要因計画の分割法

表2と表3の計画はRの”FrF2”というパッケージを用いて以下のコードにより生成することできます。関数FrF2の"hard"に要因数を指定すると、その要因を「変更が困難な要因」として計画が作成されます。

library(FrF2)
#完全実施の要因配置計画を使った分割法(表2)
SP_full <- FrF2(nruns = 16, nfactors = 4, replications = 2, hard = 2, factor.names=c("A","B","C","D"), default.levels = c("-","+"))

#一部実施要因配置計画を使った分割法(表3)
SP_frac <- FrF2(nruns = 8, nfactors = 4, replications = 2, hard = 2, factor.names=c("A","B","C","D"), default.levels = c("-","+"))
 

あとがき

実はほとんどの実験が分割法の形で行われている、というのが重要なポイントです。解析手法はとても難解で、本記事の説明もかなり難しくなってしまったと反省しています。しかし、分割法には実験計画法の考え方のエッセンスが詰まっており、私は、分割法の理解が実験計画法の本質的な理解につながると思っていますので、今後、実践例などを紹介して、分割法の理解に努めたいです。

 

(後記) 分割法の実践問題を作ってみましたので、もしよかったらチェックしてみてください

www.doe-get-started.com