ロジット、プロビット、nlsから最適なモデルを選択


8

特定のデータセットを分析していますが、自分のデータに適合する最適なモデルを選択する方法を理解する必要があります。私はRを使用しています。

私が持っているデータの例は次のとおりです:

corr <- c(0, 0, 10, 50, 70, 100, 100, 100, 90, 100, 100)

これらの数値は、11の異なる条件下での正解率に対応しています(cnt):

cnt <- c(0, 82, 163, 242, 318, 390, 458, 521, 578, 628, 673)

まず、プロビットモデルとロジットモデルを適合させようとしました。ちょうど今、文学で私のデータに似た別の方程式を見つけたのでnls、その方程式に従って関数を使用して自分のデータを近似しようとしました(しかし、私はそれに同意しません、そして著者は彼がなぜ彼に説明しないのですか?)その方程式を使用しました)。

ここに私が得る3つのモデルのコードがあります:

resp.mat <- as.matrix(cbind(corr/10, (100-corr)/10))
ddprob.glm1 <- glm(resp.mat ~ cnt, family = binomial(link = "logit"))
ddprob.glm2 <- glm(resp.mat ~ cnt, family = binomial(link = "probit"))

ddprob.nls <- nls(corr ~ 100 / (1 + exp(k*(AMP-cnt))), start=list(k=0.01, AMP=5))

次に、データと3つの近似曲線をプロットしました。

pcnt <- seq(min(cnt), max(cnt), len = max(cnt)-min(cnt)) 
pred.glm1 <- predict(ddprob.glm1, data.frame(cnt = pcnt), type = "response", se.fit=T) 
pred.glm2 <- predict(ddprob.glm2, data.frame(cnt = pcnt), type = "response", se.fit=T) 
pred.nls <- predict(ddprob.nls, data.frame(cnt = pcnt), type = "response", se.fit=T)

plot(cnt, corr, xlim=c(0,673), ylim = c(0, 100), cex=1.5)
lines(pcnt, pred.nls, lwd = 2, lty=1, col="red", xlim=c(0,673))
lines(pcnt, pred.glm2$fit*100, lwd = 2, lty=1, col="black", xlim=c(0,673)) #$
lines(pcnt, pred.glm1$fit*100, lwd = 2, lty=1, col="green", xlim=c(0,673))

今、私は知りたいのですが、私のデータに最適なモデルは何ですか?

  • プロビット
  • ロジット
  • nls

3つのモデルのlogLikは次のとおりです。

> logLik(ddprob.nls)
'log Lik.' -33.15399 (df=3)
> logLik(ddprob.glm1)
'log Lik.' -9.193351 (df=2)
> logLik(ddprob.glm2)
'log Lik.' -10.32332 (df=2)

logLikは最適なモデルを選択するのに十分ですか?(それはロジットモデルでしょうね?)それとも計算する必要がある何か他にありますか?


ここで、ロジットとプロビットのどちらを選択するかについて説明しましたnls
ガン-モニカの復活

@gung私は以前にあなたの素晴らしい説明を読んだことがあるので、ありがとう!私の問題は、特にnlsモデルととの比較に関するものglmです。これが私が同様の質問を(再)投稿した理由です:)
Tommaso

2
についてはよくnlsわかりません。人々の言うことを見ていきます。GLiMに関しては、共変量が応答に直接接続していると思われる場合はロジットを使用し、潜在的な正規分布変数が介在していると考えられる場合はプロビットを使用する必要があります。
ガン-モニカの復活

2
こんにちは@Tommasoです。記事から引用した経験則がどこから来たのか混乱していますが、実際にはリンクをクリックしていなかったため、判断は控えておきます。対数オッズ比として、係数が適切に解釈されるため、ロジスティックモデルは優れていると思います。分散分解を実行しようとしている場合(たとえば、クラスター化されたデータがあり、データ内の依存性のレベルを定量化しようとしている場合)、基礎となる連続(相関関係は通常、アウト)スケールは、されて同定しました。
マクロ

3
上記のRから得られるloglikは、さまざまなモデルタイプで比較することはできません(パラメーターに依存しない定数は省略します)。そのため、ここでは役に立ちません。
kjetil b halvorsen 2012

回答:


1

使用するモデルの問題は、分析の目的に関係しています。

目的がバイナリ結果を予測する分類子を開発することである場合、(ご覧のとおり)これらの3つのモデルはすべてほぼ同じであり、ほぼ同じ分類子を提供します。どのモデルが分類子を開発するかは気にせず、交差検証または分割サンプル検証を使用して、どのモデルが類似のデータで最もパフォーマンスが高いかを判断できるため、これは問題の根拠になります。

推論では、すべてのモデルが異なるモデルパラメーターを推定します。3つの回帰モデルはすべて、リンク関数と分散構造を使用してバイナリ結果と(この場合は)連続予測子との関係を決定するGLMの特殊なケースです。NLSとロジスティック回帰モデルは同じリンク関数(ロジット)を使用しますが、NLSはS曲線の近似における二乗誤差を最小化します。モデル確率と観測された結果のバイナリ分布。NLSが推論に役立つと考える理由は考えられません。

プロビット回帰は、累積正規分布関数である別のリンク関数を使用します。これはロジットよりも「テーパー」が速く、観測されない連続正規分布結果のバイナリしきい値として観測されるバイナリデータの推論によく使用されます。

経験的に、モデル係数(オッズ比)は解釈が容易であり、最尤法であり、優れた収束特性を持つため、バイナリデータの分析にはロジスティック回帰モデルがはるかに頻繁に使用されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.