サイト内の現在位置

機械学習の予測モデルの基本を理解する。代表的な手法から手順・事例まで

機械学習で予測分析を行う際に必要となるのが「予測モデル」です。過去のデータから関係性を見出し、既存の傾向をより正確に推定する予測モデルを作成し、新たなデータに適用することで、未来を予測しますが、アルゴリズムの選択やパラメータのチューニングなどにより、精度も大きく変わります。

本コラムでは機械学習の導入に向けて押さえておきたい基礎知識として、予測モデルとはどのようなものか、代表的なアルゴリズムや構築のプロセスなどを解説します。

機械学習の「予測モデル」とは

「予測モデル」とは、過去のデータから未来の値を予測するための数式やルールのことです。過去の実績データなどをもとに予測モデルを構築し、これを未来のデータに適用することで予測を実現します。予測したい内容に応じたアルゴリズムを選択し、過去のデータを学習することで、予測が可能となります。学習対象となるデータや、パラメータを調整することで、精度向上を目指します。

予測モデルで必要な「目的変数」と「説明変数」

予測モデルを作成するには「目的変数」と「説明変数」という2種類のデータを設定する必要があります。

目的変数とは、まさに「予測をしたい対象となるデータ」のことで、予測モデルに対して1つのデータを設定します。当然ですが、予測したい内容によって設定するデータが変わります。例えば、売上予測で「いくつ売れるかが知りたい」場合には、「販売数」を設定し、「どの顧客が購入するか知りたい」ケースでは顧客ごとの購入フラグ(購入する・しない)を設定することになります。

一方、説明変数は「特徴量」とも呼ばれ、予測対象に影響するデータを指します。売上予測であれば、商品の価格や天候、店舗の情報、キャンペーン情報、近隣の駅の乗降者数などが挙げられます。こういった情報から関連の強いものを抽出し、定量的な数値としてまとめて予測に利用します。どのデータを説明変数として利用するかは機械学習の精度に大きく影響するため、ビジネス現場の知識などに基づき適切なデータを設定しなければなりません。

予測モデルの代表的なアルゴリズム

機械学習の予測モデルで用いられるアルゴリズムは複数あるため、用途や予測内容によって適切なものを選びます。ここでは、代表的なものを5つ紹介しましょう。

線形モデル

データに対して「線」を引くことで数値を予測したり、分類したりする手法です。線形モデルのなかにもいくつかの手法があります。例えば、サポートベクターマシン(SVM:Support Vector Machine)はデータの分類に適用でき、機器の正常・異常の判断(分類)などに活用できます。数値の予測を行うものとしては線形回帰などが挙げられます。

決定木

データを「木構造」に落とし込むことで分析する手法で、データの分類に用いる「分類木」と、予測を行う「回帰木」があります。木構造とは、データを木のように枝分かれさせていく階層構造のことで、分類木であれば、判別のための条件を複数設定し、木構造で表すことでデータの予測を行います。

ランダムフォレスト

複数の「決定木」が出した予測結果から、多数決で最終的な結果を決める手法です。多数決で判別するため、1つの決定木で分析するよりも高い精度が期待できます。また、データを学習しすぎてしまい、実際の予測で精度があがらなくなってしまう「過学習」も起きにくいとされています。

LightGBM/XGBoos

これらも決定木を応用した手法で、複数の決定木を利用して、さらに改善を加えることで最適化されたモデル作成を目指します。決定木モデルの出力した結果の予測誤差をもとに再度学習し、誤認識をなくすことを繰り返し、精度を高めます。

ディープラーニング

ディープラーニングとは、人の手を介さずニューラルネットワークを用いることで機械学習自身が特徴量を探し出し、予測を行う手法です。ここまで紹介してきたアルゴリズムでは、人が特徴量を作成して予測モデルに学習させる必要がありましたが、ディープラーニングではその必要がありません。

特徴量の作成には知識・スキルが求められ、時間もかかるため、それらが不要になる点はメリットである一方、どのようなデータをもとに予測結果が導かれたのかが分からないため、実用化する際にネックになるケースもあります。

予測モデル作成の流れ・手順

