外れ値を除外したデータセットの作成
1外れ値と極値の確認
データ検査ノード
下記の例は、データ検査ノードで欠損値検査を行った結果です。支払金額フィールドに59個の外れ値が含まれていることが分かります。なお、外れ値や極値を検出する基準は、データ検査ノードの設定に基づいており、デフォルトでは、外れ値は標準偏差の3倍の範囲外、極値は標準偏差の5倍の範囲外に観測される値が該当します。
このように1フィールドごとに外れ値を調べる場合は、データ検査ノードを使用すると便利ですが、この機能だけでは外れ値の数を確認することはできても、具体的にどのレコードが外れ値に該当しているかが分かりません。そこで、データ検査の結果画面から以下の操作を行うと、外れ値に該当するレコードを抽出するノードを生成できます。
2外れ値および極値の除外設定
スーパーノードの生成
データ検査の結果でアクションを設定
- データ検査の結果の画面で該当するフィールドを選択します
- データ検査の結果の画面の「アクション」セルを選択して「破棄」を選択します
データ検査の結果からノード生成
- 「生成」メニューの「外れ値および極値スーパーノード」クリックします
対象となるフィールドの指定
- 「選択されたフィールドのみ」を選択して、OKボタンをクリックします
以上で、ストリームキャンバスに外れ値と極値のスーパーノードが追加されます。このノードには、外れ値を除外するための条件式が書かれた条件抽出ノードが含まれており、ストリームにノードを追加することによって、外れ値を除外したデータセットを作成することができます。
スーパーノードをズームインすると(ツールバーのズームインボタン)、条件抽出ノードが自動生成されていることが確認でき、支払金額について、標準偏差の3倍の範囲外のレコードが破棄される設定になっています。外れ値を破棄するのではなく、外れ値のみをデータセットに含めることで、具体的なレコードの吟味や評価を行うことができます。
3結果の確認
テーブルの実行
生成されたスーパーノードをストリームに追加し、外れ値と極値を除外した結果を確認します。
外れ値と極値を除外したテーブルの確認
- 生成されたスーパーノードをストリームに追加します
- 「テーブル」ノードをリンクして実行します
テーブルには、7,706レコードが含まれており、これは元のレコードから外れ値に該当する59レコードが除外された結果です。
また、外れ値を破棄するのではなく、外れ値のみをデータセットに含めることも可能です。これにより、外れ値や極値となるレコードのみに絞り込んで、具体的な吟味や評価を行うことができます。再度スーパーノードをズームインして、条件抽出ノードを編集します。
欠損値検査の結果を確認
- 「条件抽出」ノードのモードの設定を「破棄」から「含める」に変更します
- 「条件抽出」ノードを閉じます
スーパーノードをズームアウトして元のストリームに戻ってテーブルノードを実行すると、以下のように外れ値に該当する59レコードのみを含むデータが表示されます。
参考文献
- ModelerUsersGuide.pdf
- ModelerSPOnodes.pdf