2014-02-11

実験計画法 (Design of Experiment) とは何か? (2)

DOE(実験計画法)とは因果関係を調べる手法(学問)である、と言葉で表現するのは簡単ですが、これだけでは、具体的にどのような手法であるのか判然としません。実験計画法のコアな話題を展開する前に、簡単な例を用いて実験計画法を紹介していきます。

実験計画法におけるデータ解析は、統計学の手法がベースとなっています。そこで、出発点として t 検定の例から実験計画法の世界に入っていくことにしましょう。なお、ここでは教科書的な数式による説明を極力省き、R による計算にフォーカスしています。

t 検定

t 検定は、帰無仮説が正しいと仮定した場合に、統計量が t 分布に従うことを利用する統計学的検定法の総称です。二組の標本について平均に有意差があるかどうかの検定などに用いられます。

原料収率
現行品87.3
現行品90.0
現行品86.7
現行品90.7
現行品91.3
現行品85.8
現行品84.3
現行品89.7
現行品90.4
現行品86.8
現行品86.9
現行品88.3
現行品88.6
現行品88.5
現行品84.2
現行品84.2
現行品82.4
現行品84.6
現行品88.4
現行品84.3
現行品83.5
現行品84.1
現行品83.9
廉価品87.9
廉価品84.6
廉価品84.4
廉価品86.9
廉価品82.3
廉価品83.8
廉価品88.6
廉価品84.6
廉価品85.4
廉価品80.6
廉価品85.5
廉価品84.6
廉価品90.0
廉価品83.6
廉価品87.1
廉価品83.3
廉価品85.9
廉価品82.1
廉価品86.9
廉価品85.3

例)

ある製品の主原料を、「現行品」から、同じ仕様で仕入れ価格が単位量当たり 5% 安い「廉価品」に切り替えたい。「廉価品」を使用した 20 ロットの試作品の収率(単位 %)と、直近に製造した「現行品」を使用した製品 23 ロットの収率(右表)を、有意水準 5 % で検定せよ。

帰無仮説 H0 は、『主原料「現行品」と「廉価品」では、収率に差は無い』になります。

まずは、サンプルのデータフレームを作成します。

> x <- c(rep("現行品", 23), rep("廉価品", 20))
> x
 [1] "現行品" "現行品" "現行品" "現行品" "現行品" "現行品" "現行品" "現行品"
 [9] "現行品" "現行品" "現行品" "現行品" "現行品" "現行品" "現行品" "現行品"
[17] "現行品" "現行品" "現行品" "現行品" "現行品" "現行品" "現行品" "廉価品"
[25] "廉価品" "廉価品" "廉価品" "廉価品" "廉価品" "廉価品" "廉価品" "廉価品"
[33] "廉価品" "廉価品" "廉価品" "廉価品" "廉価品" "廉価品" "廉価品" "廉価品"
[41] "廉価品" "廉価品" "廉価品"
> y <- c(87.3, 90.0, 86.7, 90.7, 91.3, 85.8, 84.3, 89.7, 90.4, 86.8, 86.9, 88.3, 88.6, 88.5, 84.2, 84.2, 82.4, 84.6, 88.4, 84.3, 83.5, 84.1, 83.9,87.9, 84.6, 84.4, 86.9, 82.3, 83.8, 88.6, 84.6,85.4, 80.6, 85.5, 84.6, 90.0, 83.6, 87.1, 83.3, 85.9, 82.1, 86.9, 85.3)
> y
 [1] 87.3 90.0 86.7 90.7 91.3 85.8 84.3 89.7 90.4 86.8 86.9 88.3 88.6 88.5 84.2
[16] 84.2 82.4 84.6 88.4 84.3 83.5 84.1 83.9 87.9 84.6 84.4 86.9 82.3 83.8 88.6
[31] 84.6 85.4 80.6 85.5 84.6 90.0 83.6 87.1 83.3 85.9 82.1 86.9 85.3
> tbl <- data.frame(原料 = x, 収率 = y)
> tbl
     原料 収率
1  現行品 87.3
2  現行品 90.0
3  現行品 86.7
...
(省略)
...
41 廉価品 82.1
42 廉価品 86.9
43 廉価品 85.3

R の t.test() 関数(コマンド)を利用して t 検定をしてみましょう。このコマンドは、デフォルトではサンプルの等分散を仮定していない Welch の検定をするようになっていますので、var.euqal = T を指定して、2 つのサンプルが等分散であることを仮定しています。

> t.test(収率 ~ 原料, data = tbl, var.equal = T)

 Two Sample t-test

data:  収率 by 原料
t = 2.0445, df = 41, p-value = 0.04736
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 0.01913643 3.11042879
sample estimates:
mean in group 現行品 mean in group 廉価品 
            86.73478             85.17000 

>

この例では検定の結果、p-value(p値)が有意水準 5 % (= 0.05) より小さい値になりますので帰無仮説を棄却し、「現行品」と「廉価品」の収率の差は有意であり、「廉価品」を用いた製品の収率は「現行品」より 1.6% 程度低いという結論になります。


1 因子 2 水準実験

上述の例について、主原料「現行品」と「廉価品」の、製品収率に及ぼす影響を調べた「実験」であると捉えることもできます。

実験の主たる目的は、原因と結果の因果関係を明らかにすることです。

因果関係の原因系は、要因あるいは因子 (factor) と呼びます。先の例では、因子は一つで「原料」です。因子の設定条件を水準 (level) と呼びます。因子「原料」の水準は「現行品」と「廉価品」です。因果関係の結果系は、特性値あるいは応答 (response) と呼びます。先の例では、特性値は「収率」になります。先の例を実験として計画 (design) したものであれば、これを「1 因子 2 水準実験」と呼びます。

R で結果だけを手っ取り早く知りたい場合は下記のようにします。aov() 関数は分散分析のために統計モデルのあてはめ(フィッティング)を行うコマンドです。詳細は次の分散分析で説明します。

因子「原料」は 5% の有意水準で有意に応答「収率」に影響を及ぼしており、それぞれの因子の水準のインパクトはボックスプロットの通りであると評価できます。

> summary(aov(収率 ~ 原料, data = tbl))
            Df Sum Sq Mean Sq F value Pr(>F)  
原料         1  26.19  26.194    4.18 0.0474 *
Residuals   41 256.91   6.266                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> bp <- boxplot(収率 ~ 原料, data = tbl)
> bp
$stats
      [,1]  [,2]
[1,] 82.40 80.60
[2,] 84.25 83.70
[3,] 86.80 84.95
[4,] 88.55 86.90
[5,] 91.30 90.00

$n
[1] 23 20

$conf
         [,1]     [,2]
[1,] 85.38335 83.81944
[2,] 88.21665 86.08056

$out
numeric(0)

$group
numeric(0)

$names
[1] "現行品" "廉価品"

>

現実の実験では、5% 安い主原料の価格と、収率が 1.6% 程度低下することを天秤にかけ、結果として「廉価品」を採用する方向で検討するのであれば、次のステップとして製品の品質や信頼性の評価へ進むことになるでしょう。

参考文献

  1. 岩崎学 統計的データ解析入門 実験計画法 東京図書 (2006)

0 件のコメント: