私達の確率の精度はどのぐらい良いでしょうか

10 minute read

皆さんは天気予報士の予測をどの程度信頼していますか。 

皆さんは予報士による予測そのものを全く信頼していないかもしれませんし、他の予報士の予測よりも正確だと感じるお気に入りの予報士がいるかもしれません。しかし、予報士による予測の正確度について客観的に説明することができますか。

Parkopediaでは、世界中の何十万もの駐車場向けに、年間を通じて駐車スペースの満空情報を予測しています。当社も同じ質問を自社に向けて問います。もちろん、お客様や提携企業からも同じ質問を受けます。つまり、当社はどのように自社による予測の品質を測り、客観的に示しているのかという問いです。

最近では、統計学や機械学習が未来を予測するために広く使われています。単一価値の予測では、明日の英ポンド/米ドルの予想額や、休暇先の来週末の気温予測などについて、正確な結果を予測しようとします。この種の予測の質を判断することは比較的簡単です。予測値を書き留めておいて予測の対象となった時間になるまで待ち、実際の観測値を記録して、最終的にこの2つの値の差を比較して、初期の予測がどれだけ良質であったかを判断します。例えば、明日の正午の気温について、2人の予報士がそれぞれ18度と22度であると予測し、翌日になって実際の気温が21度であった場合、2人の予報士の予測値の誤差はそれぞれ3度と1度となり、2人目の予報士の予報の質は1人目の予報士よりも明らかに優れていることがわかります。

別の分野の予測では、明確な発生を測定する基準、つまり何かが発生する確率を予測する方法を見つけるのは上記に比べて少し複雑です。天気予報の例で言えば、将来のある時点で雨が降るか降らないかについての確率があります。私たちにとって最も関連性の高い例は、到着予定時刻に自分の目的地の駐車場が空いている確率です。人間は不確実性や確率を扱うのが苦手なことで知られていますが、不確実性や確率で使用される言葉も曖昧なことがあり、有用ではないのです。この『ハーバードビジネスレビュー』誌の記事が示すように何かが「おそらく」起こるだろうと言ったときにどのくらいの確率で起こるのか、あるいは「たぶん」起こるだろうと言ったときに比べてどのくらいの確率で起こるのかについては、本当のコンセンサスはありません。

具体的な数字での確率

確率はまず、具体的な数字を用いて話すことが重要です。確率は一般的に0から1の間の数字で表され、0は予測された現象が確実に起こらないことを意味し、1は起こることが保証されていることを意味します。例えば0.5は、50:50の確率を意味します。同様に、これをパーセンテージで表すこともでき、0%から100%の間のパーセンテージで、50:50の確率は50%となります。ここで問題は次のようになります。何かが発生する確率がX%と予測される場合、実際に何が起きるか、予測対象事象の2値アウトカムが起きるかどうかを待って観測し、その上で予測の質の良否を適切に判断できるでしょうか。

主に問題となるのは、予測が実際に0%または100%の確率でない限り、確率には決して保証がないということです。もし雨になる確率が10%に過ぎなかったので、その予報に基づいて傘を持たずに出かけたところが、大量の雨が降ってびしょぬれになってしまった場合、もちろんその予報をした予報士のことを不愉快に思うでしょう。しかし、その予報士からすれば、単に運が悪かっただけだと言うことができるのです。予報士は10分の1の確率で雨が降る可能性があると予報していたのですから。この一つの事例から見ると、90%の確率で雨が降るという予測をした予報士の方が優れているように見えるかもしれません。しかし、これは「雨は全く降らない」という同じ予測の、次の9回の予測のひとつかもしれません。そうなると、この最初の予報士の予報が正しかったことを証明することになります。これは、天気予報士の確率の質を判断することができるかどうか、についての最初の洞察を示しています。予測された確率が、何かが起こる全体的な頻度を適切に反映しているかどうかを知るためには、より多くの事例を収集する必要があるという洞察です。私たちが最初に見た、温度や価格についての事例では、単一の観測がすでに精度の尺度を与えていることとは対照的です。

