日本語 English
株式会社ヒューリンクス
TEL:03-5642-8384
営業時間:9:00-17:30

一元配置実験 (Part2:上級編)

  1. 診断機能をさらに掘り下げる
  2. 計画割付表の修正

1.診断機能をさらに掘り下げる

このチュートリアルのパート1から引き続きボウリングデータを開いている場合は、そのまま次に進んでください。それ以外の場合は、“Help” メニューをクリックし、“Tutorial Data” -> “Bowling” の順に選択して、ボウリングデータを読み込みます。データを開いたら、画面左側のツリー構造にある Analysis から “Score” ノードをクリックし、“Diagnostics” タブをクリックしてください。

診断ツールの新しいグラフを、見ていくことにしましょう。レイアウトツールバーで、単一の分割アイコンを選択して、現在のプロットを最大化します。

次に、“DFFITS” タブを選択してください。

DFFITS タブ

当てはまりの違い (difference in fits) をあらわすこの統計量は、各応答について、それ自身を削除することで予測値がどれだけ変化するかを調べるものです。DFFITS の絶対値が大きいものほど、モデルの当てはめに対する影響が大きくなります(この統計量、および、これと関連する削除診断 DFBETAS の詳細につきましては、プログラムのオンラインヘルプまたは、Raymond Myers 著 Classical and Modern Regression with Applications, 2nd Edition (PWS Pub. Co., 1990) を参照してください)。

DFFITS グラフ
(実際に表示されるグラフは無作為化により異なる場合があります)

ひとつだけ上に飛び出している点があることに注目してください(実際のグラフのパターンは試行順の無作為化により、ここに示しているものとは異なる場合がありますが、この説明を左右するものではありません)。一番上にあるこの点は、Mark が最高点を記録した先に物議をかもしたゲームです。競争相手の Pat や Shari と比べれば際立っていますが、DFFITS の観点で Mark の点を見ると、基準値 ±1.22 を下回っていることがわかります。他の診断も考慮に入れれば、この試行に関する調査はこの位で充分です。ここでは、Design-Expert ソフトウェアの新しい機能の使い方を学ぶために、Mark の記録した最高点をマウスで右クリックして、以下のように “Highlight Point” を選択してみることにしましょう。

点を強調表示する

Raymond Myers は、DFFITS の統計量が実際は外部スチューデント化残差に高いレバレッジ点を乗じたものであることを数学的に示しています。ここで、“Leverage” タブをクリックしてみましょう。処理水準ごとに同一の試行数が実行されたため(3人のボウラーがそれぞれ 6ゲームずつプレイしたので)、全ての試行が同一のレバレッジであることを確認できるはずです。

従って、ここでの DFFITS グラフは、前のチュートリアルで学んだ外部スチューデント化残差と同じパターンを示すことになります。これをわざわざ復習したのは、このチュートリアルの後半で学ぶ内容の足がかりにするためです。レバレッジを不揃いにして、このセッションの診断目的を有意にします。

Diagnostics を離れる前に、Design‐Expert ソフトウェアの機能を最後に1つだけ見ることにしましょう。右下のセクションより “Report” タブをクリックしてください。実験全体の個別の統計量が標準の順番に並んでテーブルで表示されます。画像よりも数値を好む方(正確さを求める統計の専門家)は、こちらの方が納得できるはずです。以下に示すように、Mark の記録した 195 点のゲームは青文字で強調されている点に注目してください。

レバレッジ
前の診断グラフで使用した各試行の統計レポート

Design-Expert 内のレポート内の任意の値を右クリックすると、統計の詳細を説明したコンテキスト依存のヘルプが表示されます。

2.計画割付表の修正

Design-Expert で計画割付表のデータに変更を加える際、その機能の柔軟性が大いに発揮されます。既存の計画にブロックや因子水準をどのような手順で追加するかをこのボウリングのシナリオを通して見ていくことにしましょう。

