Verileri saymak için ayrık bir dağıtım nasıl takılır?


17

Sayım verilerinin aşağıdaki histogramına sahibim. Ve ona ayrık bir dağıtım yapmak istiyorum. Bu konuda nasıl ilerlemem gerektiğinden emin değilim.resim açıklamasını buraya girin

İlk önce histogramdaki ayrık bir dağılımı, yani Negatif Binom dağılımını üst üste koymalı mıyım, böylece ayrık dağılımın parametrelerini alıp p-değerlerini kontrol etmek için bir Kolmogorov-Smirnov testi yapmalıyım?

Bu yöntemin doğru olup olmadığından emin değilim.

Böyle bir sorunun üstesinden gelmek için genel bir yöntem var mı?

Bu sayım verilerinin bir frekans tablosu. Benim sorunumda, sadece sıfır olmayan sayılara odaklanıyorum.

  Counts:     1    2    3    4    5    6    7    9   10 
 Frequency: 3875 2454  921  192   37   11    1    1    2 

GÜNCELLEME: Sormak istiyorum: R'de fitdistr işlevini veri uydurma parametrelerini elde etmek için kullandım.

fitdistr(abc[abc != 0], "Poisson")
     lambda  
  1.68147852 
 (0.01497921)

Sonra Poisson dağılımının olasılık kütle fonksiyonunu histogramın üstüne çizdim. resim açıklamasını buraya girin

Ancak, Poisson dağılımı sayım verilerini modellemiyor gibi görünüyor. Yapabileceğim bir şey var mı?


3
Genel bir yöntem, aday dağılımına uyma olasılığını en üst düzeyde kullanmaktır. Parametreleri elde etmek için bir dağılımı üst üste getirerek ne demek istediğiniz belli değil, ancak iyi bir uyum elde edene kadar parametre değerlerini tahmin etmek demek berbat bir yöntemdir. Kolmogorov-Smirnov burada yararlı değil. Size çıkarımsal sonuçlar veren iyi bir yazılıma ihtiyacınız var, bu yüzden bunu kullanan kişilerin size yardımcı olmaya çalışabilmesi için tercih ettiğiniz yazılımı belirtmeniz gerekir. Histogramınız net değil, ancak boşluklar varsa, hiçbir dağılımın uygun olmayacağı muhtemeldir.
Nick Cox

3
KS testini bu şekilde berbat bir yöntem kullanırken (ve her durumda KS testi ayrık dağılımlar için değildir), KS istatistiğini tüm olası parametre değerleri üzerinde minimize ederek parametreleri tahmin etmek mümkün olacaktır; ancak bu şekilde gidiyorsanız (bazı uyum iyiliğini optimize ediyorsanız), minimum ki-kare daha tipik bir yaklaşım olacaktır. Nick Cox'un ML'nin yapacağı bariz bir şey olacağını belirttiği gibi, neredeyse kesinlikle daha verimli, standart hataları almak daha kolay ve başkaları tarafından daha kolay kabul edilebilir. (Anlar yöntemi gibi başka olasılıklar da vardır, ancak ML asıl şeydir.)
Glen_b -Restate Monica

R kullanıyorum. MLE'yi tahmin ederken, iş için önereceğiniz algoritmalar var mı? ML'yi bulduktan sonra ne yapmalıyım?
user1769197

?MASS::fitdistrZaten R dağılımınızda olduğu için buradan başlıyorum (alttaki son örneğe bakın; Negatif Binom'un parametrelendirilmesi hakkında daha fazla bilgi için rnegbin'e bakın). .... " ML'yi bulduktan sonra, şimdi ne yapmalıyım? " - bu noktada parametre tahminleriniz ve standart hatalarınız var. Bunun ötesinde, neye ulaşmak istiyorsunuz? - Tahmin edemiyorum.
Glen_b-Monica Monica

Bana 'modelimin uyumunu nasıl değerlendirebilirim?' Diye sormaya çalışıyormuşsunuz gibi geliyor. Durum buysa, sorunuzu bunu yansıtacak şekilde güncelleyebilir misiniz?
Glen_b-Monica

Yanıtlar:


17

Kesikli dağılımların montaj yöntemleri

Kesikli dağılımların uyumu (parametrelerini tahmin etmek) için kullanılan üç ana yöntem * vardır.

1) Maksimum Olabilirlik

Bu, numunenizi sağlama konusunda en iyi şansı veren parametre değerlerini bulur (bağımsızlık, sabit parametreler vb. Gibi diğer varsayımlar dikkate alındığında)

2) Momentler yöntemi

