※現在、ブログ記事を移行中のため一部表示が崩れる場合がございます。
順次修正対応にあたっておりますので何卒ご了承いただけますよう、お願い致します。
2017年 05月 19日
linkFunction <- function(b1, b2) { function(x, r) { 1 / (1 + exp(-b1 - b2 * x - r)) } } xl <- "x" yl <- "q" xs <- runif(100, 0, 10) ys <- function(r) { linkFunction(-0.5, 0.3)(xs, r) } for (sd in seq(0.1, 2.0, by = 0.1)) { rs <- rnorm(100, mean = 0, sd = sd) ps <- data.frame(x = xs, y = ys(rs)) title <- paste0("logit(q) = -0.5 + 0.3 * x + r, r ~ N(0, ", sd, ")") plot(0, 0, type = "n", xlim = c(0, 10), ylim = c(0.0, 1.0), main = title, xlab = xl, ylab = yl) points(ps, pch = 1) }コードを実行すると図が20枚プロットされます。 横軸はリンク関数に使われている説明変数 `x` で、縦軸は事象の発生確率 `q` です。 `q` には `x` の他にも、平均 `0` の正規分布から生成された乱数の影響があります。 この乱数が説明変数として考慮されていない影響を表します。 例えば以下のような図がプロットされます。