ナード戦隊データマン

データサイエンスを用いて悪と戦うぞ

モデルを評価するための一つの指標: 期待値

良いモデルとはなにか、という問いの答えは、どのようなビジネス課題が定義されているのかによります。期待値は、モデルから生まれる利益を評価するために使える指標です。ここでは、期待値を用いてモデルを評価してみましょう。

期待値の求め方

期待値は以下の式によって求められます。

f:id:mathgeekjp:20170812200516g:plain

それぞれのX_iは何らかの条件下における試行の結果を表します。p(X_i)はX_iが引き起こる発生確率、v(X_i)はX_iが引き起こったときの価値を意味します。

分類モデルを期待値で評価する

オンライン広告業者は、広告をクリックしそうなユーザとそうではないユーザに分類し、反応しそうなユーザをターゲットにします。しかし、このようなターゲットマーケティングでは反応確率は小さな値なので、本当に効果があるのか疑問に思うかもしれません。仮に、反応確率が50%以上のユーザをターゲットにしようとしていたら、「そんな客はいない」ということになります。

期待値を用いれば、どのような反応確率の客をターゲットにすれば良いのかがわかります。以下は、対象顧客xの期待利益を表す式です。

f:id:mathgeekjp:20170812201440g:plain

目的は、EV(x) > 0となる顧客を探し、このEV(x)を最大化することです。ただし、ここではすでに顧客自体は発見できているものとし、広告掲載コストの見積もりを行おうとしているとしましょう。

広告問題を具体的に考える

それでは、具体的に話をしていきます。以下のテーブルを見てみましょう。

f:id:mathgeekjp:20170812202813p:plain

  • T,p: 真陽性 : 広告掲載に反応してクリックした顧客
  • F,n: 真陰性 : 広告掲載していない顧客
  • F,p: 偽陰性 : 広告掲載しても反応しないだろうと予測したが実際には反応していただろうと考えられる顧客
  • T,n: 偽陽性 : 広告掲載すれば反応するだろうと予測したが実際には反応しなかった顧客

このp,b,cを求めるためには、顧客数・広告クリック時利益・広告掲載コストを用います。

上記テーブルのそれぞれの顧客数が以下であったとします。

f:id:mathgeekjp:20170812203828p:plain

合計は100なので、それぞれが引き起こる確率は以下のように表せます。

  • p(T,p) = 0.4
  • p(T,n) = 0.1
  • p(F,p) = 0.05
  • p(F,n) = 0.45

次に、コストと利益を考えます。広告クリック時利益を100, 広告掲載コストをxとすると、

  • b(T,p) = 100-x
  • c(T,n) = 0
  • c(F,p) = -x
  • b(F,n) = 0

期待利益は、EV tableのそれぞれのセルの和で表されます。

f:id:mathgeekjp:20170812204501g:plain

EV = (40-0.4x)+0-0.05x+0 = 40-0.45x

したがって、このモデルを使った場合、広告掲載コストは89よりも少なくなければならない、という決断ができます。

ちなみに、ここでいうモデルとは、テーブル内の顧客を陰性と陽性に分類するものを言います。このモデルが正確なほど(偽陽性偽陰性が少ないほど)コストcは減ります。

もし、コストcがすでに決まっていて、ターゲット顧客とそうでない顧客を分類しようとして、クリック率を基準にしようとするならば、EV(x) > 0となるクリック率をもつ顧客であることが大前提となります。そのため、50%というような値には根拠がないことがわかるでしょう。

参照

github.com