ボウリングの試合結果は、とりわけ Mark の立場からすれば、ハッキリしているようです。しかし、Pat と Shari は、自分たちがチームに貢献することを証明したいあまり、もう一回だけチャンスをくれるよう求めます。診断分析による裏付けはなされていませんが、二人は Mark が 195点を記録したゲームを依然として「まぐれ」であると思っているのです。Mark はこれに反論し、議論は収束しません。

チームキャプテンは妥協して、3人のボウラーがそれぞれ記録した最も点数の高いゲームと最も点数の低いゲームを無効にし、新たに2ゲームを実施してそのスコアと入れ換えることに決めました。さてここで、新入社員で熱狂的なボウラーである Ben がボウリング場に到着し、試行の第2ブロックであるこの試合に参加することになりました(彼の参加自体は結論を左右するものではありませんが、Design‐Expert を使って実験を柔軟に計画し分析できることを紹介するこのチュートリアルに興味深い新たなエピソードが加わることになります)。

この若者は、投げ方が人と少し違うことがすぐにわかりました。彼は左利きで、コントロールの難しい鋭いフックを投げます。違いはこれだけにとどまりません。Ben には他のボウラーにはない珍しい特徴があります。彼はフックが鋭くなるように、親指をボールの穴に入れずに投げるのです。Ben のこの風変わりな投げ方が仮にうまくいけば、ピンは見事に倒れます。しかし殆どの場合、ボールは左手のガーターに滑り落ちるか、右手のレーンをものすごい勢いで飛び超えてしまいます。

元々いた3人の候補者と Ben の成績は次のとおりとなりました

BlockGamePatMarkShariBen
11160165166NA
12150180158NA
13140170145NA
14167185161NA
15157195151NA
16148175156NA
21162175163200
22153180166130

各人の最高点と最低点を新たに実施した2ゲームと置き換え、
更に新人 Ben を追加したボウリングのスコア

新たに作成されたこのデータを入力していくことにしましょう。画面左のツリーにある “Design” ノードをクリックしてください。パート1で作成したボウリングデータが表示されるはずです。Mark の記録した 195 点のゲームは、青文字で強調されたままです(このチュートリアルの前半で診断を実施したときの手順に従って、これをクリックしたと仮定します)。

左上の列ヘッダーを右クリックして “Block” を選択します。今度の計画では、新たに加わったボウラー (Ben) のスコアデータを取り扱えるようにする必要があります。

新たに作成されたこのデータを入力していくことにしましょう。画面左のツリーにある “Design” ノードをクリックしてください。パート1で作成したボウリングデータが表示されるはずです。Mark の記録した 195 点のゲームは、青文字で強調されたままです(このチュートリアルの前半で診断を実施したときの手順に従って、これをクリックしたと仮定します)。

左上の列ヘッダーを右クリックして “Block” を選択します。今度の計画では、新たに加わったボウラー (Ben) のスコアデータを取り扱えるようにする必要があります。

ちなみに、計画割付表で修正した内容はいつでも取り消すことができます。Set Row Status で “Normal” をクリックすれば、無効に設定した行が元に戻ります。

Mark の最高のゲームを無効にする

それでは実際に、Pat と Shari の望みどおり、二人の最低得点のゲームをリストから除外することにしましょう。一番左の列の一番上の行にある四角いボタン(Pat が 140 ピンを記録した最低得点のゲーム)をクリックし、Shift キーを押しながら、一番左の列の上から二番目の行にある四角いボタン(Shari が 145 ピンを記録した最低得点のゲーム)の2つをクリックしたら、Shift キーを離してください。Select 列の一行目または二行目にマウスを置いたまま右クリックしたら、“Set Row Status” -> “Ignore” を選択してください。これで、この最低得点の2ゲームが無効に設定されます。

Pat と Shari の最低のゲームを無効にする

Mark が 165 ピンを記録した最低のゲームのすぐ下にある2行に注目してください。これは、Shari(166)と Pat(167)がそれぞれ最高得点を獲得したゲームです。今度は、Shari と Pat がクレームの対価を払う番です。まず Shift キーを押しながら、一番左の列にある次の2つの四角いボタンをクリックしてください:ひとつは Shari が 166 ピンを記録した最高得点のゲーム、もうひとつは、Pat が 167 ピンを記録した最高得点のゲームです。選択が済んだら Shift キーを離してください。以下に示すように、現在3つの行が淡いブルーで強調されているはずです。一番左の列でハイライトしている 3つの行の間にマウスを置いたまま右クリックして“Set Row Status” -> “Ignore” を選択してください。

