2012-10-18 16 views
24

私はsurvey::svyglmを使用して2項glmの重みとして使用される傾向スコアを作成するためにtwangパッケージを使用しています。警告:2項glmの非整数#successes! (調査パッケージ)

pscore <- ps(ppci ~ var1+var2+.........., data=dt....) 

dt$w <- get.weights(pscore, stop.method="es.mean") 

design.ps <- svydesign(ids=~1, weights=~w, data=dt,) 

glm1 <- svyglm(m30 ~ ppci, design=design.ps,family=binomial) 

これは、次の警告を生成します:コードは次のようになります

Warning message: 
    In eval(expr, envir, enclos) : non-integer #successes in a binomial glm! 

誰もが私が間違っていることができるか知っていますか?

このメッセージがstats.SEでうまくいくかどうかはわかりませんでしたが、残念ながら最初にここで試してみると思いました。

+0

変数のタイプは 'm30'ですか? – James

+0

@james、 'm30'はバイナリです –

+0

重みは非整数でなければなりません。二項フィットは、離散的な試行回数で成功の確率を見つけることを試みる。 – James

答えて

38

何も問題はありません。glmは、二項(およびポアソン)モデルを指定する際にはちょっと厄介です。それは、それが検出された場合、警告します。試行錯誤は不可欠ではありませんが、それは先に進み、とにかくモデルに合っています。警告を表示しないようにするには(問題ではないと確信しています)、代わりにfamily=quasibinomialを使用してください。間違って何もありません

+0

確かに、IIRC all GLMが本当に知っておく必要があるのは、明示された平均分散関係( '準'(quasi) 'ファミリーがする/許可するもの)であり、実際のデータの形式は本当に重要ではありません。警告は、私が信じているより多くの乳母です。 –

+4

はい、私はこの警告のために何かばかげたことを人々が気付いた多くのケースを見ましたが... –

+1

@BenBolkerあなたのコメントのためにありがとう。もちろん、私が質問を投稿した理由は、私が何かばかげていることを心配しているということです。 –

4

、計算が、は統計的あなたがはるかに理にかなって何かをすることはできません。このような場合は、堅牢な回帰法を使用する方が良いでしょう。データに正確に1または正確に0の単位が含まれている場合、比例応答データの一般的な考え方です。

+0

"...データにフィットする方法も違う" - これは間違っています。準二項族と二項族は、同じ数値法、すなわち適切に選ばれたμとηをもつIRLSを正確に使用する。違いは、擬似問題は1)整数チェックを抑制し、2)AICを報告しないことです。なぜなら、技術的には最尤ではないからです。 –

+1

ランダムなデータを生成し、2つのファミリを使用してモデルをフィッティングするだけで、準二項式は二項式よりも堅牢ではないことを自分で確認できます。データがどのようなものであっても、線形分離可能なクラスにどれほど近いかにかかわらず、モデルの見積もりはまったく同じです。 –

+0

盛大にお礼をお寄せいただきありがとうございます! StackExchangeのクロスバリデーションと同様の話題に関する別の答えから私は間違っていたようです。それは知っていることは非常に良いです!この場合、準二項演算子を使うことは非常に良いアプローチであるとは思われません。 – HaberdashPI

0

申し訳ありませんが、根底にある機構が過分散二項モデルである場合、標準偏差を見積もる際に過分散二項式がそれを説明するという意味である。したがって、ポイント見積もりが同じであっても、より良いカバレッジを得ることができます。