欠損レコードを除外したデータセットの作成
1欠損レコードの確認
データ検査ノード
以下のデータセットでは、Q1~Q5の5つのフィールドに欠損値($null$)を含んでいます。IBM SPSS Modelerでは、欠損値を別の値に置き換えるデータ加工の機能も持ちますが、この例では、データ検査ノードを使用して、フィールドQ1~Q5で欠損値を持つレコードを除外する方法を確認します。
データ検査ノードの実行
- 「出力」パレットから「データ検査」ノードをストリームキャンバスに挿入します
- 「データ検査」ノードを実行します
データ検査の結果が出力され、各フィールドの視覚的および数値に基づく要約情報や有効レコード数が確認できます。欠損値の内訳の詳細を確認する場合は、欠損値検査タブを表示します。
欠損値検査の結果を確認
- 「欠損値検査」タブをクリックします
欠損値に関する情報は画面右側に表示されるため、フィールド名の列をドラッグして右側に移動させます。
非欠損レコードは40%であり、欠損値を持たない有効レコードが全体の40%(この例では全10レコードのうち4レコードが有効)であることが分かります。また、数値型フィールドの場合は「ヌル値」列から各フィールドの欠損値の数を確認できます。
2欠損レコードの除外
ノードの生成
次に、欠損レコードを除外するために、欠損値を持たない有効レコードのみを抽出するノードの生成を行います。
有効レコードの抽出
- 「生成」メニューから「欠損値選択ノード」を選択します
- 「レコードが次の状態の時に選択」にある「有効」ラジオボタンを選択します
- 「OK」ボタンをクリックします。(データ検査ノードの結果もOKボタンで閉じます)
この例では欠損レコードを除外したいので有効レコードを保持する意味で「有効」を選択しました。「無効」を選択すると欠損レコードをだけを選択する条件に変わります。有効と無効の設定は生成される条件抽出ノード内でも変更が可能です。
以上の手順で、(生成)という名前の条件抽出ノードがストリームキャンバスに作成されます。このノードには有効レコードのみを選択する条件式が含まれています。
3結果の確認
テーブルの実行
生成された条件抽出ノードをストリームに挿入して、テーブルに出力して結果を確認してみます。
条件抽出ノードの追加とテーブルの実行
- 「条件抽出」ノードをストリームに追加します
- 「テーブル」ノードを下流に追加して実行します
以上で、欠損値を含むレコードを除外して有効レコードのみのデータセットを作成することができました。
参考文献
- ModelerUsersGuide.pdf
- ModelerSPOnodes.pdf