データが少なくても機械学習は使える?少数データでPoCするときの判断方法

産業インサイト・課題解決///

「機械学習には何件くらいデータが必要ですか?」

AI・機械学習のPoCを検討すると、よく出てくる質問です。100件、1,000件など一定の件数を目安として示したくなりますが、実際には必要なデータ量を件数だけで決めることはできません。

同じ36件でも、互いに独立した36件のデータと、3年間にわたる月次36点の時系列では意味が異なります。また、少数の変数から単純な関係を推定する場合と、多数の特徴から複雑な関係を学習する場合でも必要な情報量は変わります。

重要なのは、「何件あるか」だけではなく、現在のデータが、解こうとしている問題とモデルの複雑さに対してどの程度の情報を持っているかを確認することです。

本記事では、月次売上データが36点しかない架空ケースを例に、少数データで機械学習PoCを行う際の問題設定、Baseline、評価方法、不確実性、追加データ取得の考え方を整理します。

機械学習に「最低○件」という一律基準はない

機械学習に必要なデータ量は、対象となる問題によって大きく変わります。

比較的単純な問題であれば少量のデータから有用な推定ができる場合があります。一方、入力変数が多い、ノイズが大きい、対象のばらつきが大きい、複雑なモデルを利用する、といった条件ではより多くのデータが必要になる可能性があります。

少量データを対象とした機械学習自体も研究されており、スパースモデリング、ベイズモデリング、転移学習、能動学習など複数のアプローチがあります(赤穂, 2023)。したがって、「データが少ないから機械学習はできない」と一律に判断するのも適切ではありません。

反対に、少ないデータで高い評価値が出たからといって、「データ量は十分だった」と結論付けることも避けます。モデルがTraining Dataへ過度に適合している可能性や、評価データが少ないため指標自体が不安定になっている可能性があるためです。

DATA COUNT / INFORMATION STRUCTURE
36 observations
Time dependency観測同士に時間的な依存があるか
Seasonality周期的な変動を推定する必要があるか
Noise偶然変動がどの程度含まれるか
Featuresどの程度の説明変数を扱うか
Forecast horizon何期先まで予測する必要があるか
Structural change期間中に業務構造が変化していないか

データが少ないと何が問題になるのか

データが少ないときに特に注意したいのが、過学習と評価の不安定さです。

過学習(Overfitting)とは、Training Dataにはよく適合するものの、新しいデータでは十分な性能を発揮できない状態です。モデルが必要以上に複雑だったり、学習データが本番環境を十分代表していなかったりすると発生しやすくなります。

また、限られたデータをTraining、Validation、Testへ分けると、それぞれに使える観測数がさらに少なくなります。

だからといって、全データで学習し、その同じデータで精度を評価すればよいわけではありません。それでは未知データへのGeneralization、つまり新しいデータへどの程度適用できるかを評価できません。

少数データでは、モデルを作ること以上に「どのように評価すれば、どこまで言えるのか」を設計することが重要になります。

月次36点で6か月先の需要予測を求められる架空例

説明用の架空企業を考えます。

利用できるデータは、ある事業の月次売上36か月分です。業務部門から「AIを使って今後6か月の需要を高精度に予測したい」という依頼を受けたとします。

36点だから機械学習ができない、と即断する必要はありません。一方で、36点を通常の表形式データ36件と同じように扱うことも避けます。

まず確認したいのは次のような点です。

  • 36か月が連続して記録されているか
  • 欠測や異常値がないか
  • 売上の定義が3年間で変わっていないか
  • 価格改定、キャンペーン、大型案件等があったか
  • 商品構成・顧客構成が大きく変わっていないか
  • 年間周期があると考える業務上の根拠があるか
  • 本当に6か月先まで予測する必要があるか
  • 店舗、商品、地域等の関連系列を利用できないか
  • 価格や営業日数等の外部変数を予測時点でも取得できるか

例えば月次36点は3年間のデータです。年周期を想定する場合、観測されている年間サイクルは限られています。そこから複雑な季節性を安定して学習できると最初から仮定するのは慎重であるべきです。

また、12か月前の値をLag Featureとして追加しても、それによって新しい独立した観測が増えるわけではありません。むしろ先頭期間ではその特徴量を作れないため、モデル設計によっては利用できる観測がさらに限られます。

少数データでPoCする前に確認する7項目

1. 何を予測・判断したいか

「需要予測をしたい」だけではなく、予測を何の判断へ使うかを確認します。

