ベータ回帰で0,1値を処理する


20

[0,1]にいくつかのデータがあり、ベータ回帰で分析したいと思います。もちろん、0,1値に対応するために何かをする必要があります。モデルに合わせてデータを変更するのは嫌いです。また、この場合、0が非常に小さい正の値であると考える必要があると考えているため、ゼロと1のインフレが良い考えだとは思いません(しかし、どの値が適切であるかを正確に言いたくありません。 .001や.999などの小さな値を選択し、ベータの累積distを使用してモデルに適合させることになると思います。したがって、観測y_iの場合、対数尤度LL_iは

 if  y_i < .001   LL+=log(cumd_beta(.001))
 else if y_i>.999  LL+=log(1.0-cum_beta(.999))
 else LL+=log(beta_density(y_i))

このモデルで私が気に入っているのは、ベータ回帰モデルが有効な場合、このモデルも有効ですが、極値に対する感度が少し削除されることです。しかし、これは非常に自然なアプローチであるように思えるので、なぜ文献に明白な参照が見つからないのか疑問に思います。だから私の質問は、データを変更するのではなく、なぜモデルを変更しないのですか。データを変更すると結果にバイアスがかかります(元のモデルが有効であるという仮定に基づいて)が、極値をビニングしてモデルを変更しても結果にバイアスはかかりません。

おそらく私が見落としている問題がありますか?


1
特定の問題について詳しく知ることなく、この質問に適切な答えを出すことは実際に不可能です。重要な問題は、正確なゼロと1が(0,1)のデータを生成するプロセスとは異なるプロセスによって生成されるかどうかです。古典的な例は降雨で、雨が降らない日を反映した正確なゼロがあります。あなたのアプリケーションには、何らかの形でゼロと1が「特別」に含まれていますか?
ディクランマースピアル

回答:


16

この論文によると、適切な変換は

バツ=バツN1+sN

「Nはサンプルサイズ、sは0〜1の定数です。ベイジアンの観点からは、sは事前分布を考慮しているかのように動作します。sの適切な選択は.5です。」

これは、にあるデータをます。上記の引用、および変換の数学的理由は、論文の補足ノートに記載されています0 1 [01]01


1
+1 ..しかし、最初のリンクを修正するか、少なくとも論文を引用して、独立して見つけることができますか?
whuber

1
しかし、それは私の質問に答えません。データを変換できることをよく知っています。私の質問は、なぜモデルを代わりに変換しないのですか?
デイブフルニエ

1
デイブ、質問を編集してこれを反映してください:現在、データを変換する方法を探しているように見えます。このプロセスでは、データ変換とモデルの変更の違いが何であると思うかを示すのに役立ちます。モデルがある場合は微妙であるためです。
whuber

@davefournier、もしあなたが紙のカムサイトを読んだら、それはあなたの質問に部分的に対処します。また、代替モデルの推奨事項(69ページを参照)も提供し、推奨事項の一部はデータの性質に依存します。調整された可能性は、「混合離散連続プロセス」のように見えます(69ページの終わり頃に説明)。スコットロングのカテゴリ回帰に関する本のように、Tobitモデルの適切性に関する他の参考文献を参照するのが最善ですが、データを与えられたTobitモデルが満足できる場合もあります。
アンディW

1
しかし、彼らはこのアプローチを取りません。彼らは、異なるモデル、混合離散連続プロセスを提案しています。これは、極値のビニングとは大きく異なります。前に言ったように、ベータモデルが有効な場合、ビニングモデルは有効です。離散連続モデルが有効な場合、ベータモデルは無効です。私は、彼らがソフトウェアに適合できる混合モデルの種類によって、分析の大部分が推進されたのではないかと疑っています。ビン分割されたベータ混合モデルは、適合させるのが少し難しくなります。
デイブフルニエ

3

デイブ、

この問題に対する一般的なアプローチは、2つのロジスティック回帰モデルを当てはめて、ケースが0か1かを予測することです。次に、範囲(0,1)のベータ回帰が使用されます。


例を挙げていただけますか?またはこれをより詳細に議論する論文ですか?
user1607

2

(log(x),log(1x))

x(x,x2

どちらも指数関数的な家族であるため、どちらもベイズ式で簡単に推定できると思います。これは、期待していたモデルの修正です。


1

この質問に対する実際の「正しい」答えは、ゼロ対1の膨らんだベータ回帰です。これは、間隔[0,1]で連続的に変化するデータを処理するように設計されており、多くの実際の0と1をデータに含めることができます。このアプローチは、@ B_Minerが提案したものと同様に、ベイジアンコンテキストの3つの別個のモデルに適合します。

モデル1:値は離散的な0/1ですか、それとも(0,1)の値ですか?ベルヌーイ分布に適合します。

モデル2:ベルヌーイ分布で離散サブセットを近似します。

モデル3:ベータ回帰でフィット(0,1)サブセット。

予測では、最初のモデル結果を使用して、モデル2および3の予測に重みを付けることができます。これは、zoibRパッケージ内に実装するか、BUGS / JAGS / STAN / etcで自作することができます。

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