🎓

データ分析におけるゴール・課題の設定

はじめに

本記事では、分析自体からは少し離れて、適切なゴール設定について詳説します。
 
もちろんゴール設定せずに『データの中から探索的に実現可能なタスクを明らかにする』『精度のゴールを設定しないまま与えられた問題の中で限界まで精度を追求する』というアプローチ自体は間違ってはいません。与えられたデータを試行錯誤する中で素晴らしいビジネスアイデアへの道筋が見つかるということもあるかもしれません。
 
しかし、多くの実務やビジネスシーン、案件において、慣れていないうちからゴール設定せずにデータの探索を行うといたずらに時間を消費し結局何も得られないという遭難状態に陥ってしまう可能性があります。
 
また、実務家としても明確なゴールが設定されていることは意思決定者と作業者間の合意形成にも役に立ちます。
 
そのため本記事ではオーソドックスなデータ分析の進め方として、分析前にゴール設定を行い、分析を通して設定したゴールを達成するという方法を解説します。

AIシステムとAI

以降、本記事では AI システムと AI を分離して考えます。なぜなら AI システムとしてのゴール(システムの仕様)と AI のゴール(精度目標)は分離して考える必要があるからです。
 
AI システムとは経済協力開発機構(OECD)によって次のように定義されています。
明示的または暗黙的な目的のために、受信した入力から、物理環境または仮想環境に影響を与える可能性のある予測、コンテンツ、推薦、決定などの出力を生成する方法を推論する機械ベースのシステム。
 
要約すると『AI を組み込んだシステムの全体』のことを指します。
 
対してAI は哲学、工学、自然科学、社会科学、越境研究等の視点から定義が行われるため、市場および研究者間で合意形成が行われていない用語です。本記事では狭義的に『AI システムを構成するために必要な前処理と機械学習モデル』を指し示します。

AIシステムのゴールを設定する

まずはどのような問題に対してどのように解決するのかを考えていきます。
 
問題の解決策をより具体化して考える行為は、AI システムが『どれくらいの速度で推論すればよいのか?』『機械同士がやり取りをするインタフェースを持つ必要があるのか?』などのシステム要件に落としこむ行為に一致します。
 

問題を書き出してみる

まずは現状の問題や問題ではないができるようになると嬉しいものを特定しましょう。
例えば次のような問題が挙げられます。
  • 感覚的な予測に頼って次の商品を発注している
  • 人間の操作によってプラントの運転しているが人によって能力差がある
  • 稼働中の生産システムに異常が起きたらアラートをあげてほしい
  • 提案資料を作るのに時間がかかる
  • 品質のチェックを自動で行いたい
  • 打検に多大なコストを割いている

AIで解ける課題を抽出する

今回は AI で解ける可能性を有する問題のみを列挙しています。
 
しかしながら実際のところは、AI は社会のどんな問題でも解ける万能の道具ではありません。 提示した問題が AI で解けるか? という点について考える必要があります。
 
AI で真に解くべき課題とは、複雑な事象であるためにルールベースな手法や数理モデリングでは直接的に解くことができない課題です。逆に言えば、ルールベースやモデリングといったアプローチを行って 100%の精度(もしくは必要十分な精度)を達成できるのであれば、ほとんどの場合 AI システムを構築する必要はありません。ただし、実装コストを勘案し AI を選択するということ自体は有効かもしれません。
 
少なくとも以下の条件を具備していなくては AI で解決するのは難しいでしょう。
  • データには何らかの法則性が存在している
  • 何らかのコンピューティングシステムにデジタルデータとして入力できる
  • 応答速度の要件がある程度の長さである(100 ミリ秒以上が目安)
  • 画像、センサーデータ、時系列データ(株価など)、テーブルデータ、音声データ、テキストデータなどのデータで表現されている
    • これ以外のデータ形式や組み合わせも対応できる可能性はあるが技術的難易度は高い
 
また、具体的な事例なども参照して『そもそも AI で解決できそうか?』『ほかによりよい手法が存在していないか?』といった部分を判断してください。
 

AIシステムの仕様を考える

次にシステムとしての要件を考えていきます。一般な開発フローでは要件設計といわれる設計の段階にあたります。
 
例えば『製造機械を自動的に制御したい』となれば
  • 自動的にセンサーデータを収集する
  • センサーデータを AI システムに入力する
  • AI システムの出力によって、機械を動かす
といったことができるようなシステム仕様が必要になります。
 
以下のような要素について考慮を行い、AI システムのあるべき形と備えるべき機能を考えていきます。
  • どういったデータ形式で入出力を行うのか?
  • 求めるシステム応答速度
  • 誤認やエラーはどの程度許容されるのか?
  • コンピューティングリソースはどの程度のスペックであるか?
  • 既存システムとのつなぎこみのインタフェースは何か?
  • 安全のための停止機能等は必要か?
  • 異常検知機能やアラート機能は必要か?
  • 人間が閲覧するためのダッシュボードは必要か?
 
『ダッシュボードとして、人が予測結果を閲覧できるようなシステム』や『Web API(Serving)として JSON や YAML として成形された推論結果を出力するマイクロサービスとして動作するシステム』、『既存システムの1つのコンポーネントとして AI を組み込みこんだシステム』といった形態が考えられます。
 
また、入力データの形式によって使用するべき AI ツールなどもおのずと決まってきます。時系列データを入力とするのであれば Node-AI が候補に挙がります。逆に画像や音声となればそのほかのツールやプログラミングを視野に入れる必要があります。
 
また、データが集まっていないのであればデータ収集の方法も考える必要があります。
 
いずれにせよ、何を入力データとし、何を出力データとするのか。そして、出力データはどのように活用するのかといった AI システムのゴールを設定を定めてください。

AIのゴール (分析ゴール)

AI として求めるべき分析のゴールを設定します。これは AI システムの要件定義(ゴール)を満たすために必要な構成要素としての AI が満たすべき性能を指し示します。
 
当然精度は高ければ高いほどよいでしょう。とはいえ、精度を高める作業は時間もコストも必要とします。まずは AI システムのゴールを過不足なく満たすゴールを設定しましょう。
 
評価自体の詳細はこちらにまとめています。評価指標の中から妥当性のある指標と目標値を設定してください。
 
例えば以下のような基準によって設定します。
  • 現在人が行っていて 80%程度の検知率であるため、80%の検知率を目指す
  • 現在人が行っていて 80%程度の製造効率であるが、自動化できれば人件費が縮小するので 75%を目指す
  • 異常値が出力されると大きなコストがかかるため、評価は RMSE を採用する
  • 現在の予測モデルが 90%の精度であるが、それを 95%以上に向上させることを目指す
 
データサイエンティストや分析担当者は分析ゴール(精度目標)の達成を目指して、各種前処理やモデルのチューニングを行います。

おわりに

目標を明確にすることでデータ分析の効率を大幅に向上させることができます。プロジェクトの方向性を見失わず効果的に成果を上げるためには、事前に適切なゴールを設定し利害関係者間での目的共有と合意形成が行われることが望ましいです。
 

最新の記事