在庫量を決めるのか、人員配置を決めるのか、営業計画を見直すのかによって、必要なForecast Horizon(何期先まで予測するか)や許容誤差が変わります。

2. 1観測が何を表しているか

36行あるから「36サンプル」とだけ考えず、独立データなのか、同一対象を時間順に測定した時系列なのかを確認します。

故障や不良のようにRare Eventが少ない分類問題であれば、総件数だけでなく対象イベントが何件含まれているかも重要です。

3. データ品質と代表性を確認する

件数が少ないほど、一部の特殊データが結果へ与える影響が大きくなることがあります。

欠測、定義変更、計測方法の変更、特殊イベント等を確認し、現在のデータが将来予測したい業務環境をどの程度代表しているかを整理します。

4. 特徴量とモデルを複雑にしすぎない

データが少ないときに多数の特徴量を追加すれば情報不足を解決できるとは限りません。

特徴量を増やすほどモデルが扱う次元も増え、限られた観測から関係性を推定することが難しくなる場合があります。

業務知識から意味のある候補を絞り、必要以上に複雑なモデルへ進まないことも重要です。

5. 単純なBaselineを設定する

高度な機械学習モデルを評価する前に、比較対象となるBaselineを用意します。

時系列予測なら、直近値を利用するNaive Forecast等が候補になります。季節性を扱う場合も、データからその構造を支持できるか確認したうえで比較します。

高度なモデルがTraining Dataへよく適合することではなく、単純なBaselineより未知期間で実務上意味のある改善を示せるかを見ることが重要です。予測精度指標自体にも特性があるため、用途に合った指標を選択します(Hyndman and Koehler, 2006)。

6. Validation方法と不確実性を確認する

時系列では、未来の情報を過去の予測へ利用するFuture Leakageを避けます。

例えばRolling Forecast Originでは、ある時点までのデータをTrainingとして、その後の観測を予測し、予測起点を順に進めながら評価します。

時系列に通常のK-fold Cross Validationを使える条件についての研究もありますが、系列相関や非定常性があるため適用は単純ではありません(Bergmeir et al., 2018)。実務ではデータ生成過程を踏まえて評価方法を選択します。

7. 追加データ取得の可能性を確認する

追加データとは、単純に行数を増やすことだけではありません。

不足している季節、条件、商品、顧客層、Rare Eventなどを追加して、本番環境をより代表する情報を増やすことが重要です。

Learning Curveは、学習データ量を変えたときにTraining ScoreとValidation Scoreがどう変化するかを見る方法で、追加データによる改善余地を考える材料になります。ただし、追加データで必ず性能が向上することを保証するものではありません。

月次36点を「普通の36件」と考えない

時系列データでは、観測順序そのものが情報を持っています。

そのため、36か月をランダムに並べ替え、TrainingとTestへ分割すると、実際の運用では利用できない未来側の情報が間接的に評価へ入り込む場合があります。

TIME-SERIES VALIDATION
Past observations / Training 予測時点までに利用可能だったデータのみを使用する
Future observations / Validation その後に実際に観測された値で評価する
予測起点を時間方向に進めながら複数回評価する方法も検討する。

予測モデルは将来へ適用するものなので、Training Dataへの適合度よりOut-of-sample、つまり学習に使っていない期間での性能を重視します。予測モデルの評価では、Out-of-sampleテストの設計自体が重要な論点です(Tashman, 2000)。

データが足りないときに変えられるもの

データ量を短期間で増やせない場合でも、PoCの設計側で見直せる要素があります。

現在の課題見直し候補
観測数が少ないモデルを必要以上に複雑にしない
特徴量が多い業務知識から候補を絞る
Forecast Horizonが長い業務上許容できるなら短い期間も比較する
点予測が不安定予測区間、レンジ、シナリオも検討する
Rare Eventが少ない問題設定や追加収集方法を再検討する
1系列しかない比較可能な商品・店舗・地域等の関連系列を確認する
評価データが少ない時系列構造に適した複数回評価を検討する

少ないデータで機械学習を適用する方法は複数存在しますが、特定の高度手法を導入すればデータ不足がなくなるわけではありません。

むしろPoCでは、モデルを複雑化する前に、問題設定と利用データを見直す方が有効な場合があります。

問題設定そのものを変える選択肢

依頼された「6か月先の売上を一点で高精度に予測する」という問題を、そのまま解かなければならないとは限りません。

