以前、回帰・分類どちらにも活用できるCART(決定木)を紹介しました。
これは多変量分析の一種として使うことができ、条件分岐によって分割していくことで分類・予測に使える手法です。日本では決定木という言葉のほうが浸透しているかもしれません。
今までの回帰分析で思ったような結果が出ない時に有効で、CARTは多変量のデータを予測・分類する時に大いに役立ちます。
さて、今回はCARTの予測精度を更に高めたランダムフォレストの紹介です。
ランダムフォレストとは
その前にCARTの話を。。。
CARTは強力なツールですが1つ欠点がありました。
それは、条件分岐が複雑になりやすいことです。
以前の例だと、データ数200ぐらいで次のような結果になることもあります。
データ数200にしていはさすがに分類されすぎ(葉ノードが多い)ですね。この状態のことを過学習と呼びます。
逆に葉ノードが少ないと、視覚的な判断はわかりやすいですが、分類の精度が悪くなります。
そしたらどれくらい分類されると良いのか?という問題は非常に難しいです。(NP問題とも呼ばれます)
そこで、ランダムフォレストの登場です。ランダムフォレストは、ある程度の精度を持ったCARTを複数作り、そこから精度の良いモデルを作ろうという考えの手法です。
CARTの分岐をある程度のところで区切り、次の計算を行います。1つ1つの精度が悪くても、複数合わせて良いところ取りすれば、精度が良くなる考え方ですね。
ランダムフォレストは複数のCARTを実行するイメージです。
このような複数のモデルから高精度なモデルを作り出す方法をアンサンブル学習と呼びます。
(因みにアンサンブル学習には「バギング」と「ブースティング」という2つの手法が存在して、ランダムフォレストはバギングという手法を使っています。)
ランダムフォレストについて深く知る
通常、CARTは何度繰り返しても同じ結果になります。
試しにMinitabでCARTを2回分析してみてください。同じ結果になるはずです。(むしろ同じでないと困ります笑)
すると複数のCARTの作り方が重要になってきますね。
CARTは学習データを抽出して、残りのデータを使って精度を確かめていきます。
その抽出データをランダムに行います。これをブートストラップ法と呼びます。
さらに、学習データの特徴量をランダムに学習させています。
つまり、データの抽出・特徴量をランダムにする2段構えの方法で、異なるCARTを作成しているのですね。
Minitabのランダムフォレストの結果
統計解析ソフトMinitabでは数クリックでランダムフォレストが実施可能です。
主な結果としては、
相対的変数重要度
目的変数に効果が大きい予測変数を相対的に評価します。
最も影響の大きい変数を100とした時に、他の予測変数がどれぐらい目的変数に影響を与えているか分かるので、要因探索的にも使えます。(ただ、効果量と因果関係はまた別の話でなので、あくまで判断材料として有効です。)
次にモデルの精度を示すR^2
上の結果では、木の数50でモデルの精度を示すR^2が90に達しているのが確認できます。
木の数を増やすと精度も上がりますが、その分複雑となります。
直感的にどの程度に抑えておくかの判断材料として使えます。
この他、新しい説明変数に対する予測結果を出力することもできます。
より精度を高めた分析を行いたいならランダムフォレストを
従来の分析手法、回帰分析・CARTでも十分な予測が可能です。
ただデータ量が増えると、考慮しなければならないことが多くなります。
回帰分析なら変数の削除、多重共線性の問題。精度の良いモデルを探すのはひと手間です。
CARTは過学習の問題があります。
さらに精度の良いモデルを最小の負担で作成するにはランダムフォレストが有効です。
数クリックでランダムフォレストが実行できるMinitabで是非試してみてください。
Minitabでランダムフォレストを使うには
ランダムフォレスト機能はMinitab 20から搭載された新機能のアドインです。
通常のMinitabにアドインとして追加することでご利用いただけます。
別途ご購入する必要がありますので、お見積りご依頼される場合はこちらからお申し込みください。
▼Minitab 見積依頼フォーム
※コメント欄に ランダムフォレスト機能を追加とご記入ください。
▼予測の精度を上げるためには、データの処理も重要です。
無料のホワイトペーパー
「特徴量エンジニアリング:予測分析と機械学習モデルを向上させる7つのテクニック」
今すぐダウンロード:https://hubs.ly/H0Sf9h90
Comments