私たちは、私たちが作る意味し、ランダムずに線形回帰をシミュレートすることができの代わりに、。次に、線形モデルを当てはめると、係数は「グラウンドトゥルース」と同じになります。例を示します。Y = X β + ε
set.seed(0)
n <- 1e5
p <- 3
X <- matrix(rnorm(n*p), ncol=p)
beta <- runif(p)
# y <- X %*% beta + rnorm(n)*0.5
# remove the randomness
y <- X %*% beta
dat <- data.frame(y=y, x=X)
lm.res = lm(y ~ .-1, data=dat)
norm(as.matrix(lm.res$coefficients - beta))
[1] 2.176037e-14
私の質問は、ロジスティック回帰を使用して同様のシミュレーションを実行できるかどうかです。この質問私は、removeランダムのポイントは、二項分布から決定論文の代わりのサンプルを使用して行うことができます取得します。
y <- ifelse(plogis(X %*% beta)>0.5,1,0)
の代わりに
y <- rbinom(n,1,prob=plogis(X %*% beta))
しかし、それを行うと、完全な分離が起こり、係数を取得できません。一方、正則化を追加した場合、係数はデータを生成したものにはなりません。
では、「ロジスティック回帰のランダム性を取り除き」、線形回帰の場合のように正確な「グラウンドトゥルース」係数を解決するにはどうすればよいでしょうか。
コンセプトに根本的な誤解があるように感じますが、何が欠けていますか?