【ウーバーイーツ】チップ発生確率とロジスティック回帰【沖縄市】
ロジスティック回帰を用いて、チップ発生に関わる要因を探してみる。
参考書籍・資料

主な参考箇所 第10章 二項選択モデル
Rでロジスティック回帰分析 そのまま使える自作関数例 | AVILEN AI Trend (ai-trend.jp)
概要
目的変数と説明変数の決定
↓
ロジスティック回帰分析
↓
変数の解釈
使用するデータ
使用するデータは、私の配達データ。
期間は、2021年7月1日~8月31日。
上記期間の総配達件数は、580件。※ ダブルピックも1件とカウント。
目的変数と説明変数の決定
目的変数は、チップの有無。
説明変数は、以下の3つ。
・ベース料金(距離と経過時間を反映)
・配達調整金額
・外国人への配達
表にまとめる。
No | chip | base_fee | adjustment_amount | foreigner |
1 | 1 | 187 | 293 | 0 |
2 | 1 | 140 | 298 | 0 |
3 | 1 | 182 | 146 | 1 |
4 | 1 | 143 | 495 | 0 |
5 | 1 | 152 | 454 | 1 |
… | … | … | … | … |
chip(チップの有無)とforeigner(外国人への配達)は、2値変数となるため、0と1で表現している。
ロジスティック回帰分析
上記のデータでロジスティック回帰分析を行ってみる。結果は以下。
> data <- read.table("clipboard",header = TRUE) > ans <- glm(data$chip~.,data=data,family=binomial) > summary(ans) Call: glm(formula = data$chip ~ ., family = binomial, data = data) Deviance Residuals: Min 1Q Median 3Q Max -1.9191 -0.8368 -0.7686 0.9617 1.7208 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -2.0016169 0.3952780 -5.064 4.11e-07 *** base_fee 0.0057404 0.0023278 2.466 0.0137 * adjustment_amount 0.0005996 0.0006456 0.929 0.3530 foreigner 1.6107933 0.2069300 7.784 7.01e-15 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 780.69 on 579 degrees of freedom Residual deviance: 700.68 on 576 degrees of freedom AIC: 708.68
結果の一部を表にまとめる。※色付きセルは有意水準5%で有意な変数
int(P値) | base_fee(P値) | adjustment_amount(P値) | foreigner (P値) |
-2.0016169 (4.11e-07) | 0.0057404 (0.0137) | 0.0005996 (0.3530 ) | 1.6107933 (7.01e-15) |
変数のベース料金と外国人への配達が有意水準5%で有意となった。
変数の解釈
有意となったベース料金と外国人への配達に絞って、変数の解釈を考える。
ロジスティック回帰では、左辺がロジット関数となるため、分析結果は以下のように表現できる。
log p/1-p = -2.0016169 + 0.0057404 base_fee …… + 1.6107933 foreigner
対数を変換すると、(「p/1-p」はオッズと言う)
p/1-p = exp(-2.0016169 + 0.0057404 base_fee + 1.6107933 foreigner)
上記のようになる。試しに、配達先が外国人だった場合とそうでない場合を比較してみる。
外国人だった場合(foreigner=1)※base_feeは150とする。
p/1-p = exp(-2.0016169 + 0.0057404×150 + 1.6107933×1)
p/1-p =
p =
/(1+となり、約62%の確率でチップが発生するという結果になった。
外国人ではなかった場合(foreigner=0)※base_feeは150とする。
p/1-p = exp(-2.0016169 + 0.0057404×150 + 1.6107933×0)
p/1-p =
p =
/(1+となり、約24%の確率でチップが発生するという結果になった。
オッズに着目すると、配達先が外国人の場合はそうでない場合に比べて、オッズがexp(1.6107933)約5倍増えると分かる。
pとオッズの関係に着目すると、pが0.5のときにオッズは1となる。pが0.5より大きければ、オッズは1より大きくなる。pが0.5より小さければ、オッズは1より小さくなる。つまり、オッズの値は、1を基準とし、それより大きければ発生確率の方が高く、小さければ発生しない確率の方が高いことを示す。
ベース料金についても同様に考えてみると、ベース料金が1増加するとオッズがexp(0.0057404)約
まとめ
今回は、ロジスティック回帰分析を行うことでチップ発生確率の要因を調べてみた。
結果、分かったことは下記の2つ。
・ベース料金が1増加するとチップ発生確率のオッズが約1.006倍増加
コメント