データサイエンスの基礎 – 2. データ探索と変換のための決定木

前回の記事では、決定木について、その構築方法と利点について説明しました。今回は、予測以外の分野、以下の分野での応用について説明します。

  1. データ探索
  2. データの準備
  3. 異常値の発見
  4. 他のモデルの説明

前の記事で述べたように、決定木は分類や回帰タスクの予測モデルとして使用できます。分類の場合、目的は、データの各レコードに、”応答者 “や “非応答者 “のような有限の(少数の)カテゴリーのラベル(クラス)を割り当てることです。回帰の場合、モデルは連続値を予測し、データの各レコードについてこの値を推定しようとします。どちらのタスクでも、決定木は教師付きありモデルとして使用されます。これは、既知の答え(従属変数)のデータ集合で木モデルを訓練する必要があることを意味します。

この記事では、分類モデルの開発を支援するための決定木の他の応用に焦点を当てますが、探求するすべてのテクニックは、回帰モデルの場合にも有効です。さらに、物事を単純にするために、二値分類のケースを考えます。したがって、この記事の残りの部分では、我々は(決定木を使わず、別の手法で)分類モデルを開発することを目的とし、決定木を他の支援機能のために使っていると仮定します。

今、我々は、二値の従属変数と、独立変数の候補として考慮する他の変数の集合を持つデータ集合を持っていとします。また、ID変数と他の説明変数(たとえば、ラベルやノート)があるかもしれません。

探索ツールとして決定木を使用できるかどうかは、主に使用するソフトウェアが持つ対話機能に依存します。私は、Altair Knowledge Studioを使用する予定です。

データ探索の目的は、データセットの変数、これらの各変数と従属変数の関係、および相互の関係を理解することです。このことを念頭に置いて、独立変数候補のそれぞれの予測力と、開発予定のモデルにおける潜在的な役割を評価したいと思います。また、これらの変数の予測力を向上させ、モデルで使用する際の潜在的な問題を軽減するために、データ変換の必要性も探りたいと思います。これらの変換は、欠損値、外れ値、頻度の低いカテゴリー、カーディナリティの高い名義(カテゴリー)変数など、一般的なデータの問題を修正するのにも役立ちます。

要約すると、決定木を使って以下のことを行います。

1- 各候補独立変数(候補予測変数)の予測力を評価する

2- 独立変数間の相互関係を評価する

3- 外れ値、欠損値、およびそれらが独立変数候補の予測力に与える影響を見つける

4- 名目変数の低頻度カウントカテゴリーの問題を回避するためのデータ変換の可能性を見つける

1.予測力の評価

決定木アルゴリズムの核心は、木の各レベルでの各変数の予測力の決定です。したがって、ツリーの最初の分岐を見つけようとするとき、データセット内の各変数の予測力が計算されます。例えば、以下の図1はAltair Knowledge Studioの決定木のルートノードを示しています。

データサイエンスの基本 – 2. データ探索と変換のための決定木

図1:決定木のルートノード – 分割関数を見つける

このルートノードで分割を見つけようとすると、最も予測的な変数に対応する分割が得られます。さらに重要なことは、異なる変数をソートする際に使用される予測力の尺度を得ることです。これを図2の分割レポートに示します。

データサイエンスの基本 – 2. データ探索と変換のための決定木

図2:変数の予測力を示すルートノードの分割レポート(情報フィールド)

何百もの独立変数の候補がある場合、決定木を使用してこれらの変数をフィルタリングし、最も予測性の高いものだけを保持することは、データ準備プロセスの不可欠なステップになります。したがって、ユーザーは、Knowledge Studio の場合のように対話型ソフトウェアで、または好みのコーディング言語でコードを使用して、「変数リスト」を保持および管理できるようにする必要があります。

この段階で、独立変数候補の予測力を計算するのは、データ準備の前か後か?答えは、「前と後」です!データ準備とデータ探索は、モデリングの反復プロセスにおける2つの統合されたステップです。データを探索する間に、我々はデータを変換する方法を発見し、変換の効果を検証するために変換された変数をさらに探索します。

2.独立変数間の相互関係

対話型決定木は、木を成長させるにつれて、データセットをより小さなセグメントに自動的に分割します。しかし、各セグメントで、他の独立変数候補の予測力を見つけることで、現在の分割のカテゴリー、または値の範囲が、他の変数とどのように関連しているかが明らかになります。

