SPSS Statistics

IBM SPSS Statistics Tips:第12回 人工知能を利用したデータマイニング手法

記事をシェアする:

人工知能を利用したデータマイニング手法
with IBM SPSS
Neural Networks

ニューラルネットワークとはヒ トの脳の情報処理を模倣したモデリング手法のことです。代表的なデータマイニングアルゴリズムのひとつで、人工知能を利用し た複雑な数式を実現しています。ニューラルネットワークは、ネットワークを構成しているいくつかのニューロンからできており、次の図に示すように、層で編 成されているため多層パーセプトロン(マルチレイヤーパーセプトロン)とも呼ばれます。

special_12_01

ニュー ラルネットワークでは、層間のニューロンが接続されることで、データのパターンや関係をネットワークが学習できるようになります。観測された ケースを1つずつ扱って、繰り返しネットワークを更新し続けることで学習を行い、学習が終わったネットワークに、新しい未知のデータを与えると、それまで の経験に基づいて予測を行うことができるようになります。 IBM SPSS Statisticsでは、多層パーセプトロン (MLP) ネットワーク放射基底関数 (RBF) ネットワークが使用できます。 それでは実際に分析してみましょう。


銀行与信

今回は銀行融資担当者が、与信の診断をするために利用するという例をご紹介します。

Image3

銀 行の融資担当者は、債務不履行になる可能性がある人物を示す特徴を特定し、その特徴を使用して信用リスクの良し悪しを識別する必要があります。過 去の顧客のデータに対して、ニューラルネットワークの多層パーセプトロンのアルゴリズムを使ってデータを学習します。データはモデルを作成するための学習 用と、モデルを検証するためのホールドアウトサンプルに区分します。 ※以下の例で利用するデータ「bankloan.sav」はIBM SPSS Statisticsにサンプルデータとして含まれています。


1.学習用と検証用のデータを準備する

ランダムシードを固定することで、ランダムな設定に関して、同じ結果を再現することができるようになります。ランダムな設定とは、例えばランダム関数を使用する場合などが該当します。

変換 >> 乱数ジェネレータ

乱数を常に新しく生成するか、固定するかを選択できます。テストや確認をする際などに使います。

Image6

Image9

ここでは9191972と入力しておきます。同じデータで同じ固定値を使えば、同じ結果が得られます。 モデル作成をする際は、学習用検証用デー タにデータを区分し、学習用の データを使用してモデル作成を実施することが一般的です。IBM SPSS Statisticsでは、「関数」を使って新たに変数を作成し、ケースを学習用にするか検証用にするかを分けることができます。今回はデータのうち 70%を学習用に設定してみます。

変換 >> 変数の計算

目標変数は「データ区分」、数式ボックスには「rv.Bernoulli(0.7)」と入力します。

Image12

※今回は乱数を発生させる関数の中でもベルヌーイという手法を使用しました。ベルヌーイを使って、70%の確率で1を発生させ、それ以外は0を記録します。ベルヌーイ関数は関数グループの「乱数」から選ぶことができます。「データ区分」に、1のついているケースは学習用に、0のケースは検証用に使われます。

実行の結果、全体の約70%のケースがランダムに、1.00になります。以下は、データ区分変数の度数分布表です。

Image15

では、このデータを使ってモデルを作成してみます。


2.ニューラルネットワークで分析を行う

分析 >> ニューラルネットワーク >> 多層パーセプトロン

変数タブをクリックします。従属変数に予測する値である、不履行経歴[不履行]変数を投入し、因子に教育レベル[教育]変数を入れます。そして、データ区分と不履行予測変数以外の変数を共変量に投入します。

Image18

データ区分タブをクリックします。「ケースにデータ区分変数を使用する」を選択し、データ区分変数を投入します。これで、学習用・検証用データをデータ区分変数で識別するようになります。

Image22

出力 タブをクリックします。

Image25

ネットワークパフォーマンス」の全ての項目にチェックを入れ、ここでは「独立変数の重要度分析」にチェックを入れ、出力結果を実際に見てみましょう。(重要度分析は変数の数やケース数によっては時間がかかるため注意が必要です)


3.出力結果を見る

処理したケースの要約から確認しましょう。ここでは有効数の700ケースに対して、71.4%にあたる500ケースが学習用データとして、残り28.6%の200ケースが検証用データ(テスト)として使われたことが分かります。

Image28

ネットワーク情報では、入力層、隠れ層、出力層別の情報が確認されます。ここでは入力層のニューロンは12個であり、隠れ層のニューロンが4個、出力層のニューロンは2個であることがわかります。