Bu, ilk birkaç popülasyon anını örnek anlarınızla eşleştiren parametre değerlerini bulur. Genellikle yapılması oldukça kolaydır ve birçok durumda oldukça makul tahmin ediciler sağlar. Bazen ML rutinlerine başlangıç ​​değerleri sağlamak için de kullanılır.

3) Minimum ki-kare

Bu, ayrık dağılım üzerindeki ki-kare uyum istatistiğini en aza indirir, ancak bazen daha büyük veri kümeleriyle, son kategoriler kolaylık sağlamak için birleştirilebilir. Genellikle oldukça iyi çalışır ve belirli durumlarda ML'ye göre bazı avantajları vardır, ancak genellikle yakınsama için tekrarlanmalıdır, bu durumda çoğu insan ML'yi tercih etme eğilimindedir.

İlk iki yöntem sürekli dağılımlar için de kullanılır; üçüncüsü genellikle bu durumda kullanılmaz.

Ve hatta (eğer ayrıklık ayarlamak ise), bir ortak almak - hiçbir şekilde bu örneğin KS-istatistik minimize ederek parametreleri tahmin etmek oldukça mümkün olacağını bir liste oluşturan ve consonance bölgesini olsaydın, ondan çok eğik. R'de çalıştığınızdan, negatif binom için ML tahminini gerçekleştirmek oldukça kolaydır. Numuneniz içerdiyse x, bu kadar basit library(MASS);fitdistr (x,"negative binomial"):

> library(MASS) 
> x <- rnegbin(100,7,3)
> fitdistr (x,"negative binomial")
     size         mu    
  3.6200839   6.3701156 
 (0.8033929) (0.4192836)

Bunlar parametre tahminleridir ve (asimptotik) standart hatalarıdır.

Poisson dağılımı söz konusu olduğunda, MLE ve MoM'nin her ikisi de Poisson parametresini örnek ortalamada tahmin eder.

Örnek görmek istiyorsanız, gerçek sayıları göndermelisiniz. Histogramınızın, 0 ve 1 kategorilerinin birleştirilmesi ve ham sayıların olmaması için seçilen kutularla yapıldığını unutmayın.

Tahmin edebildiğim kadarıyla, verileriniz kabaca aşağıdaki gibidir:

    Count:  0&1   2   3   4   5   6  >6    
Frequency:  311 197  74  15   3   1   0

Ancak büyük sayılar belirsiz olacaktır (düşük sayımların çubuk yüksekliklerinin piksel sayımlarıyla ne kadar doğru bir şekilde temsil edildiğine bağlıdır) ve bu sayıların birkaç katı olabilir, örneğin bu sayıların iki katı (ham sayımlar standart hatalar, bu nedenle bu değerlerle ilgili veya iki kat daha büyük olmaları önemlidir)

İlk iki grubun birleştirilmesi onu biraz garip hale getirir (yapmak mümkündür, ancak bazı kategorileri birleştirirseniz daha az açıktır.Bu ilk iki grupta çok fazla bilgi vardır, bu yüzden varsayılan histogramın onları toplamasına izin vermemek en iyisidir ).


* Tabii ki ayrık dağılımların takılması için başka yöntemler de mümkündür (biri miktarlarla eşleşebilir veya örneğin diğer uyum iyiliği istatistiklerini en aza indirebilir). Bahsettiğim en yaygın olanları.


+1, güzel bilgi. Sadece meraktan, 1)CV'nin desteklediği biçimlendirme numaralandırma yerine neden sık sık kullanıyorsunuz 1.?
gung - Monica'yı eski durumuna döndürün

1
@gung Çoğunlukla bunu düşünmüyorum - Listelerimi yazdığım şekle bakmayı tercih ediyorum; ama bunu düşündüğümde, markdown'un yazdığım sayıları büyük ölçüde sinir bozucu olması gerektiğini düşündüğü şekilde düzenlediğini görüyorum (eğer "36." yazsaydım, gerçekten "1" demek istemedim ) ... "1" i kullanmak bana oluyor. "1)" yerine, genellikle "1 \" yazıyorum. açıkça tanımasını ve niyet etmediğim şeyleri yapmasını engellemek için. 5 yıllık reddit'ten bu davranışa o kadar uyum sağladım ki, bunu bile düşünmüyorum - sonunda alışkanlıkla zorla otomatik olarak karışırdım.
Glen_b -Monica

