1と0を含む比率データのベータ回帰


19

0と1の間の比率である応答変数を持つモデルを作成しようとしています。これには、かなりの数の0と1が含まれますが、その間の多くの値も含まれます。ベータ回帰を試みることを考えています。R(betareg)で見つかったパッケージでは、0から1の間の値のみが許可されますが、0または1自体は含まれません。私は理論的にはベータ分布が0または1の値を処理できるはずであることを他の場所で読みましたが、RIでこれを処理する方法がわかりませんが、ゼロに0.001を追加し、1から0.001を取る人がいますこれは良いアイデアだと思いますか?

あるいは、応答変数をロジット変換し、線形回帰を使用することもできます。この場合、ログ変換できない0と1の問題があります。


割合だけでなくカウントを知ることは、何をするにしても重要です。しかし、カウントを取得したら、最初のモデルは、たとえそれが単なる出発点であっても、ロジスティック回帰です。
whuber

さて、ベータ版は0〜1です(ほぼ確実に)。それらを観察する場合、サンプルを観察する機会を与えるモデルを使用する必要があります。いくつかの答えがそのようなアプローチをカバーしているようです。私はそれらから始めます。
Glen_b -Reinstateモニカ

回答:


18

ベータ分布を縮退分布と組み合わせて、それぞれ0と1に確率を割り当てるゼロおよび/または1つの膨張ベータ回帰モデルを使用できます。詳細については、次のリファレンスを参照してください。

Ospina、R.、&Ferrari、SLP(2010)。膨らんだベータ分布。統計論文、51(1)、111-126。Ospina、R.&&Ferrari、SLP(2012)。一般的なクラスのゼロまたは1つの膨らんだベータ回帰モデル。計算統計とデータ分析、56(6)、1609-1623。

これらのモデルは、R用のgamlssパッケージを使用して簡単に実装できます。


Rにそれらを実装する方法の例はありますか?
-Ouistiti

2
@Ouistiti zoibパッケージは簡単にそれを行います。
マークホワイト

11

R betaregパッケージのドキュメントには、

yが極値0および1も想定している場合、実際の有用な変換は(y *(n-1)+ 0.5)/ nで、nはサンプルサイズです。

http://cran.r-project.org/web/packages/betareg/vignettes/betareg.pdf

彼らは、参照スミスソンM、Verkuilen J(2006)を与えます。「より優れたレモンスクイーザ?ベータ分布の従属変数による最大尤度回帰」心理学的方法、11(1)、54–71。


1

負の無限大から正の無限大までの変数を作るためにロジット変換をしませんか?0と1のデータが問題になるかどうかはわかりません。エラーメッセージは表示されていますか?ちなみに、プロポーションのみがある場合、分析は常に間違った結果になります。ケースの数でweight=argumentto を使用する必要がありますglm

何もうまくいかない場合は、DVをいくつかのカテゴリに分割し、代わりに順序ロジスティック回帰を実行するのに適切と思われる、中央分割または四分位分割または任意のカットポイントを使用できます。うまくいくかもしれません。これらを試してください。

個人的には、0に0.001を追加し、0から0.001を取得するのはあまり悪い考えではないと思いますが、後で説明するいくつかの問題があります。考えてみてください。なぜ0.000000001(またはそれ以上の小数)を加算および減算しないのでしょうか。これは、0と1をより適切に表します!! それほど違いはないように思えるかもしれません。しかし、実際にはそうです。

以下を見てみましょう:

> #odds when 0 is replaced by 0.00000001

> 0.00000001/(1-0.00000001)
[1] 1e-08
> log(0.00000001/(1-0.00000001))
[1] -18.42068

> #odds when 1 is replaced by (1-0.00000001):

> (1-0.00000001)/(1-(1-0.00000001))
[1] 1e+08
> log((1-0.00000001)/(1-(1-0.00000001)))
[1] 18.42068

> #odds when 0 is replaced by 0.001

> 0.001/(1-0.001)
[1] 0.001001001
> log(0.001/(1-0.001))
[1] -6.906755

> #odds when 1 is replaced by (1-0.001):

> (1-0.001)/(1-(1-0.001))
[1] 999
> log((1-0.001)/(1-(1-0.001)))
[1] 6.906755

したがって、オッズを(0/1)および(1/0)に近づける必要があります。負の無限大から正の無限大までの範囲の対数オッズを期待します。したがって、加算または減算するには、対数オッズが無限大に近い(または非常に大きい)ように、非常に長い小数点以下の桁まで選択する必要があります。あなたが十分に大きいとみなす範囲は、あなた次第です。


1

以下をご覧ください。アドホック変換については、スライド17のmaartenbuis.nl/presentations/berlin10.pdfを参照してください。また、2つの個別のロジスティック回帰を使用して0と1をモデリングし、境界にないものに対してベータ回帰を使用できます。


1
yn1+0.5/nn

0

pp

abab

バツ1バツnnj[ψバツψバツj]j[ψ1バツψ1バツj]


このメタスレッドに参加することもできます。stats.meta.stackexchange.com/questions/5814/...
Sycoraxは回復モニカ言う
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.