予測精度が上がらない!?そんなときは!

今回はせっかく作ったモデルの精度が上がらないときどうすればいいの!?という疑問にこれまでの経験を踏まえて答えていきたいと思います。

機械学習モデルの精度を上げるための手法はいくつかあります。大きく次の二点

  1. ビジネス視点からデータの項目を増やす
  2. 特徴量エンジニアリングを頑張る

本記事では1つ目のビジネス視点からデータの項目を増やすについて説明を行います。

機械学習の精度を高めるビジネス視点からのデータの選び方


ビジネス視点からデータセットを選ぶことは最初にデータセットを作成する際にも必要になります。たくさんあるデータから効率よくデータを絞り込む方法です。

ビジネスの知見から、目的変数との関係性が高い説明変数を選ぶには、データを様々な軸でまとめていくことが必要です。

1.予測対象に関連したデータを思いつく限り挙げる

ここでは思いつく限り使えそうなデータを挙げてください。

以下は、とあるチェーン店の売上予測を想定した例です。まずは挙げられたデータがどれくらい目的変数と関連度合いが強いのか(分析をする必要はなく、直感で構いません)、また現在入手可能なのか、外部から調達する必要があるデータなのか、などの入手の難易度を意識しながら整理しながら挙げていくとよいでしょう。

ここでデータをまとめておけば、実際にモデリングを行った結果精度が基準値に満たなかった場合に次にどのデータを投入すればよいかのかわかりやすくなりますね。

2.使えないデータをあらかじめ除外・分割する

上記で挙げたデータの中にはビジネス的な観点から使ってはいけないデータやまとめてしまった方が良いデータなどが存在します。

例えば、購買データの中でも業者と思われる人がたくさんまとめて購入した場合は、予測する際に良くない影響を及ぼすと思われるのでそういった顧客をあらかじめ除外したり、特定の地域では商品の売れ行きが似ているので同じグループとして扱ったりすることで精度を高められる可能性があります。

機械学習は一般的に大きいくくりで考えて予測を行った方が精度が良い傾向があります。

つまり、一つの店舗の売上を予測するよりもとある地域全体の店舗の売上合計を予測するほうが精度が良いということです。

傾向の近いデータをまとめたり、ビジネス的な観点から適切にデータをグルーピングすることで、より精度の高い予測モデルの作成が可能となります。

このように、データを除外したりまとめたりすることはビジネス的な知見や経験がある人でないとわかりませんよね。

もし知らないままモデリングしてしまうと、実際には使えない意味のないモデルになってしまったり、精度が悪いモデルが出来上がったりしていまいます。

こういうところがデータサイエンスにおいてビジネス知見が必須と言われる所以の一つだと思います。

3.データの件数(レコード)を増やす

恐らくこれは最も難しい(コストの高い)手段になるかと思います。

そもそも、データを用いる際には指定された期間や条件のデータをすでに用意した状態からデータサイエンスを始めるので、追加でレコード数を増やそうとすると、多くの場合は高いコストを払って追加でデータを収集する必要がある可能性があります。

特に日付情報が含まれる時系列データの場合は、古いデータを使うことで精度が悪くなってしまうことがあります。これは時代の流れによって世の中の経済状況や流行が変化するためです。

過去のトレンドから予測を行う時系列モデルの場合は、過去の異なるトレンドから学習させることが非常に難しくなるのです。

データを簡単に入手できる環境であれば問題ありませんが、追加でレコード数を増やしたい場合はそれにかかるコストと機械学習を導入するメリットをよく考えて、データ収集を行う必要があります。

 

以上、ビジネス的な視点から見た予測モデルの精度向上に繋がるデータ収集方法でした!

次回は特徴量エンジニアリングによって精度を上げる方法を伝えたいと思います。

コメント

タイトルとURLをコピーしました