Mark の最低のゲームとShari と Pat の
最高のゲームを無効にする

それでは次に、割付の順序を元の状態に戻すことにしましょう。Factor 1 (A: Bowler) 列のヘッダーを右クリックして、 “Sort Ascending” を選択してください。以下に示す画面と実際の画面を見比べてみましょう。もし違いがあれば、スクリーンショットの内容と同じになるよう、この段階で修正を行ってください。ただし、試行番号については修正の必要はありません。これらはそもそも無作為化されているためです。

各ボウラーの最高と最低のゲームを無効にした後、
標準の順番にソートする

次に、新規ブロックを作成することにしましょう(ボウリングの第2ラウンド用です)。Block 列のヘッダーをクリックすると画面左側のDesign Properties ペインに Block セクションが表示されます。“Levels” を選択することで、ブロック情報を編集するための省略記号アイコン[…]ボタンが有効になります。

新規ブロックの作成

ブロックの名称を割り当てる入力フォームが表示されますが、今回は何もせず次に進んでください。以下に示すように一番上にある Number of Blocks を「2」に変更します。Tab キーを押して変更内容を確認してみましょう(Name フィールドの表示が途中で切れている場合には、列のヘッダーの右側の境界線をクリックして列幅を変更してください)。

“OK” をクリックしてください。何も変化がないように見えますが、プログラムはこの段階ではじめて、もうひとつの試行ブロックを取り扱うということを認識します。

2番目の試行ブロックを追加

行の追加や複製を始める準備が、これでようやく整いました。割付を完成させるには、操作する人の裁量次第で幾通りものやり方が考えられますが、ここではあえて手際の良い方法はとらず、出来る限り多くの編集機能を紹介できる方法をとることにします。以下に示すように、一行目(Pat が 140 ピンを記録したゲーム)の左端にある 四角いボタンを右クリックして、編集メニューを開いたら、そこから最初の選択肢 “Insert Row” -> “Before This Row” をクリックしてください。

新しい行を挿入する

ボウラーとスコアが空白の新しい行が追加されるのを確認できるはずです(取り消し線が引かれ、無効の状態になっていますが、これは一時的なものですので、気にしないでください)。Block フィールドのヘッダーの真下にある一行目の “Block1” セルをクリックして、リストの下向きの矢印をクリックします。

以下のように、“Block 2” を選択します。

ブロック番号の変更

次に、Bowler Person の空白フィールドをクリックして、リスト矢印を押してください。リストから “Pat” を選びます(この事例ではカテゴリー型因子を使用しているのでこのような選択肢になっていますが、数値型フィールドの場合は数値を入力することになります)。

各ボウラーの最高と最低のゲームを無効にした後、
標準の順番にソートする

もう一度、一行目の左端にある四角いボタンを右クリックして、以下に示すように編集メニューを表示させたら、今度はリストから “Duplicate” をクリックしてください。

行を複製する

Design-Expert のポップアップで次のような警告が表示される場合があります。

プログラムはここで問題となる可能性を察知し、2番目のブロックにはボウラーが一人しかいないことを警告しています。これから別のボウラーを追加していくことになるので、この段階で警告を気にする必要はありません。 “Do not show this warning again” (この警告を今後表示させない)のチェックオプションをオンにしておけば、以降、警告による煩わしさを無くすことができます。このオプションで警告を排除できるのは無限ではありませんので、ご心配なく。この警告はプログラムを次に起動するときには再びオンになります。

カテゴリーの対比に関する警告
警告をオフにする
(プログラムを次に起動すると再び有効になります)

“OK” をクリックして次に進みます。

Block 列のヘッダーを右クリックして、Sort Ascending を選択してください。

