誰かを馬鹿にしているわけでも、自虐的になっているわけでももありません。
データ分析系の数理モデル(予測や判別、検知など)の精度に関する「呪い」です。
試行錯誤の結果、予測精度や判別精度を高めることは重要なことですが、それがどのくらいのインパクトを持つかを考えることは、それ以上に重要なことです。
予測精度が20%改善した! 分類精度が10%向上した! このぐらいであれば、大きなインパクトがありそうです。
では、予測精度が0.1%改善した! ではどうでしょうか?
分野や何を何を対象にしているか、掛けたコストによって、この数字の意味するところのインパクトは大きく異なるでしょう。
場合によっては、大きなインパクトを得ることができず、コストの垂れ流しの憂き目にあうかもしれません。
今回は、「精度が0.1%改善! だからどうしたと、周囲から不思議られる分析結果」というお話しです。
コスパ度外視!
データ分析系のコンペは、昔からあります。その中で分かりやすいのは、精度を競うもの。1つの数字で表されるため、プレゼンテーションなどが伴うものに比べ、非常に分かりやすいです。
それはそれで良いのですが…… ビジネスのデータ分析にまで、過剰に精度を持ち込むのは得策ではありません。
ビジネス系のデータ分析には、ビジネスへのインパクトの大きさというデータ分析の成果を求められるからです。
私が何度も目の当たりにしたことがあります。「データ分析のやり過ぎによる不効率」という現象があります。
データ活用の恩恵として、何もしていないような組織やビジネス活動などに対し、データ分析のやり始めはそれなりのビジネス効果が現れます。伸びしろがたくさんあるからです。
しかし、データ分析がある程度進むと、データ分析のやり始めの頃に比べ、得られるビジネス効果が小さくなります。伸びしろが少ないからです。
コストパフォーマンスがみるみる悪くなります。
当たり前と言えば当たり前のことなのですが、その小さな伸びしろに対し、多大なる労力をかけてしまい、不効率な状況を生み出してしまうことがあります。
結構、このようなことは起こります。往々にして、データ分析は効率化をけん引します。そんなデータ分析が、データ分析そのものが不効率になるという皮肉な現象です。
ある若手データサイエンティストのお話し
20代のある若手データサイエンティストがおりました。
その若手データサイエンティストは、ある画像の分類問題の精度を高めるため、色々な手法を試し、試行錯誤して分類精度を高めていきました。
最初は、結構な勢いで精度が高くなっていきました。ある程度の精度になると、そこから精度を高めるのは大変です。
掛けた時間とコストに比べ、微々たる精度改善しか実現しません。
画像と分類問題とくれば、ディープラーニングです。ディープラーニングと言えば、計算量です。多大なる計算量をどうにかするには、マシンスペックです。最近はやりなのが、クラウド環境です。
最近は便利なもので、高価な計算機(コンピュータ)を買ってこなくても、クラウド環境で何とかなります。クラウド環境の設定をいじって、使っている計算機のマシンスペックを上げればそれですみます。その手軽さの代償は、クラウド環境の利用料というコストで跳ね返ってきますが……
実際、1カ月かけて0.1%の精度の改善に成功した代償として、数十万円という料金が請求されたということです。
で、0.1%の精度の改善のビジネスインパクトはどのくらいかと言えば、ほぼ皆無でした。
一度で済めばそれはそれでよいかもしれしれませんが、毎月新しいデータに対し、このやり方を繰り返すということになり、どうしたものかとなったのでした。
スピードとコストと精度の狭間で……
似たような話しは、色々あります。
結局のところ、ビジネスで活用するなら、スピードの問題とコストの問題が出てきます。
素晴らしい精度であっても、ビジネスタイミングを逃すような予測や分類では意味はありません。タイミングを逃すとは、必要な時にその予測結果や分類結果を得ることができないということです。
スピードの問題は、人の動き方やコンピュータのスペックの問題など、色々な問題が複合的に絡まってきますが、コンピュータにだけ着目すれば、単にマシンスペックを上げろ! ということになりがちです。
確かに、マシンスペックを上げれば、スピードはあがるでしょう。しかし、多くの場合マシンスペックを上げるとコストが掛かります。
要するに、精度とスピードの両方を上げるにはコストが掛かるということです。
コスト一定のもとでは、精度かスピードのどちらかを犠牲にする必要があります。そのときどちらを犠牲にするかと言えば、それは精度です。タイミングを逃せば、精度がどんなに高くても活用されないからです。
何とも言えない問題ですが、しかたありません。
あなたならどうする
現実問題として、限られた予算と守るべきタイミングの中で、出来る限り精度を高める、ということに行きつきます。
精度を高めるために、多大なる予算を使い、さらにタイミングまで逃したら、目も当てられません。
つまり、ビジネスインパクトを得るための最低条件として、決められたタイミングまでに予測なり分類なりの結果を出力する必要があるということです。
そもそも、現実的に「どのくらいの精度」であれば使い物になるのでしょうか。「最低限必要な精度」とは、どの程度でしょうか。「求められる十分な精度」とは、どの程度でしょうか。
このような求めあれる精度に関して、活用視点からの議論が必要になることでしょう。
精度だけではありません。タイミングやコストに関しても同様です。決して、データ分析者やデータサイエンティストなどの視点だけではなく、活用視点からの精度でありタイミングでありコストである必要があります。
そのような議論は、どこかでするタイミングは必ずあると思います。それは、分析結果などを報告する場ではなく、早め早めに議論しておくことが理想です。無駄に精度を高めるというリスクを避けられるからです。
今回のまとめ
今回は、「精度が0.1%改善! だからどうしたと、周囲から不思議られる分析結果」というお話しをしました。
どうしてもデータ分析者やデータサイエンティスト主導で、予測モデルや分類モデルの検討をすると、小さな精度改善のために、多大なる労力やコストをかけてしまうという、ちょっとした罠に陥ることがあります。
活用視点で考えれば、精度以上に重要なのはタイミングです。活用するタイミングに、予測結果や分類結果が出力されていなければ、活用しようがありません。精度が良かろうが悪かろうが、活用されていないので、ビジネスインパクトという点で考えるとどちらも同じです。
データ分析をやり始めたころは、それなりの効果が目に見えて出てきます。しかし、データ分析でやりつくした感が出てくるころになると、重箱の隅をつつくかのように、目に見えた成果が出にくくなります。
それでも、その重箱の隅をつつきまくるデータ分析者やデータサイエンティストがいます。効率性を生み出すはずのデータ分析自らが、不効率になるのです。
どのタイミングでこのようなことが起こるのかを見極めることは、非常に大変です。掛けた労力やコストに比べ、ビジネスインパクトが小さくかどうかで見極めるべきです。
この意識を保つには、常にデータ分析を活用する側の視点で、意識し続ける必要があります。
コスト意識とスピード意識です。
結局のところ、「限られた予算と守るべきタイミングの中で、出来る限り精度を高める」という姿勢で臨むしかありません。
分析好きのデータ分析者やデータサイエンティストにとって、分析以外に意識を向けることは苦痛かもしれません。しかし、それ以上に「ビジネス貢献し周囲に認められ感謝されるデータ分析を量産」しほうが良いのではないでしょうか。