スタッツギルド

標準化した連続型フィールドの作成

グローバルノードとデータの自動準備の使用

測定単位の異なる複数の連続型フィールド(変数/特徴量)に基づいて分析を行う場合、標準化と呼ばれる基準を揃える変換を行うことがあります。例えば、連続型フィールドの標準化として代表的な変換にZ得点があります。Z得点は、各フィールドの平均値(Mean)が0、標準偏差(SD)が1になるように変換された値です。 IBM SPSS Modelerでは、原則として各手法のアルゴリズムに基づいてバックグラウンドで入力フィールドの標準化やダミーコード化が行われます。したがって、手動で標準化したフィールドを追加する作業は必要ありませんが、標準化したフィールドが必要な場合は、以下の方法で新規フィールドをデータセットに追加します。
公開日: 2016-11-25更新日: 2025-09-01

平均値と標準偏差に基づいてZ得点のフィールドを追加する方法

フィールド作成ノード

この方法は、はじめにグローバルの設定ノードで標準化したい各フィールドの平均値と標準偏差を求めておき、フィールド作成ノードの計算式としてZ得点に変換する式を指定します。グローバルの設定によって各フィールドの平均値や標準偏差などの基本統計量を、グローバル値としてストリームに保持させておくことができ、Modelerの関数を使用して取得することができます。 Z得点は、「(実際の値-平均値)/標準偏差」で求められます。

グローバルの設定ノードの追加と実行

  1. 1.「出力」パレットの「グローバルの設定」ノードをストリームに追加して開きます
  2. 2.標準化したいフィールドを指定して「平均」と「標準偏差」のチェックを有効にします
  3. 3.「実行」ボタンをクリックします
Global Node Global Node

実行した結果は直接テーブルなどに出力されるわけでなく、グローバル値としてストリームに情報が保持されています。そこで、ストリームのプロパティを開いて値を確認します。

グローバル値の確認

  1. 4.「ツール」メニュー >「ストリームのプロパティ」>「グローバル」を選択します
Global Node

グローバルの設定ノードの計算結果として、各フィールドの「平均」と「標準偏差」がストリームのグローバル値として保持されています。この値をグローバル関数で取得することによって、標準化した新フィールドを作成します。

Global Node

標準化するフィールドの指定

  1. 5.「フィールド設定」パレットから「フィールド作成」ノードをストリームに追加します
  2. 6.「フィールド作成」ノードを開き、「モード」を「複数」に変更します
  3. 7.「フィールドリスト」に標準化したいフィールドを指定します
  4. 8.「フィールド名拡張子」に「Z」と入力して、追加方法に「接頭辞」を選択します
  5. 9.「フィールドのデータ型」を「連続型」に変更します
Global Node

モードを「複数」にすることで、複数のフィールドを対象に同様の計算式を適用することができます。また、「フィールド拡張子」は計算によって新しく作成されるフィールドの名称になり、元のフィールド名に対して指定した「接頭辞」または「接尾辞」が付けられることになります。また、選択された各フィールドを計算式内で指定するためには@FILED関数を用います。 次に、標準化(Z得点)フィールドに変換するための式を入力します。

標準化の計算式の指定-1

  1. 10.CLEM式ボックスの右横にある「式ビルダーを起動」ボタンをクリックします
  2. 11.関数の一覧から「@関数」を選択します
  3. 12.@FIELDをダブルクリックします
  4. 13.計算パッドから「-」(マイナス)をクリックします
  5. 14.関数の一覧から「@GLOBAL_MEAN(FIELD)」をダブルクリックします
  6. 15.関数の一覧から「@FILED」をダブルクリックします
Global Node

@GLOBAL_MEAN(FIELD)関数は、指定されたフィールドのグローバル平均を取得します。この式によって、指定された各フィールドの値から各フィールドのグローバル平均値がマイナスされます。この結果を各フィールドの標準偏差で割ることによって、Z得点に変換することができます。

標準化の計算式の指定-2

  1. 16.「@FIELD-@GLOBAL_MEAN(@FILED)」をマウスでドラッグして範囲選択します
  2. 17.計算パッドから括弧ボタン「()」をクリックします
  3. 18.計算パッドから「/」(スラッシュ)をクリックします
  4. 19.関数の一覧から「@GLOBAL_SDEV(FIELD)」をダブルクリックします
  5. 20.関数の一覧から「@FILED」をダブルクリックします
Global Node

@GLOBAL_SDEV(FILED)関数は、指定されたフィールドのグローバル標準偏差を取得します。以上の式によって、各フィールドについてのZ得点が計算した新規フィールドが作成されます。

設定完了画面

  1. 21.「OK」ボタンをクリックして「式ビルダー」画面を閉じます
Global Node

ノードの実行

  1. 22.「OK」ボタンをクリックしてフィールド作成ノードの画面を閉じます
  2. 23.「出力」パレットから「テーブル」ノードを追加して実行します
Global Node

データセットに標準化された新規フィールドが4つ追加されています。これらのフィールドは接頭辞としてZが付いており、それぞれの平均値が0、標準偏差が1の基準に変換されています。

データの自動準備の機能を使用する方法

データの自動準備ノード

Global Node

この方法は、データの自動準備の機能を利用する方法で、グローバルの設定とフィールド作成ノードを組み合わせる方法よりも簡単です。ただし、標準化以外にも欠損値の補完日付データの変換などのデータ加工も自動で行われるため、標準化したフィールドの作成のみを目的とする場合は、それ以外の設定をオフにしておく必要があります。

データの自動準備による標準化フィールドの作成

  1. 1.「フィールド設定」パレットから「データの自動準備」ノードをストリームに追加します
  2. 2.「データの自動準備」ノードをダブルクリックして編集画面を開きます
  3. 3.「フィールド」タブを開いて「ユーザー指定の役割を使用」を選択します
  4. 4.「入力」フィールドに標準化したいフィールドを指定します
  5. 5.「設定」タブを開きます
  6. 6.「入力と対象を準備」項目を開きます
  7. 7.「連続型フィールドを変換」の「共通スケールにすべての連続型入力フィールドを投入する」を有効にしておきます
Global Node Global Node

結果の確認

  1. 8.「OK」ボタンをクリックします
  2. 9.「出力」パレットから「テーブル」ノードを追加して実行します
Global Node

Z得点に変換された新フィールドが確認できます。これらのフィールドの平均値は0、標準偏差は1に変換されています。また、標準化されたフィールドを既存のフィールドと同じデータセットに統合する場合は、レコード設定パレットのレコード結合ノードを利用して結合を行います。

まとめ

SPSS Modelerでは、回帰分析や因子分析などの各分析手法を使用する場合にバックグラウンドで標準化が行われるため、このような変換を手動で行う必要ありませんが、例えば、標準化したフィールドでグラフを作成して比較を行いたい場合などは、これらの方法で新規フィールドを作成することができます。一度フィールドの作成を行っておけば、その後の分析で同様の設定を行う必要はありません。また、標準化の他にも、データの自動準備ノードを使用することで、欠損値の補完や日付データの変換などのデータ加工も自動で行うことができます。目的や使い方、用途に応じて、IBM SPSS製品を有効にご活用いただき、課題解決・価値創造にお役立てください。

参考文献

[1]ModelerUsersGuide
[2]IModelerSPOnodes