確率という言葉の正確な意味は非常に哲学的なものになります。上記の最初の直感から、多くの人は何が「良い」予測の確率を構成するかの条件を言葉にしようとするときに、次のようなものにたどり着きます。

ある現象がX%の確率で起こると予測された全回数のうち、その現象はその回数のうちX%の確率で起こるはずです。

つまり、誰かが例えばある1年について、30%の確率で雨が降ると予測したすべての日を対象として考えると、これらの日々のうち平均で10日に3日は、実際に雨が降ったことになります。この平均値の方が予測より高いか、より低い場合、その予測は少なくともある意味では最適ではないことがわかります。この考え方はキャリブレーションと呼ばれ、確率と実際に観測された頻度が一致している予報士は、「キャリブレーションが良い」とされます。

この考え方は視覚化すると、役立ちます。まず、0から1まで、例えば小数点以下1桁までの有限数の異なる確率値のみを予測するとします。0.0、0.1、...、1.0 とすると,11個の値が得られます。次に、いくつかの予測とそれに対応する実際に起きた現象の観測を行います。肯定的な観測(確かに雨が降った、駐車場を見つけることができた)をするたびに、緑色のボールをその現象の確率の予想に対応する容器に入れます。否定的な観測の場合は、紺色のボールを入れます。 

ここでは、2つの異なる予測者による、可能性のある結果の例をいくつか挙げてみましょう。

最初の予測者はランダム性が非常に高いようです。何を予測しても、結果は全体で50:50に近いようです。2番目の予測者は、キャリブレーションがずっと良いですね。確率値が高いほど、現象が実際により頻繁に起きています。

これを具体的で測定可能なものにするには、ちょっとした計算が必要です。まず、 0から1までのK個の異なる確率値、例えば小数点以下1桁までの確率値のみを予測すると仮定します。Kに対して0.0、0.1、...、1.0 =11となります。次に、N個の予測をして、それに対応する実際の結果を観測します。これらをK個の異なる予測値によってグループ化し,これをf0 = 0.0とfK = f10 = 1.0のときのfkで表します。次に、予測された現象が実際に発生したグループ内の時間の比率を決定します。これは、予測値fkに対応するグループkのōkで示されます。これがすべて揃ったところで、キャリブレーションという考え方をもう少し正式に述べることができます。つまり、観測された割合ōkが、各グループkについて予測された確率/比率fkに可能な限り近くなることが期待できます。これを測定するために2つの間の差を取り、2乗して過大評価と過小評価を同じように扱うようにします。すべてのグループで合計し(最大のグループをより強調するために、そのグループに予測された予測値の数 nk で加重します)、最後にすべてのN個の観測値を平均して、「キャリブレーション」という概念の最終的な客観的な尺度に到達することができます。

これはいわゆる「損失」であり、これが高い値の方がより悪いキャリブレーションを意味し、0であれば完全なキャリブレーションを意味します。

この損失の部分を可視化するために、先ほどの図を少し拡張することができます。下の図では、水色が完全キャリブレーションの線を描いています。予測された割合であるfkが、観測された割合ōkと正確に一致していることを示し、ダークグレー色が実際に観測された割合を示しています。これらを結ぶ垂直線の長さは,上の式の差 fk - ōk に等しくなります。

ランダム性がより高い最初の予報士の差ははるかに大きく、実際にこの結果は、より悪い(より高い)キャリブレーションスコアになります。

キャリブレーションが悪い予測は良くありませんが、キャリブレーションが良い予測値が有益な予測を保証するものではないことに注意することが重要です。これについて、ノルウェーのベルゲンを見てみましょう。ここでは平均すると、なんと年間365日のうち239(!)もが雨で、これは約65%に相当します。これに基づいて、気象予報士は、年間毎日雨が降る確率を65%と予測することもできます。この場合、その気象予報士は fk=0.65である予測のグループが1つだけで、その1年間の観測された割合はōk=0.65となります。結果としてキャリブレーションスコアは0になるため、キャリブレーションが完璧であると自慢できることになりますが、もちろんそれは何の役にも立ちません。同様に、ローマにおいていつでもどこでも駐車場を見つけられる確率が5%という固定の確率を予測することは正しいかもしれませんが、実際にどこで駐車場を探せばいいのかを決めるのには役立たないのです。