実際の意思決定を確認すると、例えば「翌月の発注量を決めたい」「計画から大きく外れそうな月だけ早めに知りたい」といった目的かもしれません。

その場合は、Forecast Horizonを短くする、点予測ではなく一定範囲を提示する、売上額そのものではなく計画超過・未達の可能性を判断するといった問題設定も検討できます。

これは精度を良く見せるために問題を簡単にするという意味ではありません。業務上必要な意思決定へ問題を合わせ直すという意味です。

追加データを取る価値をどう考えるか

PoCの結果が「現在の36点では判断が難しい」だったとしても、それは失敗とは限りません。

例えば、価格変更の履歴がないことが問題なのか、年間周期の観測が不足しているのか、大型案件を識別できないことが問題なのかが分かれば、次に記録すべきデータが明確になります。

少数データのPoCでは、モデル精度だけでなく、「次にどの情報を増やせば意思決定可能性が高まるか」を特定することも成果になります。

SMALL DATA POC DECISION FLOW
01Business Question
02Available Data
03Simple Baseline
04Validation
05Uncertainty
Proceed
Simplify Problem
Collect More Data

少数データPoCチェックリスト

確認項目確認内容
目的何を予測し、その結果で何を判断するか明確か
観測単位1行・1点が何を表しているか確認したか
構造独立データか時系列かを確認したか
品質欠測・異常値・定義変更等を確認したか
代表性本番環境を十分に代表しているか
Horizon予測期間は業務上本当に必要な長さか
特徴量必要以上に特徴量を増やしていないか
Leakage予測時点で利用できない未来情報を使っていないか
Baseline単純な比較方法を設定したか
Validation未知データでの性能を評価しているか
時系列評価時間順序を考慮した評価を行っているか
安定性評価期間等を変えたときに結果が大きく変わらないか
追加価値高度なモデルがBaselineを実務上意味のある差で上回るか
不確実性点予測だけでなく不確実性も確認したか
問題設定より意思決定に合った問題へ変更できないか
追加収集不足している情報を具体的に整理したか

手元のデータ件数だけを見る前に、「1行・1点が何を表しているか」「予測したい期間はどれくらいか」「最も単純な方法ならどの程度予測できるか」を確認してみてください。

少ないデータほど、モデルを複雑にする前の問題設定とBaselineが重要になります。

まとめ

機械学習に必要なデータ量を「○件以上」と一律に決めることはできません。

問題の複雑性、特徴量、ノイズ、データ品質、代表性、モデルの複雑さ、求める精度、評価方法などによって、必要な情報量は変わります。

月次36点のような短い時系列では、件数だけで判断せず、時間構造、Forecast Horizon、季節性、構造変化等を確認します。そのうえで単純なBaselineを置き、Future Leakageを避けたOut-of-sample評価を行います。

現状のデータで十分に判断できない場合も、問題設定を変更する、モデルを単純化する、不足している条件のデータを追加取得する、といった次の選択肢を整理できます。

SCI総合研究所株式会社のRASHINRAでは、「データが少ないからAIはできない」「とりあえず高度なモデルを試す」という二択ではなく、何を判断したいのか、現在のデータでどこまで検証できるのか、統計・機械学習のどの方法が適しているのか、追加データを取得する価値があるのかを整理します。

「月次データが数年分しかない」「少数データでPoCを求められている」「PoCの精度をどこまで信用してよいか分からない」といった段階から、分析可能性と次に取るべきアクションを整理できます。

参考文献

  • 赤穂昭太郎. 2023. 少量のデータに対する機械学習. 電子情報通信学会 基礎・境界ソサイエティ Fundamentals Review. Vol. 16. Issue 4. pp. 247-256. DOI: 10.1587/essfr.16.4_247.
  • Bergmeir et al. 2018. A note on the validity of cross-validation for evaluating autoregressive time series prediction. Computational Statistics & Data Analysis. Vol. 120. pp. 70-83. DOI: 10.1016/j.csda.2017.11.003.
  • Hyndman and Koehler. 2006. Another look at measures of forecast accuracy. International Journal of Forecasting. Vol. 22. Issue 4. pp. 679-688. DOI: 10.1016/j.ijforecast.2006.03.001.
  • Tashman. 2000. Out-of-sample tests of forecasting accuracy: an analysis and review. International Journal of Forecasting. Vol. 16. Issue 4. pp. 437-450. DOI: 10.1016/S0169-2070(00)00065-0.