例えば、現在のデータセットにおいて、年齢変数をルート分割として使用し、ソフトウェアの対話的機能を使ってその分割を編集すると、図3に示すように2つのセグメントが得られます。

データサイエンスの基本 – 2. データ探索と変換のための決定木

図3: 変数age(年齢)のデータを2つのノードに分割(38、38歳以上)

図3は、各セグメント(ノード2、3)の変数の予測力を持つ分割レポートも示している。変数 “relationship(関係)”を手動で除外したことに注意してください。この図は、各セグメントで最も予測力の高い変数が異なることを示しています。たとえば、右側のノード2の変数 “education(教育)”は、リストの4番目ですが、左側のノード3のセグメントでは、最も予測力の高い変数です。また、最初の分割は変数 “age(年齢)”でしたが、ノード2のセグメントでは、同じ変数が最も予測性の高い変数として再び現れることに注意します。これは、このセグメントの変数の範囲(17-38)が、従属変数の異なる分布のレコードのグループを分離するために、より小さなセグメントにさらに絞り込むことができることを意味します。

3.興味深い欠損値と外れ値を見つける

欠損値は、実際のビジネスデータセットにおいて最も一般的に存在する値です。人間から収集されたデータは通常ばらばらです。どのようなビジネスデータベースでも、変数の大部分は欠損値で占められています。一方、センサーからのデータなど、機械を使って収集されたデータにはこの問題はありません。そのため、欠損値の処理と、結果として得られる予測モデルに対する欠損値の影響の適切な考慮が不可欠です。

決定木はその視覚的な側面から、欠損値を含むレコードの振る舞いを示す独自な利点があります。例えば、図4に示すデータのルートレベルの分割は、年齢が欠落している(ヌル)レコードの応答率(DV=Yesのレコードの割合、ノードの一部が赤い網掛け)が平均応答率23.6%に近いことを示しています。

データサイエンスの基本 – 2. データ探索と変換のための決定木

図4:欠損値を持つ変数「年齢」を使った分割

これは、欠損値がデータセット全体にほぼランダムに分布していることを示しており、データ収集のプロセスを検証する上で重要な側面となりえます。

決定木が明らかにできる2つ目のデータ問題は、外れ値です。外れ値とは、データセット内の他のレコードとは異なる値の分布を示すレコードのセグメントとして定義できます。言い換えれば、外れ値とは、残りのデータの元となるデータ分布を表していないレコードと定義できます。外れ値は、1つまたは複数の変数を使った多くの方法で発見できます。1つの変数に依存する手法は、それらの変数の極端な値を持つオブザベーションを外れ値としてラベル付けします。たとえば、高校生の身長をモデルする場合、190cmより高い個人は、はずれ値としてラベル付けられる可能性があります。決定木は、多変量アプローチを用いてはずれ値を見つけられるという利点があります。つまり、複数の変数がデータセットの異常値に寄与しているデータのセグメントを分離できます。

例えば、図5はノード7のレコード数が非常に少なく、母集団のわずか0.1%しかないツリーを示しています。しかし、このノードの回答率は非常に高く(93.7%)、母集団平均のほぼ4倍です。

データサイエンスの基本 – 2. データ探索と変換のための決定木

図5:人口のごく一部のノード(ノード7)を持つツリー

さらに興味深いのは、回答率93.7%のノード7が、回答率1.9%のノード4の子ノードであることです。このことは、ノード7の16レコードが外れ値であることを強く示唆しています。

このように決定木を用いて外れ値を識別することは、非常に有用です。なぜなら、そのような外れ値は通常、予測モデルにバイアスを導入する結果となるからです。もちろん、データの特定のセグメントを「外れ値」と呼ぶこと自体、バイアスを導入する方法と考えられますが、その判断に合理的な説明が見つかれば、このセグメントを処理する一連のルールを導入することができます。例えば、データセットからこれらのレコードを削除することができます。

4.データ変換の可能性を見つける

データ変換の目的は主に3つあります。

(i)データの問題点(欠損値、外れ値、歪んだ分布、低い頻度のカテゴリーなど)を取り除く、または減らす

(ii) 独立変数候補の予測力を向上させる

(iii)特定の機械学習アルゴリズムが受け入れ、作業できる形にデータを変換する