新たに追加された2行は、計画割付表の一番下に並び変えられているはずです。あとは、Shari 用と Mark 用それぞれに、2行ずつ必要となります。Pat 用に追加された 2行を単純に複製して、その名称を書き換えることにしましょう。まず、Pat 用に追加された最初の行の左端にある四角いボタンをクリックして、その行を強調させます。続いて、Shift キーを押した状態のままで、Pat 用に追加された 2番目の行の左端にある Select 列の四角いボタンをクリックしてください。現在、2つの行が強調された状態になっているはずです。

次に、ハイライトされているブロックの左端にある四角いボタンのいずれかを右クリックして、“Duplicate” を選択してください(警告をあらわすポップアップ画面がもう一度あらわれたら、“OK” をクリックしてください)。

複製した最初の行にある Bowler フィールドをクリックして、リストから “Mark” を選択してください。

行のブロックを複製する
ボウラーの名称を変更する

最後の行も同じように指定してください。現在、Pat 用と Mark 用の行が、それぞれ 2行ずつ用意されているはずです。Mark 用に新たに追加された一行目の左端にある四角いボタンをクリックして、その行を強調させてください。続いて、Shift キーを押した状態のままで、Mark 用に追加された 2番目の行の左端にある四角いボタンをクリックしてください。現在、2つの行が強調された状態になっているはずです。前と同じように、ハイライトされているブロックの左端にある四角いボタンのいずれかを右クリックして、“Duplicate” を選択してください。

さらに2行を複製する

複製した最初の行にある Bowler フィールドをクリックして、リストから Shari を選択してください。最後の行についても同じ操作を繰り返します。

Block 2 (ボウリングの第2ラウンド) 用の行の作成が完了した例

ところで、新入社員の若者 Ben についてはどうしましょうか?彼については、このボウリング競技に加わった新たな競争相手として明確に区別する必要があります。これを行うには、 Factor 1 列のヘッダーをクリックし、 LevelsDesign PropertiesペインのCategoric Factor の下)を選択して、右側の省略記号 “[…]” をクリックします。

この因子の水準を新たに追加する準備

Number of Levels の値を「4」に変更し(以下図を参照)、Name 列と行番号 が交差するフィールド (右下図を参照) をクリックして、そこに名称として「Ben」と入力してください。

レベル数の変更と別のボウラーの追加

“OK” をクリックしてください。警告が表示されたら再度 “OK” をクリックしてください。次に、更に2つの行を複製することにしましょう。Shari 用に追加された2つのゲームの最初の左端にある四角いボタンをクリックしてください。続いて、Shift キーを押した状態のままで、最後の試行の左端にある四角いボタンをクリックしてください。最後に、ハイライトされているブロックの左端にある四角いボタンのいずれかを右クリックして、“Duplicate ” を選択してください。

新たに複製された2つの行について、それぞれ、Bowler フィールドをクリックして、リストから “Ben” を選択してください(別の警告が表示されたら“OK” をクリックします)。

ボウラーとしてBenをリストに追加した
 重要な忠告:実際の実験では、試行の順番を、必ず無作為化するようにしてください。このチュートリアルを進めるにあたり、無作為化を行うと混乱が生じますので、ここでは、無作為化を試してみたい方だけ実行するようにしてください。ただし、これを実行するのはとても簡単です。Run 列のヘッダーを右クリックして、以下に示すように、Block 2 に対してこれを行うだけです。
2番目のブロックの試行順を無作為化する方法

結果を入力しやすくするために Factor 1(A: Bowler)列のヘッダーをダブルクリックして “Sort Ascending”(昇順にソート)します。それから Block 列をダブルクリックして“Sort Ascending ”(昇順にソート)します。以下に示すように、8つの新しいスコアを入力します。

2番目のブロックにデータを入力

次に進み、Analysis にある “Score” ノードをクリックしてデータを再分析します。
Transform
 に進んで “Effects” タブをクリックします。計画が “orthogonal”(直交型)ではない場合は警告が表示されます。

効果の半正規プロット上で緑色の三角形(推定誤差)の先に表示されている四角形をクリックしてください。これにより A: Bowler がモデルに追加されます。

