1 ve 0 dahil oran verilerinin beta regresyonu


19

Ben 0 ve 1 arasında bir oran olan bir yanıt değişkeni olan bir model üretmeye çalışıyorum, bu oldukça birkaç 0s ve 1s ama aynı zamanda birçok değer içerir. Beta regresyonu denemeyi düşünüyorum. R (betareg) için bulduğum paket sadece 0 ile 1 arasında değerlere izin veriyor, ancak 0 veya 1'i içermiyor. Başka bir yerde teorik olarak beta dağılımının 0 veya 1 değerlerini işleyebileceğini okumuştum ama bunu RI'de nasıl ele alacağımı bilmiyorum, bazı insanların sıfırlara 0.001 eklediğini ve onlardan 0.001 aldığını gördüm, ama ben değilim bunun iyi bir fikir olduğuna emin misin?

Alternatif olarak yanıt değişkenini logit edebilir ve lineer regresyon kullanabilirim. Bu durumda 0 ve 1 'ler ile aynı problemim var ve bunlar günlük dönüşümü yapılamıyor.


Bilerek sayıları sadece oranlar --not - olursa olsun ne çok önemlidir. Fakat sayımlara ulaştığınızda, dikkate alınması gereken ilk model, sadece bir çıkış noktası olsa bile, lojistik regresyon.
whuber

Bir beta 0 ile 1 arasındadır ( neredeyse elbette ). Bunları gözlemlerseniz, örneğinizi gözlemleme şansı veren bir model kullanmalısınız. Birkaç cevap bu tür bir yaklaşımı kapsamaktadır; Onlarla başlardım.
Glen_b -Manica Monica

Yanıtlar:


19

Sırasıyla 0 ve 1'e bir olasılık atamak için beta dağılımını dejenere bir dağıtımla birleştiren sıfır ve / veya bir şişirilmiş beta regresyon modeli kullanabilirsiniz. Ayrıntılar için aşağıdaki referanslara bakın:

Ospina, R. ve Ferrari, SLP (2010). Şişirilmiş beta dağılımları. İstatistiksel Makaleler, 51 (1), 111-126. Ospina, R. ve Ferrari, SLP (2012). Sıfır veya bir şişirilmiş beta regresyon modellerinin genel sınıfı. Hesaplamalı İstatistik ve Veri Analizi, 56 (6), 1609-1623.

Bu modellerin R için gamlss paketi ile uygulanması kolaydır.


Bunların R üzerinde nasıl uygulanacağına dair bir örneğiniz var mı?
Ouistiti

2
@ zoibPaket kolayca paket yapar.
Mark White

12

R betaregpaketinin belgeleri

Eğer y de kabul uygulamada yararlı dönüşüm (y * (n-1) + 0.5) / n burada uç 0 ve 1 'dir, n, örnek boyutudur.

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

Smithson M, Verkuilen J (2006) referansını verirler . "Daha İyi Bir Limon Sıkacağı? Beta Dağıtılmış Bağımlı Değişkenlerle Maksimum Olabilirlik Regresyonu." Psikolojik Yöntemler, 11 (1), 54-71.


1

Eksi sonsuzdan artı sonsuza kadar değişken yapmak için bir logit dönüşümü yapmıyor musunuz? 0 ve 1 olan verilerin bir sorun olup olmayacağından emin değilim. Bu herhangi bir hata mesajı gösteriyor mu? Bu arada, sadece oranlarınız varsa analiziniz her zaman yanlış çıkacaktır. Sen kullanmak zorunda weight=argumentiçin glmvakalarının sayısı ile.

Hiçbir şey işe yaramazsa, DV'yi birkaç kategoriye ayırmak ve daha sonra bunun yerine bir Ordinal lojistik regresyonu çalıştırmak için uygun bir bölme veya çeyrek bölme veya herhangi bir kesme noktası kullanabilirsiniz. Bu işe yarayabilir. Bunları deneyin.

Şahsen sıfırlara 0.001 eklemenin ve onlardan 0.001 almanın çok kötü bir fikir olduğunu düşünmüyorum, ancak daha sonra tartışılacak bazı sorunları var. Sadece düşünün, neden 0.000000001 (veya ondalık sayıların daha fazlasını) eklemiyor ve çıkarmıyorsunuz? Bu 0 ve 1'i daha iyi temsil edecektir !! Çok fazla fark yaratmıyormuş gibi görünebilir. Ama aslında öyle.

Aşağıdakilere bakalım:

> #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