データ中の問題を除去または削減することに関しては、決定木が欠損値の影響を評価し、外れ値を見つけるためにどのように使用できるかを議論しました。このセクションでは、名義(カテゴリー)変数での頻度の低いカテゴリーの問題に焦点を当てます。

名義変数は、順序や尺度の関係を持たない値を表すために、データセットで自然に発生します。例えば、名義変数 “Residence type “が値(”Own”、”Rent”、”Other”、”Unknown”)を取るとき、これらの値を尺度上に置いたり、それらの間に順位関係を確立したりすることはできません。ここで、これらのカテゴリーが次のような分布を持つと仮定します。

データサイエンスの基本 – 2. データ探索と変換のための決定木

このデータセットでは、「Other(その他)」というカテゴリーはまれです。このカテゴリーに関するモデルを使った結論は、他のカテゴリーほど有意ではありません。ここで、我々は2つのオプションに直面します。このカテゴリーを含むレコードを削除するか、値の意味または従属変数の分布に基づいて、このカテゴリーを別のカテゴリーとマージするかです。このカテゴリーを別のカテゴリーにマージする方法を決定するために従属変数の分布を使用することは、決定木を使用して簡単にできます。

図6は、変数 “Residence Type “でのこのデータセットのツリー分割を示し、”Other “のカテゴリーを表すノード2には5つのオブザベーションしかありません。

データサイエンスの基本 – 2. データ探索と変換のための決定木

図6:変数 “住居タイプ “のツリー分割

図6を検証すると、ノード2の従属変数(このデータセットではDVとも呼ばれる)の分布は、ノード4(カテゴリー「Unknown」)の分布に非常に近いことがわかります。したがって、これらの2つのカテゴリーを1つの新しいカテゴリーにマージすることは、「Yes」という回答の割合に基づいて理にかなっています。実際、ほとんどのツリーアルゴリズムは、この2つカテゴリーを自動的にグループ化するでしょう。

この結合が予測モデルの結果をどのように向上させるかを示すために、従属変数 “DV “と1つの独立変数 “Residence Type “でロジスティック回帰モデルを構築してみましょう。そして、”Residence Type “を数値に変換する2つの方法を試してみましょう。1つ目の方法では、すべてのカテゴリーを分離したままダミー変数に変換し(1àN-1法)、モデルに残るカテゴリーを”Own”、”Rent”、”Other”に選択します。この場合、ロジスティック回帰モデルをあてはめると、表1のような結果になります。

データサイエンスの基本 – 2. データ探索と変換のための決定木

表1:「Other」のカテゴリーを用いたロジスティック回帰のパラメータ

表1は、「Other」のカテゴリーにダミー変数を使用すると、対応するp値が示すように、ロバスト性のないパラメータ推定値になることを示しています。

ここで、カテゴリー「Other」をカテゴリー「Unknown」とグループ化し、カテゴリー「Own」と「Rent」の2つのダミー変数だけにすると、ロジスティック回帰モデルのパラメータエステートは表2のようになります。

データサイエンスの基本 – 2. データ探索と変換のための決定木

表2:「Other」と「Unknown」を1つのカテゴリーに分類したモデルのパラメータ推定値

表2は、「Other」のカテゴリーを「Unknown」のカテゴリーとグループ化した結果、ロバストなパラメータ推定値が得られたことを示しています。

上記の例は、決定木が、頻度の低いカテゴリーに関連する問題を克服するのに役立つ、良い変換を見つけるよう導いてくれることを示しました。

結論

決定木は、従属変数の分布に関連してデータを明確なセグメントに視覚化するというユニークな特徴を持っています。この特徴を利用して、多くの目的を達成するためのデータ探索と準備を大幅に促進できます。この記事では、そのようなデータの準備と探索の重要なタスクのいくつかを紹介します。

今後の記事では、シンプソンのパラドックスやWeight of Evidence(WOE)変換など、さらに関連するトピックについて説明します。WOE変換は、クレジットカード、ローン、住宅ローンなどの信用商品の承認やモニタリングのために信用リスク業界で使用される標準的なスコアカードを作成するために必要とされています。

 

*この記事は、「Data Science Basics — (2) Decision Trees for Data Exploration and Transformation」を翻訳したものです。


データ分析・AIプラットフォームAltair® RapidMiner®


1. 決定木 vs ニューラルネットワーク << >> 3. 決定木とシンプソンのパラドックス

0 0 votes
Article Rating

カテゴリー: Altair Global Blog, データアナリティクス

Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments