見出し画像

精度改善のカギ:経験を定量化する特徴量エンジニアリング

AIソリューションは現代ビジネスで徐々に浸透してきており、ビジネス戦略や意思決定をより精度高く、効率的なものへと変化させています。
チェーンストア業界でも、新規出店時の売上予測において、機械学習をつかった予測モデルの運用が当たり前になってきました。
店舗開発業務においても、新規店舗や後々の需要予測など、予測技術が求められるシーンが多くなっています。

売上予測モデルを構築する工程の中でも、精度向上に関わるプロセスは多岐に渡りますが、特徴量エンジニアリングはその中でも大きな効果をもつプロセスです。

これは、データ分析の前段階で行う処理で、データを適切に加工し、予測モデルにとって最も適した形に変換するプロセスです。
例えば、以下のような手法が挙げられます。

・合成特徴量の作成
売上データや国勢調査データなどの基本データから新しい特徴量を作る
・ターゲットエンコーディング
売上の平均値を特徴量にする
・クラスタリング
類似している特徴量をグループ化する

これらの手法により、売上予測の精度が向上し、より確かな戦略を立てることが可能になります。

このコラムでは、特徴量エンジニアリングが売上予測の精度にどのように影響を及ぼすのか、そしてそれがAIソリューションと組み合わさることで、最大の効果を発揮するのかについて詳しく解説していきます。   


1,特徴量エンジニアリングとは

<特徴量とは>

まず、特徴量について説明します。
特徴量とは、対象の特徴を数値化したものを指します。
売上予測を例にすると、店舗の特徴として、候補物件の敷地面積や駐車場面積、営業時間などが挙げられます。
店舗の特徴以外には、近隣の人口数や競合店舗数なども特徴量となります。

図1 特徴と数値化のイメージ図

<特徴量エンジニアリングの基本>

特徴量エンジニアリングとは、上記の特徴量を組み合わせて新たな特徴量を生成したりすることで、予測モデルのパフォーマンスを向上させるためのプロセスです。

特定の地域での売上を予測する際には、その地域の人口数や競合数、店舗面積などのデータを特徴量として使用しますが、これらの特徴量を組み合わせたり、変換したりすることで、モデルの精度を大幅に向上させることが可能となります。

図2 基本的な特徴量の一例

<特徴量エンジニアリングの目的>

特徴量エンジニアリングの目的は、モデルがデータから予測対象の特徴を捉えやすくすることにあります。
大量のデータをモデルに学習させるとき、基本的な特徴量のみだと、モデルが特徴を捉えきれないことがあります。

そこで、新しく特徴量を作ることで、特徴を捉えやすくなりモデルの精度が向上するのです。
例えば、候補物件の現地調査で発見した、基本的な特徴量では表現しきれない物件や地域の特性(視認性や周辺の交通量など)を、新たな特徴量として作りこんで表現できるようにすることで、モデルが特徴を捉えやすくなります。
そのため、特徴量エンジニアリングは、予測モデルのパフォーマンスを向上させるうえで、重要な役割を果たすのです。

図3 開発部員の経験を定量化

2,特徴量エンジニアリングの具体的な手法

ここまで、特徴量の基礎について解説しました。
この章では、特徴量エンジニアリングの代表的な手法について解説します。

<合成特徴量の作成>

合成特徴量の作成とは、人口数や競合数、店舗面積といった基本的な特徴量を組み合わせたりすることで、新しい特徴量を作り出すプロセスを指します。
このプロセスによって、基本的なデータだけでは表現しきれない、候補物件の特徴を捉えやすくすることが可能になります。

基本的な特徴量だけでは、売上を説明するのには限界があります。
なぜなら、それだけでは説明しきれない地域や物件の特性が大量に存在するからです。
皆さんの経験や仮説を定量化し、特徴量を新たに作成することで、より説明力を高めることができるようになります。
例として、自店舗と競合店の店舗面積の差分を出して競合との営業力の比較や、商圏内の総人口の中から、メインターゲット層の人口数の割合を算出する、といった合成特徴量が挙げられます。

今まで頭の中で考えていた経験や仮説を定量化することで、より売上の説明力を高めることができるようになるのです。

図4 合成特徴量作成の一例

<クラスタリング>

クラスタリングとは、類似している特徴量をグループ化する手法です。
例えば、繁華街路面店、ロードサイド、商業施設テナントなどの店舗分類自体を特徴量とすることで、説明力を強化します。

同じ年商1億円でも、店舗分類が違えば売り上げの要因も違うはずです。
そのパターンをモデルに学習させることにより、売上の説明力を向上させることが可能になります。

図5 クラスタリングイメージ図

<ターゲットエンコーディング>

ターゲットエンコーディングとは、売上傾向を特徴量にする手法です。

例えば、クラスタリングで分類したグループの売上傾向を特徴量とすることで、各グループのごとの売上の傾向をモデルが学習させます。
これにより、モデルが各グループの売上幅の傾向を掴めるようになり、モデルの精度が向上します。

図6 ターゲットエンコーディングイメージ図

これらの手法を駆使して特徴量エンジニアリングを行うことで、売上予測の精度は飛躍的に向上します。
しかし、特徴量エンジニアリングを行うためには、店舗開発業務のノウハウとデータ分析のノウハウの両方が揃っていることが必要不可欠です。

<新しい特徴量エンジニアリングの技術>

これまで紹介した手法は、一般的な手法といえるかもしれません。
しかし、日々進歩するデータ分析の技術によって、新しい手法も生み出されています。
ここでは、その中から2つの手法を紹介します。

1つ目は時系列の特徴量加工です。
売上を予測する際、季節ごとの売上の変動など、過去の売上の変動も重要な特徴になります。
しかし、時系列のデータは、その時のトレンドや天候によって左右されることが多く、データ取得期間が長くなるほど売上の変動幅が一定になりにくくなり、特徴を捉えにくいという欠点もありました。

そこで、売上のピーク回数やピーク時の売上の平均を数値化するといった時系列のデータの特徴を抽出し、網羅的に特徴量化することで、これまで捉えにくかった時系列特徴量をより捉えやすいものにできるようになりました。

図7 時系列特徴量の加工

2つ目は、データ構造の特徴量化です。
2021年12月31日と2022年1月1日は隣り合わせの日付ですが、そのままデータ化しても、モデルはこの繋がりを捉えることができません。
そこで、モデルが日付の循環構造を捉えられるよう加工することで、データの連続性を表現できるようになりました。
これにより、季節による売上の変動などの特徴を、モデルが捉えられるようになります。

図8 データの構造化一例

3,特徴量エンジニアリングの精度改善事例

<特徴量エンジニアリングによって3%~5%の精度改善>

特徴量エンジニアリングを行うことで、業種によって異なりますが、おおよそ3%~5%の精度改善効果があります。

ある事例では、基礎情報を基に、以下のようなクライアントの仮説を定量化しました。

・商圏内で一番規模が大きい店舗には人が集まるため、売上が伸びる。
・商圏内のメインターゲット層の比率が高ければ売上が伸びる。

この仮説は、当たり前と思われるかもしれませんが、基礎情報だけではこの傾向を表現できませんでした。
そこで、これまで勘と経験で補ってきた傾向や癖を、特徴量エンジニアリングによって定量化しモデルに組み込んだところ、特徴量エンジニアリング前後で、機械学習系アルゴリズムの予測誤差が約3%~5%の改善という結果になりました。

図9 特徴量エンジニアリングによる精度改善幅

4, まとめ

<継続的な精度改善のために>

最初のモデル作成のときだけ、特徴量エンジニアリングを行っても意味がありません。
AIは非常に有能ですが、万能ではありません。
どうしても、一定数予測を外してしまうケースが生まれます。

そのケースを集めて、どういうケースで予測を外してしまうのか、予測を外すケースにはどういう特徴があるのか、ということをこれまで同様に人の経験で補完していきます。
そうして運用していきながら、モデルの癖を見つけ出し、それを補完するための新しい特徴量を作りこむ。
このサイクルを回し、統計的な精度も、運用上の精度も改善させていくことが重要になります。

図10 精度改善のためのサイクル

<最後に>

ここまで、特徴量エンジニアリングの目的や具体的な手法、その効果について説明しました。
売上予測を行う上で最も重要なことは、<AIに依存しないこと>です。

・予測が外れるケースを検知し運用上の精度を向上させる。
・予測が外れたケースのデータを収集し、特徴を見つける。
・その特徴を定量化し再学習させることで統計上の精度も向上させる。

この、AIと人が伴走する形のサイクルを回すことで、継続的な精度改善が実現します。

特徴量エンジニアリングを駆使すれば、開発部員の経験に依存する属人的な売上予測から脱却し、より精緻で解釈性の高い売上予測を実現できます。
この記事が、皆さんの業務の一助となれば幸いです。


◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
本記事に関するご質問・お問い合わせは、こちらよりお問い合わせください。
なお、現在売上予測に関する無料相談会も実施しております。
お悩み、ご相談もお気軽にお問い合わせください。
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

この記事が気に入ったらサポートをしてみませんか?