下の最初の画像は、全体的に正の現象の確率が50%である状況において、予測が常に0.5である場合のこの効果を例示しています。つまり、単一の青い点は完全なキャリブレーションの線上にあり、キャリブレーション損失は0ですが、予測には価値がありません。もう一つの極端な例としては、2枚目の画像のように、常に01のどちらかを予測している予報士がいますが、この場合は5回に1回は間違っているかもしれませんが、常に100%確実です。この予報士のキャリブレーションの損失はゼロではありませんが、間違いなくこの予報士の予測の方がはるかに有用です。

このことは、予報士には単にキャリブレーションの良さを望むだけではなく、理想的には0%100%の両極端に向かって異なる予測をしてくれることも望んでいることを示しています。この考え方は、レゾルーションとも呼ばれています。最高の予報士とは、0%か100%かのどちらかの割合だけを出力することで完全なレゾルーションを達成する一方で、依然として完全にキャリブレーションされている予報士になるでしょう。つまりこれは、観測された割合がそれぞれ0.0および1.0であることを意味します。

レゾルーションを表現する一つの方法は、各容器に入った観測された割合ōkを、すべての例の全体的な観測された割合ōと区別することです。これは、キャリブレーションで行ったのと同じように、2つの容器の差を使用して、すべての容器を合計して加重すると、このスコアに非常に似た式に到達します。

キャリブレーションとは対照的に、このスコアは高い方が良い結果になります。したがって、一つのスコアを得るために、キャリブレーションからレゾルーションを差し引くことができます。CAL - RES、これもまた損失で、低い方が良いものです。次のグラフは、上記の最後の2つの実施例について、この組み合わせを示しています。

水平の濃紺色の線は、全サンプルの平均観測率(どちらの場合も0.5)を示し、その線と容器ごとの灰色の観測率の間の垂直線は、その容器のレゾルーションスコアへの寄与度を示しています。これは、最初の予報士にレゾルーションがないことを示していますが、2番目の予報士、より自信のある予報士のレゾルーションを表す線はキャリブレーションの損失を上回っています。これは、2番目の予報士のスコアの合計が最初の予報士のスコアよりも小さく(-0.04190.0)2番目の予報士の方が優れているという、私たちの直感を検証する客観的で定量的な尺度に到達したことを意味します。

最後に、CALRESの組み合わせに小さな追加項を加えると、別のシンプルでエレガントな式になることがわかりました。

余分な不確実性の項(UNC)はō(1 - ō)と定義されています。基本的には全体の観測率が50%のときに最大となるベースラインの損失であり、予測したい現象に不確実性が多いと良いスコアの取得が難しくなることを明示的に織り込んだものです。

一般的にブライアスコアとして知られるこの最終式は、予測された確率fiと対応する0または1の観測oiとの間の事例当たりの差に基づいています。ブライアスコアは、そのシンプルさから確率論的予測の分野で人気のある指標ですが、その形式的な特性のいくつかにより、予測者がスコアを悪化させるリスクを冒さずに「ズルをして」自分の予測をヘッジすることを不可能にしています。ブライアスコアには単位がなく、組み込みの不確実性コストがあるので、すべての状況でどうすれば良いブライアスコアになるのかを言うことは実際には不可能です。

Parkopediaは、満空情報予測の品質を判断するための主要な KPI としてブライアスコアを適用しています。このスコアを使用して、機械学習モデルの新しいイテレーションのパフォーマンスを現在生産中のものと比較し、製品のさらなる改善を確認したり、異なる場所や時間でのパフォーマンスを比較したりしています。

ですから、今度どの予報士が信頼できるかを判断したい場合は、予報士のブライアスコアをしっかり比較するようにしましょう!

Parkopediaからの最新ニュースを更新するためにサインアップしてください