効果の半正規プロットでA: Bowlerを選択

“ANOVA” に進んだら(このモデルが有意ではないことは見逃します)、続いて “Diagnostics” に進みます。ご覧いただくとお分かりのとおり、このデータには何らかの異常が存在します。残差プロットが綺麗な直線に並んでいないことにお気づきでしょうか?とりわけ、以下に示すように、両端点は大きく外れています。画面上の Diagnostics Tool にある Color by を “Bowler” に変更してみましょう。

ボウリングの結果の診断 ― 
パート2:直線上に綺麗に並んでいない残差の正規プロット

ここで、Ben の結果が他のボウラーの結果とは当てはまらないことを確認できます(高低両端点の2つの外れ値が彼のゲームです)。これは彼の変わった投げ方からして当然の帰結です。“Resid. vs Run” タブをクリックすると外部スチューデント化残差が表示されます- 外れ値を検出するのに便利なツールです。グラフの右端にある Ben の残差にマウスをドラッグしてください。

外れ値であるとして強調表示されたBenの試合

2つの点が強調されているはずです。この2つの点は無視するか削除する必要があります。(Ben ごめんなさい!Stat-Ease 社ではプログラマーが変わった行動をするのは普通ですが、ボウリングではそうはいきません)。

“Design” ノード (左上) をクリックして、最初の計画割付表に戻ってください。Ben のゲームだけがわかりやすい青文字で強調されている点に注目してください。

データを無視するオプションについて:応答測定が1つしかないこのケースにおいてメリットはありませんが、そのセルを右クリックして Set Cell Status を以下のように Ignore に設定することによって特定の結果を無視することができます。
セルの1つを無視する(このケースでは推奨されません)

この事例で望ましいのは、彼の試行全体(個別のセルではなく)をチュートリアルの前半で説明したように無効にすることです。もっと簡単なのは、それらを一括して削除することです。Ben には誠に申し訳ないのですが、彼はボウリングを2ゲームしかしておらず、また、彼の型破りのスタイルがこのような異常なばらつきを生み出したというわけで、今回のところは、彼が最初に記録した 200 ピンのスコアの左端にある四角いボタンをクリックし(彼を落ち込ませることになるでしょうが)、Shift キーを押しながら、その下にある2回目のゲームで記録した 130 ピンのスコアのボタンをクリックして(これを削除してもさほど申し訳ないとは思いませんが)、マウスの位置を動かさずに右クリックして、“Delete Row(s)” を選択するのが最良の選択です。

Benのゲームを削除する

行の削除に関する警告が (安全措置として) ポップアップで現れますが、“OK” をクリックしてください。次に進んでこの結果を再度分析します。

これ以上新たにゲームをプレイしても、誰が良いボウラーであるかという点に関して最終的な結論に変わりはないことが明確になりました。トップの座は依然として Mark です。Block 1 で各ボウラーの最高点と最低点のゲームを無効にしましたが、ここではそれを復活させるべきでしょう。このデータは削除されたのではなく、無視されただけですので、これを元に戻すのは簡単です。問題の6行それぞれについて、左端のボタンを右クリックして、Set Row Status の選択肢を Normal に切り替えます(マウスを使ってテキスト行やデータの処理に慣れ親しんでいる方は、Shift キーを押しながらクリックして、全ての行を一度に変更できます)。実際にお試しください!以上が済んだら、最後にもう一度このデータを分析してください。

この演習は以上で終わりです。Design‐Expert で計画割付表を操作することが、いかに簡単かお分かりいただけたと思います。

追伸:Ben のスコアが削除されたことは釈然としないですか?心配しないでください。彼はその後 Pat と Shari と一緒に、マイナーリーグでボウリングを始めます。そこでボウリングをまる一年(約100ゲーム)続ければ、Ben の変わった投げ方が全体の平均を上げるのに貢献するかどうかが明らかになるはずです。結局のところ、彼の記録した2ゲームの平均 165 ピンは、ブレがあるだけで、それほど悪いものではありませんでした。データがより多くあれば、それだけ彼の持つ真の能力が明らかになることでしょう。