【ウーバーイーツ】チップ発生確率のロジスティックモデルとマルチコ【沖縄市】
前回、チップ発生確率をロジスティックモデルで表してみた。

今回は、このモデルに問題がないか確認してみる。
参考書籍・資料

主な参考箇所 第8章 重回帰分析(2)
主な参考箇所 6.6 多重共線性
概要
モデルの確認
↓
多重共線性(マルチコ)について
↓
変数間の相関を確認
↓
VIF
使用するデータ
使用するデータは、私の配達データ。
期間は、2021年7月1日~8月31日。
上記期間の総配達件数は、580件。※ ダブルピックも1件とカウント。
モデルの確認
前回、ロジスティック回帰分析を行った際に有意ではない変数があった。今回は、有意となった変数のみのモデルを再構築した。結果は以下。
> summary(ans) Call: glm(formula = data$chip ~ ., family = binomial, data = data) Deviance Residuals: Min 1Q Median 3Q Max -1.8672 -0.8419 -0.7666 0.9477 1.7405 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) -1.907090 0.380310 -5.015 5.32e-07 *** base_fee 0.006407 0.002213 2.895 0.00379 ** foreigner 1.593696 0.205692 7.748 9.34e-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: 701.55 on 577 degrees of freedom AIC: 707.55 Number of Fisher Scoring iterations: 4
変数がベース料金と外国人への配達の2つとなっている。
多重共線性(マルチコ)について
変数間の関係性により、正しく回帰されない場合があると知り、それについて調べたところ以下の文章を見つけた。
計量経済学において回帰分析を適用しようとするとき、しばしば厄介な問題のもととなるのが、多重共線性 multi colinearityである*)。これは計量経済学の歴史と同じくらい古いものであり(1934年、R.フリッシュ)、説明変数相互間の高い相関(士1なら「完全な多重共線性」となる)のため分散、したがって標準誤差が大きくなって、しばしば回帰係数が極端に大きい値になったり、符号が予想と逆転するなど、推定結果が不安定になることをいう。
今回の場合に当てはめると、変数base_feeとforeignerの間に高い相関がある場合、多重共線性(マルチコ)が発生し、回帰係数の推定結果が不安定になる。
変数間の相関を確認
実際に、相関関係を調べてみる。
> cor(data$base_fee,data$foreigner) [1] 0.1303441 > cor.test(data$base_fee,data$foreigner) Pearson's product-moment correlation data: data$base_fee and data$foreigner t = 3.1606, df = 578, p-value = 0.001657 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.04945518 0.20953438 sample estimates: cor 0.1303441
弱い正の相関があるという結果になった。
しかし、今回の変数は互いに量的変数ではなく、量的変数(base_fee)×質的変数(foreigner)の組み合わせのため、上記のやり方で相関係数を出すのは間違っているかもしれない。
「量的変数×質的変数の相関」で調べると以下の情報を見つけた。
量的データ(間隔尺度、比率尺度)と名義尺度(質的データ)の場合は、相関比で相関関係を数値化します。
相関比
correlation ratio
2変数のうち一方が量的変数、もう一方が名義尺度である場合に、この2つの変数間の相関の程度を表す統計量。0から1までの値をとり、1に近付くほど相関が強いと言える。
Rで相関比を求めたい場合は、回帰分析の関数であるlm()の出力からMultiple R-Squrearedの値を拾い、この平方根を求めればよい。
相関比η (correlation ratio) | Dr.Clover’s Computer Clinic (fcg.world)
要約すると、「量的変数と質的変数の相関関係は相関比で表す。Rで相関比を求める場合は関数lm()の出力からMultiple R-Squrearedの値の平方根を求める。」となる。
ということで、上記のようにやってみる。
> summary(ch)
Call:
lm(formula = data$base_fee ~ data$foreigner)Residuals:
Min 1Q Median 3Q Max
-75.222 -27.773 -8.773 15.477 211.778Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 161.773 2.023 79.965 < 2e-16 ***
data$foreigner 12.449 3.939 3.161 0.00166 **
—
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 41.8 on 578 degrees of freedom
Multiple R-squared: 0.01699, Adjusted R-squared: 0.01529
F-statistic: 9.99 on 1 and 578 DF, p-value: 0.001657
「Multiple R-squared: 0.01699」の平方根を計算すると、
相関比の場合でも両者に強い相関はなかった。結果、多重共線性は発生していないように思える。
VIF
もう少し多重共線性の判断について調べる。
こちらの書籍では、VIFという指標を用いて、多重共線性の判断をしていた。
多重共線性を検知するためには、次のように考えるのが自然である。xmを他の説明変数で回帰するのである。
…
というモデルを考えて回帰分析する。すると決定係数が求まる。この回帰式で説明できなかった分散の割合は、1-Rm2乗である。これをトレランス (torelance) と言い、その逆数
…
をVIF(Variance Infration Factor)と言う。VIFは、決定係数が1に近づくと急激に大きくなる性質を持つ。
…
広く使われている基準は、VIF>=10のときは多重共線性があると見なすというものである*4。これは、トレランスが0.1以下ということと同値である。また、VIFが5以上のときも多重共線性を疑うべきとされている。これは、トレランスが0.2以下ということと同値である。VIFやトレランスの代わりにR2値を見てもよい*5。
さきほどの決定係数の平方根で判断する場合と似ているように思うが、せっかくなので、VIFを求めてみる。
> vif(ans) base_fee foreigner 1.001 1.001
両者ともにVIFが5未満のため、多重共線性は発生していないように思える。
これまでの結果をまとめると、変数base_feeとforeignerの間に高い相関はなく、多重共線性は発生していないように見える。よって、両者の回帰係数はおおむね正しいといえる。
まとめ
今回は、前回作成したロジスティックモデルに多重共線性がないか確認してみた。
結果、分かったことは下記の2つ。
・base_feeとforeignerのVIFは5未満のため多重共線性の可能性は低い
コメント