欠損レコードを除外したデータセットの作成 / Modeler
IBM SPSS Modelerでは、予測モデル作成のためのいくつかの手法を使用する場合、欠損レコードが含まれて処理が行われます。また、グラフ作成を行う場合にも欠損レコードが含まれた形で処理されます。欠損レコードを分析やグラフ作成に含めたくない場合は、事前に欠損値を何からの適切な値に置き換えておくか、欠損値を持つレコードを除外することがあります。例えば、以下のデータセットのフィールドQ1~Q5には、欠損値が含まれています。
※数値型フィールドの欠損値は「$null$」と表示されます
IBM SPSS Modelerでは、欠損値を別の値に置き換えるデータ加工の機能も持ちますが、この例では、フィールドQ1~Q5で欠損値を持つレコードを除外する方法を、データ検査ノードを使用する比較的簡単なアプローチで確認してみます。この方法はノードの自動生成の機能を活用します。
(1)「出力」パレットから「データ検査」ノードをストリームキャンバスに挿入します。
(2)「データ検査」ノードを実行します。
データ検査の結果が出力され、各フィールドの視覚的および数値に基づく要約情報や有効レコード数が確認できます。欠損値の内訳の詳細を確認する場合は、欠損値検査タブを表示します。
(3)「欠損値検査」タブをクリックします。
欠損値に関する情報は画面右側に表示されるため、フィールド名の列をドラッグして右側に移動させます。
非欠損レコードは40%であり、欠損値を持たない有効レコードが全体の40%(この例では全10レコードのうち4レコードが有効)であることが分かります。また、数値型フィールドの場合は「ヌル値」列から各フィールドの欠損値の数を確認できます。次に、欠損値を持たない有効レコードのみを抽出するノードの生成を行います。
(4)「生成」メニューから「欠損値選択ノード」を選択します。
(5)「レコードが次の状態の時に選択」にある「有効」ラジオボタンを選択します。
(6)「OK」ボタンをクリックします。(データ検査ノードの結果もOKボタンで閉じます)
以上で、(生成)という名前の条件抽出ノードがストリームキャンバスに作成されています。このノードを既存ストリームに挿入して、テーブルに出力して結果を確認してみます。
下記のように、欠損値を持たない4レコードのみが選択され、欠損値を持つケースが除外されたデータセットを作成することができました。
データ検査ノードによって生成された条件抽出ノードには、@NULL、@BLANKなどの欠損値を処理するための関数を使用した条件式が自動的に含まれていますが、複雑な関数の指定などを気にすることなく、マウスを使った直観的な操作でさまざまなデータ加工や分析を実現することが可能です。
目的や使い方、用途に応じて、IBM SPSS製品を有効にご活用いただき、課題解決・価値創造にお役立てください。
■ SPSSデータマイニング基礎講座(オンラインコース)
IBM SPSS Modelerを利用したデータマイニングを基礎から学び予測モデル作成までを習得できる
https://www.stats-guild.com/spss-datamining-online