ランダム性なしでロジスティック回帰をシミュレートすることは可能ですか?


8

私たちは、私たちが作る意味し、ランダムずに線形回帰をシミュレートすることができの代わりに、。次に、線形モデルを当てはめると、係数は「グラウンドトゥルース」と同じになります。例を示します。Y = X β + εy=Xβ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))

しかし、それを行うと、完全な分離が起こり、係数を取得できません。一方、正則化を追加した場合、係数はデータを生成したものにはなりません。

では、「ロジスティック回帰のランダム性を取り除き」、線形回帰の場合のように正確な「グラウンドトゥルース」係数を解決するにはどうすればよいでしょうか。

コンセプトに根本的な誤解があるように感じますが、何が欠けていますか?


1
応答を生成するためのパラメーターを知る必要があるため、これを行う統計的な理由はわかりません。すべてが完全に確定的です。
マイケルR.チェニック2017年

@MichaelChernickいくつかの最適化アルゴリズムをテストしようとしています。グラウンドトゥルースをシミュレートして、アルゴリズムの出力と比較したいと思います。ここに例を示します。
Haitao Du 2017

回答:


7

ロジスティック回帰には、従来の線形回帰のように「エラー」の項はありません。これの例外は、ロジスティックエラー項を含むしきい値付き線形回帰ですが、これはロジスティック回帰モデルをもたらす一般に受け入れられている確率モデルではありません。これは、ロジスティックモデルに平均分散関係があるためです。線形回帰モデルに「誤差項を追加する」の類似物は、実際には、分散が単にp *(1-p)に比例する準二項モデルです。

関連する質問は、さまざまな設計または複製で同一の回帰モデル結果をどのように取得するかです。これは、回帰モデリングソフトウェアの「トリック」で実行できます。の設計に関係なく、同じロジスティック回帰の結果となる予測リスクから非積分結果を生成できます。例えば:とのような2つの異なるデザイン。あなたの場合と同様に、両方とも同じロジスティック回帰モデルの結果となり、の対数オッズ比として0.3と対数オッズとして0.0が返されます。X x = 0YXx1 <- seq(-3, 3, 0.1)x2 <- rnorm(61)y1 <- plogis(0.3*x1)y2 <- plogis(0.3*x2)x=0

> glm(y1 ~ x1, family=binomial)

Call:  glm(formula = y1 ~ x1, family = binomial)

Coefficients:
(Intercept)           x1  
 -2.528e-16    3.000e-01  

これはあなたの質問に関係します。なぜなら、パラメーター推定は確率モデルで定義されたとおりであり、の設計に依存せず、分離されていません(たとえば、ログオッズ比、)。β = ± xβ=±

ロジスティックモデルでフラクショナル結果をモデル化することは、結果が実際にフラクショナルになる可能性がある生態学的データを分析するための受け入れられた方法です。偶然ではありませんが、これは準二項モデルが最も役立つ場合のモデリングのタイプでもあります。また偶然ではありませんが、「潜在的なロジスティック回帰」を行う場合、分散はロジスティックエラー項のスケールパラメータに比例すると思います。


+1「Xの設計とは関係なく、同じロジスティック回帰の結果となる予測リスクから、非Yの結果を生成できる」とはわかりません。もっと説明してもらえますか?また、あなたはここで答えがありましたか?
Haitao Du 2017

@ hxd1011いいえ、提供するリンクはGLMを推定するための代替アプローチです。ただし、これはポイントに関連しています。ロジスティック回帰では、分散は平均の関数であり、結果への独立した入力ではありません。ベルヌーイの結果をシミュレートする代わりにの期待値を入力すると、目的の確率モデルに従って結果が生成されます。y
AdamO

あなたのコードは私の心を吹き飛ばします...、私はあなたがglm family=binomial小数で実行できることを知りませんでした。それは私に警告を与えました。しかし、まだ実行できます... "In eval(family $ initialize):non-integer #successes in a binomial glm!"
Haitao Du 2017

@ hxd1011実際にはあまり出てきませんが、結局のところfit.glm、関数を最大化するだけです。y関数の計算値を爆破しないというだけで、値が何であるかはあまり気になりません。
Matthew Drury

3

y=Xβ+ε
Xβεy θ 1 X ε 0 σ 2
f(y)={0, if yθ1, if y>θ
θしきい値です。特定の値が与えられた場合、この関数が返す確率はどれですか?が平均と分散で正規分布していると仮定すると、この確率は次のように計算できます。1Xε0σ2

p(f(y)=1|X)=p(y>θ|X)=θN(y;Xβ,σ2)dy

つまり、これはしきい値の右側にある正規分布の下の領域を計算しています。この確率は、本質的にロジスティック回帰モデルが説明しようとするものであることに注意してください。そして実際、この確率を関数としてプロットすると、ロジスティック関数にかなり近い形になります(実際、ロジスティック関数は、累積正規分布の便利な近似としてよく使用されます)。X

値がしきい値に近い場合、ノイズは結果をどちらの方向にも揺らぐ可能性があるため、がしきい値を超える確率はに近くなります。を大きくすると、はから遠ざかり、なる可能性が高くなります。重要なことに、がと共にどれだけ速く増加するかは、勾配とノイズ分散つに依存します。より正確には、それは比率に依存しXβy0.5εXXβθf(y)=1p(f(y)=1|X)Xβσ2βσ。ロジスティック回帰から得られる(期待される)係数を決定するのは、この(信号対ノイズ)比です。言い換えると、ロジスティック回帰の係数は、特定の結果の確率をある程度上げるために、データ内のノイズに対して各独立変数をどれだけ変化させる必要があるかを制御していると考えることができます。

さてあなたの質問に来てください:あなたはすべてのランダムさを排除することが可能であるかどうか、つまりノイズがないかどうかを尋ねています。これは、がに等しいことを意味し、したがって、は未定義(または「無限」)になります。これにより、ノイズがない場合は係数を推定できないことがわかりました。実際、ノイズなしで達成する完全な分離は、独立変数の無限係数に対応すると考えることができます。(がしきい値近い場合)を変更する必要があるのは、以下からの道に。0 βσ0 XβθXPY>θ|X=0PY>θ|X=1βσXβθXp(y>θ|X)=0p(y>θ|X)=1

編集:実際にできることの1つは、二項分布からサンプルを描画してデータをシミュレートする代わりに、これらのサンプルを期待値、つまりシミュレートされたロジスティック関数によって予測された確率で置き換えることです。そのようにして、限られたサンプル(つまり、サンプリングの変動性)のシミュレーションから派生するランダム性を削除し、係数の推定値がグラウンドトゥルースに等しくなるようにします(これらの値に正確に適合する1つのロジスティック関数があるため)。


3
プロビット回帰について説明します(一般性を失うことなくN(0、1)を使用できます。これは係数をスケーリングするだけです)。これは確かにロジスティック回帰に非常に近いものですが、まったく同じではありません。
2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.