1
@gung Girintileme çok daha küçük olsaydı, muhtemelen yeniden numaralandırma tehlikesine katlanıp kullanmaya eğilimliydim. Dururken, gördüğümde genellikle rahatsız edici buluyorum. Ama bu özel durumda onları daha alt pozisyonlara benzetmeye çalışıyordum, bu yüzden davranıştan vazgeçmesem bile bundan kaçınırdım. (Öte yandan, diğer insanlar listelerimi girintiyi yapmak için düzenlemeye karar verdiler, genellikle kendilerini memnun etmek için onları terk ediyorum. Belli bir şekilde görünmesini istiyorlarsa, öyle olmadığı sürece yapabilirler anlamını değiştirmez.)
Glen_b -Monica'yı geri yükle

Kendimi kısıtlamaya çalışacağım ;-).
gung - Monica'yı eski durumuna döndürün

2

Bir düzenlemede bazı veriler verdiniz ve yeni bir soru eklediniz:

"Bu sayım verilerinin bir frekans tablosu. Benim sorunumda, sadece sıfır olmayan sayımlara odaklanıyorum.

   Counts:     1    2    3    4    5    6    7    9   10 
Frequency:  3875 2454  921  192   37   11    1    1    2 

Birisi bana burada ki-kare uyum iyiliği testini nasıl yapacağınıza dair bir örnek verebilir mi? "

Bu daha fazla yoruma yol açar:

  1. Sıfırlara sahip olmak, ancak onları görmezden gelmek istemek mantıklı olabilir, ancak genellikle istatistiksel ve konu insanlar bunun için iyi bir neden görmek ister.

  2. Sıfırları görmezden gelmeyi seçerseniz, kendinizi zor bölgelere yerleştiriyorsunuz, çünkü sıfırları terk ederseniz Poisson veya negatif binom için rutinleri ateşleyemezsiniz. Evet, ama cevaplar yanlış olur. Sıfır kesilmiş Poisson veya sıfır kesilmiş negatif binom gibi dağıtımlar için özel amaçlı işlevlere veya komutlara ihtiyacınız vardır. Bu zor şeyler ve ne yaptığınız konusunda net olmak için özel okumaya ihtiyaç duyuyor.

  3. Ki-kare testinin nasıl yapılacağını sormak bana söylediklerimi çok kısaca anlamadığınızı gösteriyor ve @Glen_b çok daha ayrıntılı olarak (ve aklıma çok net bir şekilde) dedi. Bunu ikiye bölmek:

    • Beklenen frekanslar olmadan ki-kare testi olamaz ve parametre tahminleri olmadan beklenen frekanslar olamaz. İki yönlü bir tablodaki satırların ve sütunların bağımsızlığının test edildiği ki-kare test rutinlerine aşina olabilirsiniz. Bu, giriş kurslarında en çok karşılaşılan ki-kare testi olmasına rağmen, genel olarak ki-kare testleri arasında çok olağandışıdır, çünkü normalde kullanılan yazılım, parametre tahminini sizin için yapar ve böylece beklenen frekansları alır. Bunun ötesinde, sizinki gibi en karmaşık problemlerde, önce parametre tahminlerini almanız gerekir.

    • Ki-kare testi yanlış değildir, ancak parametreleri maksimum olasılıkla tahmin ederseniz, uydurma rutini size tahminler ve standart hatalar verdiğinden ve sonrasında testlere izin verdiğinden bu önemsizdir. @ Glen_b cevabında zaten bir örnek verdi.

Bir yan sorun, değişkenin ayrıklığına saygı göstermek ve yoğunlukları değil olasılıkları göstermek için histogramlarınızı değiştirmenin daha açık olacağıdır. Görünen boşluklar, sadece değişkenin seçimine saygı duymayan varsayılan kutu seçiminin eserleridir.

GÜNCELLEME: Ki-kare testi ile ilgili ek soru şimdi silindi. Şimdilik # 3'ün durmasına izin veriyorum, başka birinin ki-kare testi isteme yolunu izlemesi durumunda.


Sıfırları görmezden gelmeliyim, çünkü aktif sayıları modellemeye çalışıyorum. Sayımlar = 0, etkin olmayan sayımlar olarak ifade edilir.
user1769197

Bu önemli bir seçim. Birçok alanda, aktif (etkin olmayan) ve aktif olmayan (sonra da ne kadar aktif) modellediğiniz iki parçalı modeller olduğunu unutmayın.
Nick Cox

"Grafik (tablo (abc), type =" h ")" yaparak histogramları değiştirmeye çalıştım. Ancak, olasılıkları göstermek için nasıl alabilirim emin değilim
user1769197

R'yi kullanmıyorum, ancak bu konuda tavsiye alabilirsiniz. Ayrı olarak sormanız gerekebilir.
Nick Cox
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.