Gördüğünüz gibi, oranları (0/1) ve (1/0) kadar yakın tutmanız gerekir. Günlük oranlarının eksi sonsuzdan artı sonsuzluğa kadar değişmesini beklersiniz. Yani, toplama veya çıkarma için, gerçekten çok uzun bir ondalık basamak seçmeniz gerekir, böylece günlük oranları sonsuzluğa (veya çok büyük) yakın olur! Yeterince büyük düşüneceğiniz kapsam, yalnızca size bağlıdır.


1

Slayt 17'de geçici bir dönüşümden maartenbuis.nl/presentations/berlin10.pdf'den bahsedildiği aşağıdakilere göz atın . Ayrıca 0 ve 1'i iki ayrı lojistik regresyon ile modelleyebilir ve ardından sınırda olmayanlar için Beta regresyonunu kullanabilirsiniz.


1
(y*(n-1)+0.5)/nn

1

0/1 tekrarlama sorununu çözmek için önerilen çözümü (yukarıda 2013'te not edilmiştir) özetleyen Karen Grace-Martin tarafından "Zero-One Şişirilmiş Beta Modelleri" ile ilgili güncel bir çevrimiçi inceleme parçasına rastlandı. . Teknik olmayan incelemeden parçalar alıntılamak için:

Eğer bir müşteri ilacını 30 günden 30 alırsa, beta regresyonu çalışmaz. Veri kümesinde 0 veya 1 sayısı olamaz.

Sıfır-Bir Şişirilmiş Beta Modelleri

Bununla birlikte, bu durumda çalışabilecek bir beta regresyon modeli sürümü vardır. Teoride bir süredir var olan modellerden biri, ancak sadece son birkaç yılda (bazı) genel istatistiksel yazılımlarda mevcut hale geldi.

Buna Sıfır-Tek-Şişirilmiş Beta denir ve Sıfır-Şişirilmiş Poisson modeli gibi çalışır.

Gerçekten üç süreç olduğunu söyleyen bir tür karışım modeli.

Birincisi, sıfırlarla sıfır olmayanları birbirinden ayıran bir süreçtir. Fikir, ilaçlarını hiç almayan insanlar hakkında, en azından bazen, ilaç kullananlardan niteliksel olarak farklı bir şey olmasıdır.

Benzer şekilde, olanlar ile olmayanlar arasında ayrım yapan bir süreç vardır. Yine, ilaçlarını her zaman alan veya bazen yapamayanlardan niteliksel olarak farklı bir şey vardır.

Ve sonra, bir zamanlar birisinin ilaçlarını ne kadar alacağını belirleyen üçüncü bir süreç var.

Birinci ve ikinci süreçler lojistik regresyon, üçüncüsü ise beta regresyon yoluyla gerçekleştirilir.

Bu üç model aynı anda çalıştırılır. Her birinin kendi tahmincisi ve kendi katsayıları seti olabilir ...

Dağılımın şekline bağlı olarak, her üç işleme de ihtiyacınız olmayabilir. Veri kümesinde sıfır yoksa, yalnızca 1'de enflasyonu barındırmanız gerekebilir.

Son derece esnektir ve veri analizi araç kutunuza önemli seçenekler ekler. "

İşte aynı zamanda 'zoib: Beta Regresyonu ve Sıfır / Bir Şişirilmiş Beta Regresyonu için Bayesci Çıkarım için bir R Paketi' için daha yeni bir Aralık 2015 teknik makale kaynağı . Yazarlar, bir sıfır / bir şişirilmiş beta (ZOIB) regresyon model (ler) indeki y değişkeninin, y kapalı birim aralığından değerler aldığında uygulanabileceğini not eder [0, 1]. Görünüşe göre, zoib modeli Yij'in parçalı bir dağılımı izlediğini varsayar (bkz. S.36 (1) 'de gösterilen sistem).


0

Beta modeli, bilinmeyen bir olasılıkla Bernoulli dağıtılmış olarak modellenen ikili değişken içindir p. Beta modeli,pbeta dağıtılmış.

Değişkeniniz bir orantıdır. Oranı, bilinmeyen parametrelerle beta dağıtılmış olarak modelleyebilirsinizbir,b. İstediğiniz model, beta dağıtımından önceki eşleniktir ve daha sonra,bir,b.

Modeli tekrar türetmek zorunda kalacağım, ama doğru hatırlamıyorsam, x1,...,xn üç beklenti parametresi döndürürsünüz: n, puan sayısı ve hafızam haklıysa Σj[ψ(Σbenxben)-ψ(xj)] ve Σj[ψ(Σben1-xben)-ψ(1-xj)]. Bunlar, beta dağılımınızın, oranlarınızı modelleyen parametreleri üzerindeki dağılımının parametreleridir.


1
Bu Meta dizisine katılmak isteyebilirsiniz. stats.meta.stackexchange.com/questions/5814/…
Sycorax,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.