Engineering Skills

製品開発エンジニアがデータ解析のノウハウを垂れ流します

実験計画法(4)-乱塊法

実験計画法の一つのアプローチである乱塊法について説明します。

Fisherの3原則

実験計画法の始祖R.A.FisherにFisherの3原則というものがあります。

  • 反復(replication)
  • 無作為化(randomization)
  • 局所管理(local control)

最後の局所管理が今回の乱塊法と密接にかかわります。(影響を与えるが最適水準を決めることに意味のない)ブロック因子について、実験計画に取り込むことで局所管理を行います。

ブロック因子の値が不定のまま実験を行うと、誤差分散が増えることになります。予め影響を与えるブロック因子が分かっている場合は、実験計画の中に取り込むことで解析精度を上げることが出来ます。

乱塊法の由来

Fisherが発表した実験計画法に関する研究成果は農事試験場でのものです。Fisherは、肥料の効果を調べるために農地を小区画(ブロック因子)に分け、ブロック内でも列毎にどの列にどの肥料を与えるかはランダマイズ(無作為化)しました。これにより1つの農地から、複数肥料に関する反復データが得られ、実験効率/実験精度が上がりました。この実験方法が「乱塊法」と名づけられています。

乱塊法で扱うブロック因子の例

乱塊法で扱うブロック因子の例としては、Fisherのような肥料の効果を知りたい場合に畑をブロック因子として扱うことが考えられます。

その他に、実験の処理日も考えられます。実験実施日の天候(気温、湿度、風速)などによる実験結果変動です。

実験装置、計測装置、計測者もブロック因子になりえます。実験装置は実験回数に依存した経時変化などもあります。

ブロック因子の例としてはあまり出てきませんが、同じデータに対しデータ解析者をブロック因子にするのもワークリソースが許せばありえます。単純な数値入力ミスもあれば、計算機制度の丸め誤差もあり得るでしょう。

乱塊法

乱塊法のアプローチを紹介します。乱塊法と言われると理解しづらいですが、英訳のrandomized block designの方がわかりやすいです。つまり、ブロック因子についてランダマイズした実験計画です。

例えば一因子Aの実験で水準A1、A2、A3について、ブロック因子R1、R2、R3、R4で繰り返しなしの実験を行うとします。因子Aの実験順はブロック因子の中でランダマイズ(無作為化)します。

f:id:OceanOne:20200829000720p:plain:w300

分散分析も一元配置、二元配置実験と同様に行うことができます。ブロック因子も変量因子が一つ増えたとして扱えて、こちらに示す手順 で分散分析を実行することができます。一元配置実験の乱塊法なら、解析は二元配置実験と同じということになります。


一元配置実験、二元配置実験に乱塊法を適用する事もできます。

実験順の無作為化は省略して結果のみ示した表を作成すると、一元配置なら下記のような実験で、

f:id:OceanOne:20200827015510p:plain:w380

繰り返しのある二元配置なら下記のような実験になります。

f:id:OceanOne:20200827015609p:plain:w400

いずれも解析方法はこちらの手順と同じになります。

その気になればL8、L18のような直交表実験にもブロック因子ごとに実験を繰り返すことで適用できます。ただし、多因子実験の場合は計画内の一因子にブロック因子を割り当てることが多いです。実験サイトが分かれる場合は、別サイトで繰り返した方が良いと思います。別の見方はすれば、それは再現性実験になります。

まとめ

乱塊法について説明しました。手法とアプローチの理解も重要ですが、実験実施に当たっては何がブロック因子か事前知識が重要になります。先行実験(論文)や先輩諸兄の経験も生きてきます。巨人の肩の上に乗った方がよいです。