まずは蝋の翼から。

学んだことを書きながら確認・整理するためのメモブログ。こういうことなのかな?といったことをふわっと書いたりしていますが、理解が浅いゆえに的はずれなことも多々あると思うのでツッコミ歓迎

BUSINESS DATA SCIENCE 2章 Regression② 回帰の当てはまりのよさ

BUSINESS DATA SCIENCEという本を最近読んでいるので内容を自分なりにまとめる。
データなどは作者のgitにある。

最近「ビジネスデータサイエンスの教科書」という邦題で日本語版も出たみたいです

ビジネスデータサイエンスの教科書

ビジネスデータサイエンスの教科書

今回は2章 Regression(回帰)。回帰モデルの一番初歩の部分は省略する。

過去分は以下。

knknkn.hatenablog.com

knknkn.hatenablog.com

knknkn.hatenablog.com

この章はなにか

多くのDataScienceの問題に回帰モデルが用いられているからわかるように、回帰モデルはDataScienceの基本となるので紹介されている。

この節はなにか

前節では回帰の解釈について書いた。本節では回帰の当てはまりについて、回帰のsummary()deviancelikelihoodを踏まえて記述する。

LikelihoodとDeviance

今回、LikelihoodとDevianceについて考える。
Likelihood(尤度)とは、(あるパラメータが与えられた)そのモデルが、データでどれくらい起こりうるかを表す。これはできるだけ大きくしたい
Deviance(逸脱度)とは、そのモデルと実データの分布がどれくらい乖離しているかを表す。これはできるだけ小さくしたい。
性質上、LikelihoodとDevianceは同じような意味で  Deviance = -2log(Likelihood) + C という関係を持つ。

モデルのパラメータ  \beta を考えるときは、できるだけLikelihoodを大きく取る \hat(\beta) を求める(MLE:最尤推定)。

詳細は省略するが、「データ解析のための統計モデリング入門」や以下の記事などを読んでください。

rindalog.blogspot.com

qiita.com

各モデルのsummary

前節で使用した正規分布モデルと、二項分布のモデルのsummary()を用いる。

summary(ojreg) # 前節の正規分布モデル
# Call:
#   glm(formula = log(sales) ~ brand * log(price) * feat, data = oj)
# (略)
# 
# (Dispersion parameter for gaussian family taken to be 0.4829706)
# 
# Null deviance: 30079  on 28946  degrees of freedom
# Residual deviance: 13975  on 28935  degrees of freedom
# AIC: 61094
# 
# Number of Fisher Scoring iterations: 2

email = read_csv('BDS-master/examples/spam.csv')
spammy = glm(spam ~ ., data = email, family = 'binomial') # 二項分布モデル
summary(spammy)
# Call:
#   glm(formula = spam ~ ., family = "binomial", data = email)
# (略)
# (Dispersion parameter for binomial family taken to be 1)
# 
# Null deviance: 6170.2  on 4600  degrees of freedom
# Residual deviance: 1548.7  on 4543  degrees of freedom
# AIC: 1664.7
# 
# Number of Fisher Scoring iterations: 10

DevianceとR2

この結果に出ている Residual deviance とはMLEで求めたパラメータを用いたモデルのDeviance(逸脱度)を示している(以下、 Dとする)。
また、Null deviance はNull Model、つまり各係数が0のときのdeviance、 D_0を表している*1

このとき、「どれくらいそのモデルがDeviance(実データとの当てはまりの乖離)を説明しているか」、つまり「モデルが実データを説明できているか」、ありていにいえば「モデルの当てはまりのよさ」の尺度として R^2 が定義される。

 R^2 = 1 - \frac{Residual deviance}{Null deviance}

これはMcFaddenの疑似決定係数ともいい、OLSで用いられるいわゆる「決定係数」 R^2 = cor(y, \hat(y))とほぼ同じ意味(疑似決定係数の方がやや小さめに出るらしい)。しかし、 R^2 = cor(y, \hat(y)) による計算はOLSのみで使えるが、 R^2 = 1 - \frac{Residual deviance}{Null deviance} での計算はOLS以外でも用いることができる。

ill-identified.hatenablog.com

このとき、前述の正規分布モデルは R^2 = 1 - \frac{13975}{30079} = 0.54、二項分布モデルは R^2 = 1 - \frac{1549}{6170} = 0.75となる。

*1:つまり、全てのNull Hypothesisが棄却されていない状態