①ユースケース策定
まずは、業務上の課題をヒアリングし、分析内容(ユースケース)を定義するところから始まります。「予測モデル作成」というと、どんなモデルを使うかなどからスタートしそうになりますが、業務でどのように利用したいのか、どんな予測を行いたいのか、最初の段階できちんと定義することが重要です。特にこのプロセスではビジネスのドメイン知識が求められ、現場の状況や事情を理解してユースケースを定義しなければ、「関係ないデータをもとに予測していた」などの失敗につながってしまいます。

②データ準備
続いて、分析に使えそうなデータを集め、利用できる形に加工します。ここではよく「データがない」という声が聞かれますが、まずは手元にあるデータで試すことから始めます。その後、外部のデータを活用するなど、アジャイル的に進めながら、次に取るべきデータなどを検討するのも方法の1つでしょう。

③分析設計

データが整ってはじめて、分析設計です。ここでは目的変数と説明変数を設計します。まずは、将来の数値を導く「回帰」か、データを分類する「判別」か、また「予測」なのか、「要因分析」なのか、分析タイプを決定して、それに応じた目的変数を作成。さらに、どんなデータが影響しているのか仮説を立案し、説明変数(特徴量)を設計します。

④分析実行・結果解釈
作成した説明変数をもとにいよいよ予測モデルを作成します(分析実行)。パラメータのチューニングなどにより精度を改善し、導かれた分析結果をもとに業務に適用できるかどうかを判断します(結果解釈)。

⑤モデル運用準備・モデル運用
業務に適用可と判断されてもそれで終わりではありません。手作業で予測するのか、既存システムに組み込むのか、データはどのように用意するのかなど運用方法を検討し、実際の活用へと進めます。さらに、運用開始後も効果を定期的に測定し、精度悪化時の再学習などのプロセスも検討が必要です。

<事例紹介>4つの分析タイプ別、具体的にどう使えるのか?

ここでは4つの分析タイプごとに、それぞれどのように活用できるのか、事例を紹介します。

<判別×予測>金融商品の購入顧客を予測
顧客が「ある商品を購入したか・していないか」に分類し、予測を行い、「どのような顧客が」「どのような期間に」「どのような状況か」を分類することで、商品を購入する顧客を予測。対象顧客にDMを送付し、商品購入率の大幅向上につながりました。

<回帰×予測>季節商品の需要予測
過去の販売実績のデータや、気温、商品数などから、商品販売数を予測したケースです。「気温変化が少ない・前週に気温が上昇傾向にあると、翌週以降の売上数が増加」「新規商品が売り出されると売上数が増加」などの傾向が導かれ、高精度の予測に成功。店舗在庫の適正化を実現しました。

<判別×要因分析>製造業における不良品判別
この事例では、製品の不良品判別とあわせて、その原因究明までを行いました。「判別」により製品を良品・不良品に判別するとともに、「工程Aで表面温度の平均値が高いと不良品になりやすい」「工程Yにおいて機器の電力量のバラつきが大きいと不良品になりやすい」などの傾向が見えてきました。この結果をもとに工程を改善し、根本的な原因を解決できました。

<回帰×要因分析>適切なテナント料の決定要因
回帰による数値の予測について要因分析を行うことで、「客観的かつ定量的な影響要因」を特定し、テナント料決定の属人性排除に活用している事例です。「将来3年間の予測テナント料の平均値」「エリア内の予想客数」「テナント内の設備」など、判断基準とすべきポイントが明確になることで、だれでも同じ基準でテナント料を決定できるようになりました。

dotDataについて

本コラムでは予測モデルについて解説してきましたが、それぞれのモデルごとに得意・不得意があり、用途や目的にあわせて選択することが求められます。そのためにも、「どの予測モデルを選ぶか」ばかりにとらわれるのではなく、目的や現場の課題を紐解き、何を予測し、どのように活用したいのかを明確にすることが重要です。

そこで有効なのが、自社ビジネスを知る現場の社員自身がAI/機械学習を活用して予測分析を行うことです。AI自動化ソリューション「dotData」は専門知識が求められるデータサイエンスのプロセスを完全自動化し、現場社員によるAI活用をサポートします。AI/機械学習の活用を進めるにあたって、こういったツールを活用するのも1つの方法と言えるでしょう。