放射基底関数
放射基底関数 (RBF) プロシージャーは、予測変数の値に基づいて、1 つ以上の従属 (ターゲット) 変数の予測モデルを生成します。
例。 ある通信プロバイダーは、サービス利用パターンによって顧客ベースを区分し、顧客を 4 つのグループに分類しました。 人口統計学データを使用してグループ・メンバーシップを予測する RBF ネットワークは、企業が個々の見込み顧客に対するオファーをカスタマイズできるようにします。
データの考慮事項
従属変数。 従属変数には次のものを使用できます。
- 「名義」。 本質的な順位を持たないカテゴリーを表す値である場合 (従業員の勤務先企業での部署など)、 変数を名義変数として取り扱うことができます。 名義変数の例としては、 地域、郵便番号、宗教上の所属などが挙げられます。
- 順序: 値が本質的な順位を持つカテゴリーを表す場合 (例えば、サービス満足度のレベルを 「非常に不満」から「非常に満足」までの順位で評価する場合) は、 変数を順序変数として扱うことができます。 順序変数の例としては、 満足度や信頼度を表す得点や嗜好得点などが挙げられます。
- スケール. 意味のある測定基準を持つ順序カテゴリーを値が表しており、
値の間の距離の比較が可能である場合は、
変数をスケール (連続型) として扱うことができます。 スケール変数の例としては、
年齢や、千ドル単位で表した所得が挙げられます。
このプロシージャーは適切な測定レベルがすべての従属変数に割り当てられることを想定しています。ただし、ソース変数リスト内の変数を右クリックし、ポップアップ・メニューから測定レベルを選択して、変数の測定レベルを一時的に変更することができます。 変数の測定レベルを永続的に変更するには、「 変数の測定レベル」を参照してください。
変数リストで各変数の隣にあるアイコンは、以下のような尺度とデータ型を表します。
| 数値 | ストリング | 日付 | 時刻 | |
|---|---|---|---|---|
| スケール (連続) | 該当なし | |||
| 順序 | ||||
| 名義 |
予測変数。 予測値は、因子 (カテゴリー) または共変量 (スケール) として指定することができます。
カテゴリー変数のコード化。 この手続きは、手続きの期間について、one-of-c コード化を使用してカテゴリー予測変数と従属変数を一時的に再割り当てします。 変数の c カテゴリーがある場合、その変数は c ベクトルとして保管されます。最初のカテゴリーは (1,0, ..., 0)、次のカテゴリーは (0,1,0, ..., 0)、..., 最終カテゴリー (0,0, ..., 0, 1)。
このコード化方式ではシナプスの重みの数が増加するため、学習が遅くなる可能性があります。しかし、より「コンパクトな」コード化方法では、多くの場合ニューラル・ネットワークがあまり適切でなくなります。 ネットワーク学習の進行が著しく遅い場合、類似したカテゴリーを結合するか極端にまれなカテゴリーのあるケースを削除して、カテゴリー予測値のカテゴリー数を減らしてみてください。
検定サンプルまたはホールドアウト・サンプルが定義されている場合でも、すべての one-of-c コード化は学習データに基づいています ( 分割 (放射基底関数)を参照)。 そのため、検定サンプルまたはホールドアウト・サンプルに学習データに存在しない予測カテゴリーを持つケースが含まれる場合、それらのケースはプロシージャーでもスコアリングでも使用されません。 検定サンプルまたはホールドアウト・サンプルに学習データに存在しない従属変数カテゴリーを持つケースが含まれる場合、それらのケースはプロシージャーでは使用されませんが、スコアリングされることがあります。
再調整: スケール従属変数および共変量は、ネットワーク学習の向上のため、デフォルトで再スケールされます。 検定サンプルまたはホールドアウト・サンプルが定義されている場合でも、すべての再調整は学習データに基づいて実行されます ( 「分割 (放射基底関数)」を参照)。 つまり再スケールのタイプに応じて、共変量または従属変数の平均値、標準偏差、最小値、または最大値が学習データのみを使用して計算されます。 変数を指定してデータ区分を定義する場合、これらの共変量または従属変数の学習サンプル、検定サンプル、ホールドアウト・サンプル全体への分布が類似していることが重要です。 分割全体にわたる分布を調べるには、 「探索的分析」 プロシージャーなどを使用します。
度数による重み付け: 度数による重み付けは、この手続きでは無視されます。
結果の再現。 結果を正確に再現する場合、同じプロシージャーの設定を使用するだけでなく、乱数ジェネレーターに同じ初期化値と、同じデータの順序を使用します。 詳細について、以下に示します。
- 乱数の生成。 このプロシージャーでは、データ区分のランダムな割り当て時に乱数生成を使用します。 今後同じランダム化された結果が再現されるようにするためには、放射基底関数プロシージャーの実行前に、毎回乱数ジェネレーターに同じ初期化値を使用してください。 詳しくは、 乱数ジェネレーター のトピックを参照してください。
- ケースの並び順: 放射基底関数を決定するために、2 段階のクラスター・アルゴリズムが使われるため、結果はデータの順序にも依存します。 詳しくは、 TwoStep クラスター分析 のトピックを参照してください。
並び順の影響を最小限に抑えるには、ケースを無作為に並べます。 特定の解の安定性を確認するには、異なる無作為な順序でソートされたケースを使用していくつかの異なる解を取得します。 ファイル・サイズが非常に大きい場合は、異なる無作為な順序でソートされたケースのサンプルを使用し、複数回に分けて実行することができます。
放射基底関数ネットワークの作成
この機能を使用するには Neural Networks オプションが必要です。
メニューから次の項目を選択します。
- 1 つ以上の従属変数を選択します。
- 少なくとも 1 つの因子または共変量を選択します。
オプションで、「変数」タブで共変量を再スケールする方法を変更できます。 次の項目から選択します。
- 標準化: 平均値を減算し、標準偏差で除算します。つまり、(x−mean)/s です。
- 正規化済み。 最小値を減算し、範囲で除算します。つまり、(x−min)/(max−min) です。 正規化された値は 0 から 1 の間に収まります。
- 調整済み正規化。 最小値を減算し、範囲で除算した値を調整したものです。つまり、[2*(x−min)/(max−min)]−1 です。 調整済みの正規化された値は −1 から 1 の間に収まります。
- なし。 共変量を再スケールしません。
不明な尺度のフィールド
データ・セット内の 1 つ以上の変数 (フィールド) の測定レベルが不明な場合、測定レベルの警告が表示されます。 測定レベルはこの手続きの結果の計算に影響を与えるため、すべての変数について測定レベルを定義する必要があります。
データをスキャンします。 アクティブ・データ・セットのデータを読み込み、デフォルトの測定レベルを、測定レベルが現在不明なすべてのフィールドに割り当てます。 データ・セットのサイズが大きい場合、この処理には時間がかかります。
手動で割り当てます。 不明な測定レベルを持つフィールドをすべて表示するダイアログが開きます。 このダイアログを使用して、測定レベルをこれらのフィールドに割り当てることができます。 データ・エディターの「変数ビュー」でも、測定レベルを割り当てることができます。
この手続きでは測定レベルが重要であるため、すべてのフィールドに対して測定レベルが定義されるまで、ダイアログにアクセスしてこの手続きを実行することはできません。
この手続きは、 RBF コマンド・シンタックスを貼り付けます。