最近、ある JMP ユーザーから次のような質問がありました。 そして、プラットフォームは実行されません。 しかし、予測変数のサブセットを持つモデルを選択すると、モデルが実行されます。 どうしたの? 全部なくなった?」
すべて失われましたか? おそらくそうではありません。
Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.図1。 JMP アラート メッセージ。
上記の JMP アラート メッセージの理由は、データ セット内の欠落データが多すぎるためです。 JMP のデフォルトの動作特性は、欠損データを含む行を分析から除外することです。 欠落の程度が深刻な場合、プラットフォームは実行されません。 欠損データであっても、実際の問題を解決するために使用できる情報がある場合があります。 JMP がデフォルトで欠落データのあるデータ行を除外する場合、この可能性をどのように探せばよいでしょうか? 答え: JMP の欠落データの検出、代入、有益な欠落モデリング機能を使用します。
統計モデリングのベスト プラクティスでは、外れ値、意味のない値、欠損値、および分析を困難にするその他の特性などの問題に目を向けて、データ セットの品質を評価することにある程度の時間とエネルギーを費やす必要があることを示唆しています。 この記事では、データの「欠落」に関する JMP の機能を使用して、適切な決定を下し、適切なアクションを実行する方法の例を示します。
モデリングの問題はすべて、時間をかけて解決する価値のあるビジネス上の問題から始める必要があります。 仮説的ではあるが実例となる問題に取り組んでいきます。 スポーツ フィッシング トーナメント組織委員会は、トーナメントに関して参加者の満足度を左右する主な要因を理解し、繰り返し参加できるようにしたいと考えています。 彼らは、来年の同じトーナメントに参加する可能性について、昨年の参加者からの情報、データ、およびフィードバックを求めます。 委員会はアンケートを通じて参加者から情報を収集します。 しかし、釣りに行く人々の特徴の 1 つは、…うーん…常に最も正直で率直であるとは限らないということです。 BIG ONEを着陸させるためのお気に入りの、最も生産的な釣り場を、まったく見知らぬ人に譲る人はどれくらいいるでしょうか? または、彼らが使用した餌の種類は?
委員会は参加者に、来年戻ってくる可能性があるかどうか、参加者の年齢、餌の種類 (人工または生きている) を尋ねます。 年齢と餌の種類は、モデリングで使用される予測変数です。 完全なデータセットを以下に示します。
Figure 2: The Original DataFigure 2: The Original DataFigure 2: The Original DataFigure 2: The Original Data図 2: 元のデータ
参加者の年齢と餌の種類の両方にいくつかの欠損値があることに注意してください。列。 JMP は欠損データを含む行を除外するため、データを「そのまま」モデル化しようとすると、図 1 に示す JMP 警告メッセージが表示されます。 実際、欠損値のない行は 2 つしかありません (図 2 で強調表示)。 JMP が警告を発しているのも不思議ではありません。
どのように進めるべきですか? 回答者を見つけて「もう一度」尋ねますか? データを捏造? あきらめる?
ちょっと話を戻しましょう。 図 2 に示すデータ テーブルをすばやく目視検査すると、欠落しているデータを簡単に見つけることができます。 もっと大きなデータセットがあるとしたら? 何百万行? 何百もの列? 「欠落」の目視検査は、支持できない解決策です。 JMP の Missing Data Pattern および Explore Missing Values プラットフォームが役に立ちます。 欠損値の行が見つかった場合、それらが欠損しているという事実についてどうすればよいでしょうか? ここから、JMP の欠損値の探索機能と有益な欠損値機能が役立ちます。
Missing Data Pattern プラットフォームを使用して、欠損値を見つけてみましょう。 プラットフォームは、図 3 (右下) に示す欠損データ パターン テーブルを生成します。 パターン列が鍵です。 ゼロ以外の値は、元のデータ テーブル内の欠落のパターンを示します。 パターン列の行エントリでは、パターンの各桁は、元のデータ テーブルの列のバイナリ インジケーターです。 すべてゼロのパターン (最初の行) は、欠損値がないことを示します。 Count 列のエントリは、欠損値のない 2 つの行があることを示しています。 2 番目の行は、ベイト タイプから排他的に値が欠落している行の欠落パターンを示していますか?桁。 3 行目、[参加者の年齢] 列に値がありません。 JMP 独自の動的リンク機能を使用して、欠損データ パターン データ テーブルの行 2 と 3 を選択すると、元のデータの対応する行が選択されます。
Figure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original Data図 3. 欠損データ パターン データ テーブルと元のデータ
欠損値を見つけたので、基本的な質問にどのように答えることができますか?参加者が戻る可能性に影響を与える要因は何ですか? ここからは、JMP の Explore Missing Values プラットフォームを使用して、Age of Participant 列の値を代入してみましょう。 これってデータ捏造じゃないの? これは不誠実ではありませんか? ええと…正確ではありません…特に、モデリングの観点から、お風呂の水で赤ちゃんを捨てる必要がないように、代理値を作成していることを開示する場合. 結局のところ…ちょっとしたモデリングの魔法があれば…代理値を賢く選択すれば、効果のパラメーター推定値は依然として意味のあるものになります。 Explore Missing Values プラットフォームには、2 つの代入アルゴリズムがあります。 この例では、下の図 4 に示す [多変量正規代入] オプションを選択しました。 Age of Participant の平均値に等しい代理値が、元のデータ テーブルの値が欠落している行に入力されていることに注意してください。
Figure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal Imputation図 4。 多変量正規代入
では、ベイト タイプの欠損値をどのように処理すればよいでしょうか?桁。 カテゴリカル予測変数の欠損値を処理する 1 つの方法は、JMP の Informative Missing 機能を呼び出すことです。 有益な欠落構造を使用する基本的な基本原則は、値が欠落しているという事実の背後にあるテーマ、共通性、または潜んでいる変数があると推定することをいとわないということです。 おそらく、トーナメントの出場者が、何らかの非公開の理由で使用した餌の種類を開示することをためらうようなものでしょうか?
[モデルの仕様の適合] ウィンドウから、図 5 に示す [モデルの仕様] の赤い三角形のドロップダウン メニューから [情報的な欠落] を選択して、[情報的な欠落] を呼び出します。
Figure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative Missing図 5. モデルの仕様と有益な欠落
Informative Missing を選択すると、JMP はベイト タイプに新しいレベルを割り当てますか? 'Missing' のカテゴリカル予測子を見つけて、すべての予測子変数列のすべての値を使用してモデル適合プロセスを続行します。 下の図 6 は、名目ロジスティック回帰モデル レポートの効果の概要部分を示しています。 餌の種類に注意してください。実際に反応に影響を与えているようです。
Figure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary Table図 6. 効果一覧表
図 7 に示すように、JMP Prediction Profiler をさらに調べると、Bait Type? の欠損値レベルは?はいの反応を本当に促進しています!
Figure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction Profiler図 7. 予測プロファイラー
ここで、ドメインの専門知識が活躍します。 魚を捕まえて多くの成功を収めたトーナメントの参加者が、使用した餌の種類を明らかにしたくないというのは当然のことです。 企業秘密? しかし、彼らは成功したトーナメントに戻る傾向があるに違いありません。
分析後、トーナメントの記録を深く掘り下げると、秘密主義の参加者の概念と確実に一致する追加データが明らかになりました。 下の図 8 の Y by X ロジスティック回帰プロットに適合します。は、捕獲された魚の総重量の関数です...そして、それらを捕まえた参加者は、彼らの秘密について多くを語っていません.
Figure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression Plot図 8. ロジスティック回帰プロット
次回、データセットに欠損値がある場合は、データが実際に欠損している場合でも、JMP を使用するとシステムについて何かを学べる可能性があることを覚えておいてください。 すべてが実際に失われるわけではありません。