「カスタム計画」を使って実験を計画し、ワインの製造に関する因子がワインの味に及ぼす効果を調べます。あるワイン製造業者が、ピノ・ノワール種である2品種のブドウを栽培し、異なる方法で処理しています。実験の目的は、どのような因子がワインの味に影響しているかを特定することです。ブドウの処理に関して実験を計画します。ブドウの処理後、サンプルを12ヵ月間寝かし、ろ過してからボトルに詰めます。この時点で、専門家がワインのサンプルを試飲し、品質を評価します。
ブドウ園のワインの大部分は、5軒の大規模な販売会社に卸されます。評価は、各販売会社から専門のワインテイスターを招いて行うことにしました。調査できる因子数を最大にするため、各テイスターに8つの異なる試飲サンプルを評価してもらいます。つまり、この実験には40個の試飲サンプル(つまり、40回の実験回数)が必要です。
ワインに対する評価は、0を最低、20を最高とする0~20の段階で行います。テイスターによる「評価」が、この実験における応答です。この実験の目的は、この応答を最大化するような因子を特定することです。
その因子自体は分析対象として興味がないが、応答には影響を与えている因子があるときに、その因子はブロック因子として扱われます。特に、ある水準内での観測値が、それ以外の水準での観測値よりも、互いに似通っている場合に、ブロック因子は使われます。この実験では、1人の専門家による評価は同じような特徴を持ち、他の専門家による評価とは異なると予測されます。一方で、分析者が興味をもっているのは、特定の1人の専門家からではなく、5人全員の専門家から高評価を受けるワインはどのようなものかということです。
この例では、専門家の効果を「判定者」というブロック因子とします。専門家ごとに8つのワインを試飲するので、1ブロックあたり8回の実験を含みます。なお、ここでの分析では、5人の専門家だけに限った推論を行います。5人以外も含む専門家全体の母集団についての推論は行いません。
実験調査に備え、工程に関する因子を9つ特定しました。ブドウの品種、ブドウを栽培する畑、および工程に関連するその他の7つの因子です。これらの因子は、どのように組み合わせても実験が可能です。また、因子を自由に変更できます。実験に関して、これらの因子は変更が「容易」です。因子の変更の指定については、変更とランダムブロックを参照してください。
因子とその水準を表4.1に示します。因子はすべてカテゴリカルです。「Sample Data」の「Design Experiment」フォルダにある「Wine Factors.jmp」にも、因子と水準が含まれています。
因子の可能な組み合わせをすべて実験するには、4 x 28 = 1024回もの実験が必要となります。しかしこの例では、それに匹敵する計画がたった40回の実験で作成できます。
因子 |
水準 |
---|---|
品種 |
Bernard, Dijon |
畑 |
1, 2, 3, 4 |
除梗 |
No, Yes |
酵母 |
Cultured, Wild |
温度 |
High, Low |
搾汁 |
Hard, Soft |
樽齢 |
New, 2 Years |
樽の乾燥 |
Air, Kiln |
ろ過 |
No, Yes |
実験の目的、因子、応答が定義できたので、ここからカスタム計画を作成していきます。
応答の追加
この例では、応答に関して名前、応答の目標、下側限界、上側限界を設定します。必要に応じて重要度も指定できます。ワインに対する評価を含む応答変数の名前を、「評価」とします。
1. [実験計画(DOE)]>[カスタム計画]を選択します。
2. 「応答名」の下の「Y」をダブルクリックして、「評価」と入力します。
「目標」はデフォルトで[最大化]になっています。ここでは、ワインに対する評価を最大化したいので、このままにします。
3. 「下側限界」の欄をクリックして「0」とタイプします。
最も望ましくない評価は0です。
4. 「上側限界」の欄をクリックして「20」と入力します。
最も望ましい評価は20です。
5. 「重要度」の欄は空白にしておきます。
応答が1つだけなので、デフォルトで、その応答に重要度1が割り当てられます。
図4.2 に、完成した「応答」アウトラインを示します。
手動または自動での因子の追加
このカスタム計画の例では、因子についての情報を手動で入力するか、または因子と設定が含まれている既存のデータテーブルからロードできます。
• 新しい実験を計画する際は、最初に因子を手動で入力しなければなりません。手動での因子の追加を参照してください。
• [因子の保存]オプションを使って因子をデータテーブルに保存しておけば、そのデータテーブルから因子の情報を読み込むことができます。[因子のロード]を使った自動での因子の追加を参照してください。
どちらの手法を使った場合でも、「カスタム計画」ウィンドウに「因子の制約を定義」、「モデル」、「交絡項」、「計画の生成」の4つのアウトラインが表示されます。
1. まず、ブロック因子である「判定者」を追加します。[因子の追加]>[ブロック]>[ブロックあたり8実験]
を選択します。
2. デフォルト名の「X1」を「判定者」に変更します。
「役割」が「ブロック」に設定されており、「値」の設定値が1つだけであることに注目してください。これは、ユーザが希望の実験回数を指定するまで、JMPがブロックの数を判断できないためです。「実験の生成」アウトラインで「実験の回数」を指定すると、「判定者」の水準数が更新されます。
3. [因子の追加]>[カテゴリカル]>[2水準]を選択します。
4. デフォルト名の「X2」を「品種」に変更します。
デフォルトで「役割」が「カテゴリカル」に設定され、「変更」が「容易」に設定されていることに注目してください。
5. 「L1」と「L2」をクリックし、それぞれ「Bernard」と「Dijon」に変更します。
6. [因子の追加]>[カテゴリカル]>[4水準]を選択します。
7. デフォルト名の「X3」を「畑」に変更します。
8. 「L1」、「L2」、「L3」、「L4」をクリックし、それぞれ「1」、「2」、「3」、「4」に変更します。
9. [因子の追加]>[カテゴリカル]>[2水準]を選択します。
10. デフォルト名の「X4」を「除梗」に変更します。
11. 「L1」と「L2」をクリックし、それぞれ「No」と「Yes」に変更します。
12. 「N個の因子を追加」の右側のボックスに「6」と入力し、[因子の追加]>[カテゴリカル]>[2水準]を選択します。これで、2水準のカテゴリカル因子が6個、計画に追加されます。
13. 因子のデフォルトの名前と値を変更します。
– 酵母(CulturedとWild)
– 温度(HighとLow)
– 搾汁(HardとSoft)
– 樽齢(NewとTwo Years)
– 樽の乾燥(AirとKiln)
– ろ過(NoとYes)
図4.2 設定後の「応答」および「因子」アウトライン
14. [続行]をクリックします。
「カスタム計画」ウィンドウに次のアウトラインが追加されます。
• 因子の制約を定義(この例では使用しません)
• モデル
• 交絡項
• 計画の生成
因子の情報を含んだテーブルを使って因子を入力するには、次の手順に従います。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Design Experiment」フォルダの「Wine Factors.jmp」を開きます。
2. 「カスタム計画」の赤い三角ボタンをクリックし、[因子のロード]を選択します。
因子をロードすると、「カスタム計画」ウィンドウが自動的に更新されます。「カスタム計画」ウィンドウに次のアウトラインが追加されます。
• 因子の制約を定義(この例では使用しません)
• モデル
• 交絡項
• 計画の生成
モデルの定義
この例では、デフォルトで表示されるリストにすべての主効果が[必須]と表示されます。これは、作成された計画において、すべての主効果を推定可能とすることを意味しています。なお、この例では、主効果のみのモデルを仮定します。主効果以外も推定したい場合は、「モデル」アウトラインにそれらを追加します。モデルの詳細については、モデルを参照してください。
図4.3 「モデル」アウトライン
交絡項の定義
「交絡項」アウトラインで指定した効果は、後で表示される「交絡行列」を構成します。「交絡項」アウトラインに指定されている効果と、「モデル」アウトラインに指定されている効果との交絡関係が、後述する「交絡行列」に示されます。「交絡項」アウトラインを開き、すべての2因子間交互作用が指定されていることを確認してください。交絡行列の詳細については、交絡行列を参照してください。
図4.4 「交絡項」アウトライン(一部)
計画を再現するための乱数シード値の設定
「カスタム計画」のアルゴリズムは、無作為に選んだ計画を開始点とします。この例のように、あるいは授業などで計画を再現するためには、開始点となる計画を定義する乱数シード値を設定しておきます。図4.5にあるものと実験数や実験順序が完全に同じ計画を作成したいときは、乱数シード値と開始点の数を設定します。
1. 「カスタム計画」の赤い三角ボタンをクリックし、[乱数シード値の設定]を選択します。
2. 「100526291」(乱数シード)と入力します。
3. [OK]をクリックします。
4. 「カスタム計画」の赤い三角ボタンをクリックし、[開始点の数]を選択します。
5. 「2」と入力します。
6. [OK]をクリックします。
メモ: 上記の乱数シード値と開始点の数を設定すると、以下の例と同じ結果が得られます。同じ実験設定でなくても良い場合は、これらの手順は不要です。
計画の作成
「計画の生成」アウトラインで、計画の構造やサイズに関する追加的な情報を指定できます。この例ではデフォルトの実験回数が16回になっています。しかし実際には、判定者は5人で、各人が8つのワイン標本を試飲します。つまり、40回の実験が必要です。計画の実験回数を変更します。
1. 「実験の回数」の「ユーザ定義」テキストボックスに「40」と入力します。
実験の反復は行わないので、[反復する行数]は「0」にします。
2. [計画の作成]をクリックします。
「カスタム計画」ウィンドウに、「計画」および「計画の評価」アウトラインが追加されます。「出力オプション」パネルも表示されます。
計画の確認
「計画」アウトラインに、作成したカスタム計画の実験が表示されます。後で、「出力オプション」の下で順序をランダム化できます。この段階では、生成された計画が適切かどうかを確認しましょう。たとえば、5人の判定者全員が8つのワインを評価すること、実験で扱う因子がすべて表示されていること、設定の中に不可能な組み合わせがないことを確認してください。
図4.5 ワインの実験の計画
計画の評価
「計画の評価」アウトラインには、カスタム計画を評価するさまざまな方法が用意されています。この例では、「計画の評価」アウトラインを開き、「相関のカラーマップ」、「交絡行列」、「計画の診断統計量」を調べます。
メモ: 「計画の評価」アウトラインの詳細については、計画の評価を参照してください。
「相関のカラーマップ」は、「モデル」や「交絡項」アウトラインに指定された効果間における相関係数の絶対値を示したものです。
図4.6 相関のカラーマップ
主効果は、マップの左上の15個の項です。主効果とその他の主効果との相関は、白色で表示されているため、0であることがわかります。つまり、すべての主効果は直交しており、独立して推定できることを意味しています。
図4.6において黒色で表示されているのは対角要素のみです。これは、相関の絶対値が1で、各項がそれ自身と完全に相関していることを表しています。2因子間交互作用と主効果との相関は赤色になっていないことから、2因子間交互作用と主効果において完全な交絡関係になっているものはありません。主効果と2因子間交互作用との相関の絶対値は非常に低くなっています。つまり、2因子間交互作用の効果があり、それによって主効果の推定値にバイアス(偏り)が生じるとしても、そのバイアスはほんのわずかに過ぎません。
ヒント: カラーマップのセルの上にマウスポインタを置くと、効果間における相関係数の絶対値が表示されます。凡例の下を右クリックすると、相関係数をデータテーブルに保存するためのメニューが呼び出されます。
「交絡行列」の左側には、モデルの効果名が一覧表示されています。交絡行列(alias matrix)は、「行列の左側に示されている効果が、行列の上側に示されている効果の推定値に与えるバイアスの大きさ」を示しています。
図4.7 交絡行列(一部)
たとえば、モデル項「樽の乾燥」について検討してみましょう。「品種*搾汁」の効果がある場合、「樽の乾燥」の推定値は、バイアスをもちます。バイアスがある推定値と真のパラメータ値との差は、「品種*搾汁」の効果の0.4倍に相当します。そのため、「樽の乾燥」が有意であったとしても、その有意性は、実際には「品種*搾汁」によるものかもしれません。
「計画の診断統計量」アウトラインには、計画の効率が表示されます。ここで表示されている効率は、作成された計画を理論上の最適計画と比較したものです。ただし、理論上の最適計画は、実際には存在しないかもしれません。ここで表示されている効率は、作成された計画の効率の、理論上の最適計画の効率に対する比率を百分率で表したものです。効率の指標については、推定効率を参照してください。
図4.8 「計画の診断統計量」アウトライン
この例におけるD効率、G効率、A効率はすべて100%です。これは、作成された計画の効果は互いに直交しており、これら3つの基準において理論上の最適計画になっていることを意味しています。
「計画の診断統計量」アウトラインの最初の行は、この計画が、D効率の基準を最適化するように作成されたことを示しています。「カスタム計画」のオプションの「最適化基準」を参照してください。この例では、作成された計画のD効率は100%です。
計画テーブルのオプションの指定
カスタム計画の作成の最終ステップでは、計画テーブルのオプションを指定し、テーブルを作成します。「出力オプション」パネルにおいて、データテーブル内における実験の順序を指定できます。この例では、デフォルトで選択されている[ブロック内でランダム化]が適切です。データテーブルを作成するには、[テーブルの作成]をクリックしてください。
図4.9のような「カスタム計画」のデータテーブルが作成されます。
メモ: アルゴリズムは無作為に選んだ初期計画から反復計算を開始するため、図とは同じ結果にはなりません。図4.9にあるのとまったく同じテーブルを作成するには、計画を再現するための乱数シード値の設定の説明に従って乱数シード値と開始点の数を設定します。
図4.9 カスタム計画のテーブル
次のことを注意してください。
• 計画の作成時に、「モデル」スクリプト、「計画の評価」スクリプト、「DOEダイアログ」スクリプトが作成され、テーブルパネルに保存されています。「モデル」スクリプトを実行すると、「モデルのあてはめ」ウィンドウが開き、「カスタム計画」ダイアログウィンドウの「モデル」アウトラインで[必須]に指定した効果が表示されます。「DOEダイアログ」スクリプトは、データテーブルの作成に使用したカスタム計画のウィンドウを呼び出します。
• 「列」パネルで、因子と応答の右側にアスタリスク(*)がついています。これは、データテーブルの列に列プロパティが保存されていることを示します。これらの列プロパティは、データの分析に使用されます。列プロパティの詳細については、因子および因子の列プロパティを参照してください。
カスタム計画の分析
実験を実行し、データを集めたら、結果の分析を開始できます。「カスタム計画」テーブルの「評価」列に「評価」のデータを記録します。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Design Experiment」フォルダの「Wine Data.jmp」を開きます。
「Wine Data.jmp」データテーブルは、実験の結果が含まれていることを除けば、図4.9における「カスタム計画」のデータテーブルとまったく同じです。
2. 「テーブル」パネルで、「モデル」スクリプトの横にある緑の三角ボタンをクリックします。
図4.10 ワインの実験における「モデルの指定」ウィンドウ
ブロック因子「判定者」が、変量効果(ランダムな効果)ではなく、固定効果として追加されていることに注目してください。5人の判定者は母集団から無作為に(ランダムに)抽出されたのではなく、特定の人を意図的に選んだので、これは適切な設定です。
3. [実行]をクリックします。
このカスタム計画の例におけるモデルの出力を以下に示します。
図4.11 モデルのあてはめの結果(一部)
次のことを注意してください。
• 「予測値と実測値のプロット」には、あてはまりの悪さを示す証拠が見当たりません。
• 「予測値と実測値のプロット」とその下のp値から、モデルが有意であることがわかります。
• 「効果の検定」レポートから、モデル項のうち7つが、0.05の有意水準において有意であることがわかります。「畑」、「温度」、「樽齢」は有意ではありません。
• 「効果の要約」レポートには、効果が有意な順に表示されています。「対数価値」の値が大きいほど、p値がより小さく、より有意になっています。
ここでは、カスタム計画の結果のモデルから重要でないと判断した効果を削除し、説明変数をより減らしたモデルにしてみましょう。
1. 「効果の要約」レポートで、Ctrlキーを押しながら「温度」、「畑」、「樽齢」を選択します。
2. [削除]をクリックします。
選択した効果がレポートから削除されます。
プロファイルによるモデルの結果の解釈
説明変数を減らしたモデルの「予測値と実測値のプロット」を見ても、あてはまりの悪さに関する問題は見当たりません。また、「効果の要約」と「効果の検定」の各レポートから、残りの7つの項が0.05の水準において有意であることがわかります。予測プロファイルを使って、モデルをさらに検討してみましょう。
図4.12は、「予測プロファイル」です。応答の目標として[最大化]を選択し、「下側限界」を0、「上側限界」を20としたことを思い出してください。限界を設定した場合、「カスタム計画」テーブルの「評価」列に「応答変数の限界」列プロパティが保存されます。「予測プロファイル」は、「応答変数の限界」の情報を使って満足度関数を作成します。満足度関数は、図4.12の上段の右端に表示されています。下の段には、満足度のトレースが表示されます。
上段の最初の6つのプロットは、予測モデルのトレースを描いています。各プロットに描かれている線は、赤い縦線の位置に他のすべての因子を固定した場合に、該当する因子に対して「評価」の予測値が変化する様子を表しています。デフォルトでは、カテゴリカル因子の水準は最小値に設定されています。因子の設定を変化させることで、ワインの「評価」の予測値がどのように変化するかを確認できます。予測値の信頼区間は、「評価」の平均予測値に対するものです。
「判定者」因子がプロファイルに表示されていないことに注目してください。これは、「判定者」がブロック変数だからです。変動を説明するために「判定者」をモデルに含めていますが、「判定者」は因子設定の最適化において重要ではありません。この例での「評価」の予測値は、評価の予測値を判定者全員において平均したものになっています。
図4.12 縮小モデルのプロファイル
カスタム計画の結果から、予測プロファイルを使用して最適な設定見つけることができます。判定者の「評価」を最大化する設定を見つけましょう。
1. 「予測プロファイル」の赤い三角ボタンをクリックし、[最適化と満足度]>[満足度の最大化]を選択します。
「予測プロファイル」内の赤い縦の点線が、各因子の最適な設定に移動します。最適な設定では、評価の予測値が19.925となります。一般的には、応答を最適化する因子設定は複数存在する場合があります。
図4.13 因子設定を最適化した予測プロファイル
2. すべての実験における評価の予測値を確認するには、予測式を保存します。「応答 評価」の赤い三角ボタンをクリックし、開いたメニューから[列の保存]>[予測式]を選択します。
データテーブルに、「予測式 評価」という列が追加されます。行33の実験では、「判定者」5が評価20を与えています。この実験の「判定者」5の評価の予測値は19.550です。なお、行33の実験は、最適な因子設定での実験になっています。最適な因子設定での「予測プロファイル」の予測値19.925は、この因子設定における判定者5人全員の予測値を平均したものです。
プロファイルでは、因子をロックして特定の状況下での最適設定を探索することができます。応答を最大化してみると、Dijon種を使った方が評価が高くなることがわかりました(図4.13)。しかし、会社の支配人から、Bernard種を栽培している畑にDijon種の苗を新たに植えるのは、コスト面から見て無理だという指摘がありました。そのため、Bernard種における最適な設定と、そのときの評価の予測値を調べる必要があります。
1. 「予測プロファイル」の「品種」プロットで、赤い縦の点線を「Bernard」にドラッグします。
2. Ctrlキーを押しながら、いずれかの「品種」プロットをクリックします。
「因子設定」ウィンドウが開きます。
3. [因子設定のロック]を選択して[OK]をクリックします。
4. 「予測プロファイル」の赤い三角ボタンをクリックし、[最適化と満足度]>[満足度の最大化]を選択します。
図4.14 Bernard種の最適設定を示した予測プロファイル
モデルには交互作用項がないので、最適な設定は変化しません。品種はBernardに固定した場合、最適な設定における評価の予測値は17.975になります。
「判定者」の水準のプロファイルのトレースを見るには、次の手順に従います。
1. 「予測プロファイル」の赤い三角ボタンをクリックし、[因子グリッドのリセット]を選択します。
「因子設定」ウィンドウが開き、「判定者」を含むすべての因子の列が表示されます。「判定者」の下にある「表示」ボックスにチェックマークがついていません。そのため、「判定者」は「予測プロファイル」に表示されません。
2. 「判定者」の下にある[表示]ボックスを選択します。
3. 「判定者」の下にある[因子設定のロック]ボックスの選択を解除します。
4. [OK]をクリックします。
プロファイルが更新され、「判定者」のプロットが表示されます。
5. 「判定者」の上にあるいずれかのプロットをクリックします。
図4.15 縮小モデルのプロファイルに「判定者」を表示したところ
赤い縦の点線が表示されます。各判定者のトレースを見るにはこの線をドラッグします。「品種」が「Bernard」にロックされたままになっていることに注意してください。「品種」のロックを解除するには、Ctrlキーを押しながら、いずれかの「品種」プロットをクリックします。「因子設定」ウィンドウが開いたら、[因子設定のロック]の選択を解除してください。
カスタム計画の例の要約
実験回数を40回に抑えた実験によって、ピノ・ノワールのワインに影響を与える因子を(9つから)6つ特定しました。最適な設定では、評価の予測値が19.925(最高は20)になることがわかりました。また、2つの品種両方での最適な設定も特定できました。
この節では、「カスタム計画」によって計画を作成しました。次節では、各アウトラインと計画手順について詳しく説明します。