カテゴリ変数の場合、各カテゴリが1ニューロンとしてカウントされます。そのため、入力層は、以下に表示されている7個の共変数と、因子である教育レベルの5つのカテゴリを合わせて、ニューロンの数は12個となります。

Image31

ダイヤグラム出力をみてみます。入力層には予測(独立)変数が含まれています。隠れ層には、観測不可能なユニット(処理の単位=ニューロン)が含まれます。隠れ層にあるそれぞれのユニットの値は、予測変数の結合関数です。

Image35

Image38

分類ではネットワークを使った結果が出力されています。まず学習用ケースを使ったものでは、実際に不履行がある122データ(52+70)中、70データが不履行ありと正しく予測され、実際に不履行がない378データ(339+39)中、339データが不履行なしと正しく予測されていることから、全体では学習用500データのうち、339+70の409データが正しく予測されており、81.8%の正解の割合になっています。そして学習用で作成したモデルを検証用で当てはめたときの結果が、テストとして表示されており、学習用と同様に結果を読み取ると、正解の割合は78.5%になっています。

独立変数の重要度ではどの変数の重要度が高かったのかが出力されます。これは計算に時間がかかる出力ですが、予測にあたってどの変数の影響が大きいのかを知ることができます。

Image41

また、正規化された重要度のグラフでも確認できます。ここでは、1. 現職の雇用期間 2. クレジットカードの負債金額 3. 現住所の居住年月 が不履行「あり・なし」を予測するのに重要である上位3位の変数だということがわかりました。

Image44

累積ゲイングラフリフトグラフを使用すると、ある特定の結果を予測するモデルの精度はどの程度なのかを視覚的に評価することができます。

以下の累積ゲイングラフは、ケースの合計数のパーセントを目標にすることで、特定のカテゴリ「ゲイン」のケースの総数パーセントを示します。例えば、不履行ありの緑ラインに注目すると、ネットワークでデータセットをスコアリングし、不履行「あり」と予測された全てのケースを確信度でソートした場合(不履行「あり」の確度が高い順に並べる)、上位40%が、実際に不履行がある全ケースの約88%を含むと期待できることを示しています。対角線はベースラインと呼ばれ、40%のケースを取り出せば、実際に不履行がある全ケースの40%が「あり、もしくは、なし」であるという基準ラインを示しており、これはある意味、予測モデルを使わなくても予想することができるレベルのラインです。ベースラインから上にあればあるほど、ゲインが大きくなり、確度の高い予測ができていることになります。

Image47

以下のリフトグラフは、累積ゲイングラフから導き出すことができます。リフト値は累積ゲイン値のベースラインに対する比率に対応している指標です。例えば、緑ラインの不履行「あり」の40%におけるリフトは、88%/40%(40%におけるゲイン88%÷40%におけるベースライン40%)=2.2になります。累積ゲイングラフの情報を別の視点で見ることができます。

Image50


今回は銀行与信予測の例をご紹介いたしましたが、ニューラルネットワークの手法はさまざまな予測に使われています。

ニューラルネットワーク活用例

  • 商品需要予測 : ニューラルネットワークを利用した商品需要予測の最適化
  • 商品開発 : 調味料の開発にニューラルネットワークを適用、缶コーヒーのにおいの官能評価
  • エレベーター運転方式制御 : エレベーターの最適スケジューリング制御
  • 自然言語処理 : ニューラルネットワークによる学習を用いた自然言語の処理
  • 手書き数字の認識 : ニューラルネットワークによる手書き数字認識システム
  • 顔画像認識 : 目、口、鼻のカテゴリを形成してニューラルネットワークで顔を認識

このようにデータを学習用、検証用に分け、人工知能を使った高度なデータマイニング手法を使いデータ予測分析を可能にするのが、IBM SPSS Neural Networksです。 是非、現在行っていらっしゃる予測分析手法の1つに加えてみてください。


→ SPSS Statistics Tips集はこちら





















さらに詳しく アナリティクス 記事

Db2が実現するData Without Limits – Freedom of assemblyとは?

Db2, アナリティクス

「DB2」から「Db2」へ 本ソリューション・ブログのシリーズ「Db2が実現するData Without Li ...続きを読む


12月8日開催:データ分析アプライアンス新製品 お披露目セミナー

アナリティクス, イベント・セミナー

IBM Integrated Analytics Systemで加速するデータサイエンスー最先端の機械学習をこ ...続きを読む


11月29日開催:あらゆる文書から知見を導くIBM Watson Explorerご紹介セミナー

アナリティクス, イベント・セミナー

デジタル・トランスフォーメーションを目指す企業、そしてそのためにデータ利活用に注力する企業が増えています。しか ...続きを読む