次のプロパティは、列がプラットフォームでどのように使用されるかを制御します。
• 分布
• 時間の単位
• 地図の役割
• 上位カテゴリ
• 多重応答
• イベントを示す水準
• 利益行列
• 欠測値をカテゴリとして扱う
連続尺度の数値データを持つ列の場合、[分布]プロパティを使って、列にあてはめる分布の種類を選んでおくことができます。このプロパティで指定された分布は、「一変量の分布」プラットフォーム、および特定の条件下での「工程能力分析」プラットフォームで使用されます。分布と工程能力分布を参照してください。
その列に対して「一変量の分布」レポートを作成すると([分析]>[一変量の分布]を選択)、常に、指定された分布を使って自動的にあてはめが行われます。あてはめた分布を表す曲線は、ヒストグラム上で重ねて表示されます。
「分布」と「仕様限界」の両方のプロパティを設定した場合、「一変量の分布」レポートでは、「分布」列プロパティで指定した分布に基づいて「工程能力分析」レポートが作成されます。
メモ: 古いデータテーブルでは、列に仕様限界を指定する目的で「工程能力分析」列プロパティが割り当てられている場合があります。今後は、「仕様限界」プロパティを使用するようにしてください。
「工程能力分析」プラットフォームにおいて「工程能力分布」プロパティを含まない列を分析する場合で、「分布」列プロパティである非正規分布が指定されていた場合、その分布があてはめられます。ただし、その非正規分布が「工程能力分析」プラットフォームでサポートされている必要があります。その非正規分布がサポートされていない場合は、Johnson分布があてはめられます。
特定の列に「分布」列プロパティと「工程能力分布」列プロパティの両方が保存されている場合、「分布」列プロパティで指定されている分布は「一変量の分布」プラットフォームで使用され、「工程能力分布」列プロパティで指定されている分布は「工程能力分析」プラットフォームで使用されます。
「時系列分析」プラットフォームを使用する際、データに「時間の単位」列プロパティを割り当てることができます。「時間の単位」列プロパティでは、データが観測されている時点の周期を指定できます(年・四半期・月など)。「時間の単位」列プロパティを指定することにより、うるう年やうるう日などが考慮されます。周期を指定しなければ、等間隔の時点でデータは測定されたものとして扱われます。
(国・州・県・郡などの)境界線のデータを含むデータテーブルを作成し、それに対応する地図をグラフビルダーで見たい場合、「地図の役割」列プロパティを使用します。
次のことを注意してください。
• 独自の境界線データが、デフォルトで決められている地図ディレクトリにある場合、-Nameファイルで「地図の役割」列プロパティを指定しておけば、その地図を表示できます。
• 独自の境界線データが別の場所にある場合、-Nameファイルと分析を行うデータテーブルの両方で「地図の役割」列プロパティを指定する必要があります。
• 「地図の役割」列プロパティを指定する両方の列に、同じ境界線の名前が含まれている必要がありますが、列名自体は異なっていてもかまいません。
「地図の役割」列プロパティを使用した例については、『グラフ機能』の地図の役割を参照してください。
-Nameデータテーブルに「地図の役割」プロパティを追加するには
1. 境界線を含む列を右クリックし、[列プロパティ]>[地図の役割]を選びます。
2. [シェープ名の定義]を選びます。
3. [OK]をクリックします。
4. データテーブルを保存します。
分析するデータテーブルに「地図の役割」プロパティを追加するには
メモ: この手順は、自分で作成した境界線ファイルがデフォルトのカスタム地図ディレクトリにない場合にのみ行ってください。
1. 境界線を含む列を右クリックし、[列プロパティ]>[地図の役割]を選びます。
2. [使用するシェープ名]を選びます。
3. 「地図の名前データテーブル」の横にあるをクリックして-Name地図データテーブルを参照します。相対パスまたは絶対パスを入力できます。
地図データテーブルが同じフォルダにある場合は、ファイル名だけを入力します。パスにスペースが含まれている場合でも引用符は不要です。
4. 「シェープ定義の列」の横に、選択している列に対応する値を含む、地図データテーブル内の列の名前を入力します。
5. [OK]をクリックします。
6. データテーブルを保存します。
「グラフビルダー」でグラフを作成する際に、「地図の役割」プロパティを追加した列を「シェープ」ゾーンに割り当てると、指定した境界線の地図がグラフに表示されます。
(5段階評価などの)等級分けしたデータで、上位2段階をまとめたグループの割合などを知りたい場合があるでしょう。そのような場合、応答に「上位カテゴリ」列プロパティを追加して、特定のカテゴリを1つのグループにまとめることができます。
上位カテゴリは、「カテゴリカル」プラットフォームでのみサポートされています。
データに「上位カテゴリ」プロパティを追加するには
1. グループ化したいカテゴリを含む列を右クリックします。
2. [列プロパティ]>[上位カテゴリ]を選択します。
列プロパティウィンドウに、「上位カテゴリ」のオプションが表示されます(図5.5)。
3. 「列のカテゴリ」リストから、グループ化したいカテゴリを選択します。
4. 「上位カテゴリ名」の下にわかりやすい名前を入力します。
何も入力しない場合、選択したカテゴリの後に「など」が付けられます。
5. [追加]をクリックすると、上位カテゴリが作成されます。
6. 「上位カテゴリ」の赤い三角ボタンをクリックし、次のオプションの中から選びます。
[オプション]>[非表示]
選択した上位カテゴリのデータをレポートおよびグラフで非表示にします。
[すべて追加]
列のすべてのカテゴリから上位カテゴリを作成します。
[平均を追加]と[標準偏差を追加]
値スコアの統計量を計算します。『消費者調査』を参照してください。
7. [OK]をクリックして、上位カテゴリをプロパティに追加します。
図5.5 上位カテゴリの設定例
多重応答とは、1セルの中に複数の応答が含まれている状態を指します。アンケート調査などでは「複数回答」と呼ばれています。たとえば、「Consumer Preferences.jmp」サンプルデータの「歯磨き カンマ区切り」のセルには複数の解答が含まれています。行6を見てください。そこには“Wake, After Meal, Before Sleep”というデータが含まれています。
このような多重応答データにおいて、カンマ以外の区切り文字を指定したい場合は、「多重応答」列プロパティを追加します。区切り文字がカンマの場合は、列情報ウィンドウで列の尺度を「多重応答」にしただけで構いません。「多重応答」尺度の詳細については、尺度についてを参照してください。
JMP 12以前のバージョンで保存されたデータテーブルの、「多重応答」列プロパティがある列には、「多重応答」尺度が自動的に割り当てられます。列には「多重応答」列プロパティが設定されていて、また、自動的に各値を認識するためには区切り文字がカンマでなければなりません。「多重応答」列プロパティは、ユーザが意図的に削除しない限り、JMPによって自動的に削除されることはありません。
図5.6 「多重応答」の設定ウィンドウ
メモ: 「多重応答」列プロパティは「カテゴリカル」プラットフォームで使用できます。『消費者調査』の多重応答を参照してください。「多重応答」列プロパティは、データフィルタでも使用できます。詳細については、データフィルタを参照してください。区切り文字がカンマの場合は、代わりに「多重応答」尺度を用いてください。
「ロジスティック回帰」プラットフォームの応答変数に対し、関心のある水準を指定するには、「イベントを示す水準」列プロパティを用いてください。「イベントを示す水準」は、ロジスティック回帰モデルで「陽性」であるほうの応答水準として使用されます。統計量・確率曲線などに影響します。この列プロパティは2値の応答変数用に設計されていますが、それ以外のカテゴリカルな列に用いることもできます。
メモ: 「イベントを示す水準」列プロパティは、2値である応答変数の列に対して指定されている場合、「二変量の関係」のロジスティックプラットフォームや「モデルのあてはめ」プラットフォームの[名義ロジスティック]手法によって使用されます。
応答変数が名義尺度または順序尺度である予測モデルにおいて、それらの予測に利益(利得)を割り当てるには、「利益行列」列プロパティを用います。応答変数が2値である場合は、「確率の閾値」も指定できます。
メモ: 「利益行列」列プロパティは、「モデルの比較」・「パーティション」・「PLS」・「モデルのあてはめ」といったプラットフォームで使用されます。「モデルのあてはめ」プラットフォームの手法のうち、「利益行列」列プロパティを使用するのは、「一般化回帰」・「名義ロジスティック」・「順序ロジスティック」です。
[列プロパティ]>[利益行列]を選択すると、選択した列の各値を行および列とした利益行列が表示されます。この利益行列において、実測値の水準は行に、予測値の水準は列になっています。利益行列における対角のセルは、予測が正しいとき、つまり、実測値と予測値が一致しているときのものです。
• 対角線上のそれらのセルには、予測が正しいときの利益を入力します。
• 非対角のセルには、予測が間違っているときの利益(つまり損失)を入力します。
• 予測をしない場合については、「その他」列を使用して、関連する利益(または損失)を指定します。
応答が2水準の場合は、「利益行列」の下に追加のオプションが表示されます。これらのオプションを使用すると、利益行列に直接、利益を入力するのではなく、確率の閾値を入力できます。
「イベントを示す水準」と「確率の閾値」を指定します。その後、[設定]をクリックして利益行列を更新します。
イベントを示す水準
確率をモデル化するときに、興味があるほうの水準を指定します。
確率の閾値
「イベントを示す水準」が生じる確率に対する閾値を指定します。ある観測について、「イベントを示す水準」となる確率が「確率の閾値」を超える場合、その観測は「イベントを示す水準」のほうに分類されます。
設定
「イベントを示す水準」と「確率の閾値」での指定を反映する値が、利益行列に入力されます。詳細については、「確率の閾値」の計算を参照してください。
ここでは、「確率の閾値」をtで表します。[設定]をクリックすると、利益行列の各セルは次のように割り当てられます。
• 対角のセルには0が割り当てられます。つまり、正しい分類をした時には損失がないとします。
• 実測値が「イベントを示す水準」以外のときに、「イベントを示す水準」に分類することには、-1が割り当てられます。
• 実測値が「イベントを示す水準」のときに、「イベントを示す水準」以外に分類することには、-t/(1 - t)が割り当てられます。
つまり、利益行列の非対角要素は、次のように設定されます。
「利益が最大となる予測値」は、利益がこれらの2つの値の大きい方となる水準です。上記の2つの利益の式から、あるデータ行のProb[イベントを示す水準]がt以上であれば、そのデータ行は「イベントを示す水準」のほうに分類されます。
「利益行列」列プロパティを持つ名義尺度または順序尺度の列に対して、ほとんどのモデル化プラットフォームで、利益行列を反映した計算式列を保存できます。それには、モデルをあてはめてから、[予測式の保存]または[確率の計算式の保存]オプションを選択します。そうすると、通常の予測式以外にも、以下のような計算式が保存されます。
• <水準>の利益: 応答の各水準について、各データ行をその水準に分類したときの期待利益が保存されます。
• <列名>の予測値: 各データ行について、期待利益が最も高い応答の水準が保存されます。
• <列名>の期待利益: 各データ行について、(利益が最大となる)予測値に分類したときの期待利益が保存されます。
• <列名>の実測利益: 各データ行について、そのデータ行を(利益が最大となる)予測値に分類したときの実測利益が保存されます。
詳細については、3水準以上の利益行列の例を参照してください。モデル化で利益行列を使用する例については、『予測モデルおよび発展的なモデル』の「決定行列」レポートを参照してください。
下の例は、「Travel Costs.jmp」サンプルデータテーブルにある「航空会社」列の利益行列を示しています。
図5.7 「利益行列」ウィンドウの例
この利益行列がどのような意味をもつかを理解するために、4つの航空会社Carrier 1~Carrier 4の航空券を取り扱っている旅行代理店になったつもりで考えてみましょう。旅行代理店は、販売した各航空券について、顧客が選んだ航空会社に応じた利益を得ます。旅行代理店は、航空会社を顧客に勧めた、つまり予測した段階で、航空券を予約し、予約金を支払います。旅行代理店が予測した航空会社を顧客が利用した場合、予約金を差し引いた所定の金額が旅行代理店の利益となります。しかし、顧客が別の航空会社を選んだ場合は、支払い済みの予約金が無駄になるうえ、別の予約金を払わなければならなくなります。予測を間違えると、旅行代理店の利益は少なくなります。
航空会社Carrier 1~Carrier 4の予約金をそれぞれ$15, $20, $30, $50、そして航空券の販売金額をそれぞれ$40, $40, $100, $110としましょう。
旅行代理店が顧客にCarrier 1を勧め、顧客がその航空券を購入した場合、旅行代理店は予約金$15を支払い、$40を得るため、純利益は$25となります。顧客がCarrier 4を選ぶと旅行代理店が予測し、顧客が実際にはCarrier 1を選んだ場合、旅行代理店はCarrier 4の予約金である$50を失うだけでなく、Carrier 1の予約金である$15を支払わなければならなくなります。つまり、旅行代理店は$40 - $50 - $15 = -$25の純損失を被ることになります。
「Liver Cancer.jmp」サンプルデータには、136人の患者に対する病気の「重症」度が含まれています。「BMI」から「黄疸」までの列を使って「重症」を予測することにしましょう。通常の予測では、最も確率の高い「重症」の水準に各患者を分類します。しかし、重症度が実際には「High」である患者を「Low」に分類してしまうことは、重症度が実際には「Low」である患者を「High」に分類してしまうよりも重大な間違いです。そこで、重要度が実際には「High」である患者を間違って「Low」に分類することに対し、より高いコストを設定することにします。
「確率の閾値」を設定することにより、そのようなコストを設定できます。あなたは、専門家の意見を基にして、水準値がHighとなる確率の予測値が0.4を超える患者を「重症」のHighの水準に分類することにしました。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Liver Cancer.jmp」を開きます。
2. 「重症」列を選択し、[列]>[列情報]を選択します。
3. 「利益行列」列プロパティを選択します。
4. 「イベントを示す水準」を[High]に変更します。
5. 「確率の閾値」に0.4と入力します。
6. [設定]をクリックします。
指定した「確率の閾値」に対応するように、利益行列が更新されます。
図5.8 確率の閾値に対応する利益を設定した利益行列
この利益行列は、重症度が「High」の患者を間違って「Low」に分類したときの損失が「-1」、重症度が「Low」の患者を間違って「High」に分類したときの損失が、より小さい「-0.6667」であることを示しています。
「欠測値をカテゴリとして扱う」列プロパティを設定すると、予測モデルをあてはめるプラットフォームのほとんどで、欠測値をカテゴリとして扱うようにします。連続尺度の説明変数に対しては、2つの列が内部的に作成されます。1つ目の列は、元の値を使った列で、欠測値が非欠測値の平均で置き換えられます。2つ目の列は、指示変数の列で、どの行が欠測しているかを示します。カテゴリカルな列の場合、欠測値が1つの水準として扱われます。