ロジスティック回帰の仕組み

Rで学ぶ中級回帰分析

Richie Cotton

Data Evangelist at DataCamp

二乗和は適さない

sum((y_pred - y_actual) ^ 2)

y_actual は常に 0 または 1

y_pred01 の間。

二乗和より良い指標があります。

Rで学ぶ中級回帰分析

尤度

    y_pred * y_actual
Rで学ぶ中級回帰分析

尤度

    y_pred * y_actual + (1 - y_pred) * (1 - y_actual)
Rで学ぶ中級回帰分析

尤度

sum(y_pred * y_actual + (1 - y_pred) * (1 - y_actual))

y_actual = 1 のとき

y_pred * 1 + (1 - y_pred) * (1 - 1) = y_pred

y_actual = 0 のとき

y_pred * 0 + (1 - y_pred) * (1 - 0) = 1 - y_pred
Rで学ぶ中級回帰分析

対数尤度

  • 尤度の計算は非常に小さい数の加算が多く、数値誤差が生じやすい。
  • 対数尤度の方が計算しやすい。
log(y_pred) * y_actual + log(1 - y_pred) * (1 - y_actual)

どちらの式も同じ結果になります。

Rで学ぶ中級回帰分析

負の対数尤度

対数尤度の最大化は、負の対数尤度の最小化と同じです。

-sum(log_likelihoods)
Rで学ぶ中級回帰分析

ロジスティック回帰アルゴリズム

calc_neg_log_likelihood <- function(coeffs) {

intercept <- coeffs[1] slope <- coeffs[2]
# More calculation!
}
optim(
  par = ???,
  fn = ???
)
Rで学ぶ中級回帰分析

Lass uns üben!

Rで学ぶ中級回帰分析

Preparing Video For Download...