ビッグデータから価値のある法則を導き,実際の業務で活用するためには,単なる統計・機械学習ツールの実行だけでなく,分析目的の設計,データの前処理,モデルの設計,業務フローへの組み込み,といった一連のプロセスが必要である.この「分析プロセス」を実行するデータサイエンティストには,顧客の業務と分析の両面の理解が求められ,現状では個人のスキルに依存しているケースがほとんどである.本稿では,筆者らが第一線のデータサイエンティストとして挑戦する分析プロセスの自動化・標準化への取り組みを説明する.

1.はじめに

 エネルギー・水・食料の需給を予測して限りある資源を効率的に利用したい,インフラの劣化を把握して計画的に補修したい,災害を予測して事前に対策を講じたい,商品の需要を予測して欠品や廃棄を減らしたい.これらの社会課題に対し,従来のような人間の経験と勘に頼る手作業の予測では,予測モデルの作成に長い時間がかかる,精度が上がらない,大規模な予測ができないなどの問題があった.今,実社会から刻々と発生しているデータ,すなわち「ビッグデータ」が注目されている.大量に蓄積されたさまざまなビッグデータの分析と利活用により,今まで気づかれなかった新しい科学的発見による知的価値の創造や,新しく獲得した知識の活用による社会的・経済的価値の創造やサービスの向上などが期待されている.

 ビッグデータから価値のある法則を導き業務で活用するためには,分析目的の設計,データの前処理,モデルの設計,業務フローへの組込み,といった一連のプロセスが必要である.いわゆるデータサイエンティストの業務に明確な定義はないが,単なる数理統計や機械学習ツールの知識や実行だけでなく,顧客(エンドユーザ)の業務に対する正しい理解と顧客との対話を含む試行錯誤的かつ高度な分析作業が求められ,現状では個人のスキルに依存しているケースがほとんどである.しかし,米国では2018年に14~19万人のデータサイエンティストが不足すると試算されるなど,データサイエンティストの圧倒的な不足が世界的な課題となっている[1] .日本では文部科学省を中心にデータサイエンティストの教育に力を入れているが[2] ,加速的に増え続けるニーズに追い付けていないのが実情である.

 IoT(Internet of Things)の広がりを始め,ビッグデータ分析による社会や顧客課題の解決はますます期待とニーズが高まっている.その可能性を広げるために,ICTによってデータサイエンティストによる分析プロセスの自動化,標準化が求められている.本稿では,筆者らが第一線のデータサイエンティスト,そして分析技術研究者として挑戦する,分析プロセス自動化・標準化に向けた取り組みを説明する.

2.分析プロセスの全体像と課題

 1996年にUsama Fayyadらは,従来はメインのアルゴリズムのみに焦点が当たっていたデータ分析を,前処理やデータ変換,モデルのチューニングや後処理といった一連のプロセス,KDD(Knowledge Discovery and Data minng)プロセス,として定義した[3] .そして,現在では,データ収集,目的設定,そして分析から得られるモデルの運用を含めた広い範囲を,分析プロセスとして捉えることができる(図1).

図1●分析プロセスの模式図
図1●分析プロセスの模式図
[画像のクリックで拡大表示]

 データサイエンティストには,分析のフェーズによってさまざまな役割が求められる.目的設定・データ収集のフェーズ(図1の左)では,顧客の保有するデータと業務を理解し,顧客の課題を明らかにし,それを解決するソリューション(SL)を分析問題へブレイクダウンし,それによって得られる価値の定量化や評価の基準を,顧客との対話を通じて設計・提案する.分析のフェーズ(図1のKDD Process)では,データを適切に前処理し,特徴空間やモデルを設計し,得られた結果が顧客の課題を解決に資するかを顧客と共に検討する.そして,運用のフェーズでは,得られた分析モデルを顧客の業務システムへ組込むためのシステムを設計し,構築し,運用する.

 本稿では,筆者らが取り組む分析プロセスの自動化,標準化について紹介する.第3章では,分析プロセスを業務フローとして標準化する取り組みを紹介する.データサイエンティストには,上述したように,さまざまなフェーズで分析の専門家としての役割が求められる.業務フローとして標準化し,一部をテンプレート化することで,データサイエンティストの業務を均質化,効率化することを目指している.第4章と第5章では,特に予測分析に焦点を絞り,予測モデルと特徴空間の設計を自動化するための技術を紹介する.予測モデルと特徴空間の設計は,一般的にデータや分析技術に関する深い理解に基づく試行錯誤的な作業となり,運用に資する結果を得るためには時間と工数を要する.機械学習技術によって,また,試行錯誤を自動化することによって,高精度な予測モデルを素早く顧客へ提供し試行錯誤のプロセスを迅速化するとともに,大量の予測モデルを運用することを可能としている.