Sürekli bir dağıtımdan örneklenen veri modunu hesaplama


12

Sürekli bir dağıtımdan örneklenen verilerin 'modunu' takmak için en iyi yöntemler nelerdir?

Mod, sürekli bir dağıtım için teknik olarak tanımlanmamış (doğru?) Olduğundan, gerçekten 'en yaygın değeri nasıl buluyorsunuz?'

Üst dağıtımın gauss olduğunu varsayarsanız, verileri depolayabilir ve modun en fazla sayılan depo konumu olduğunu söyleyebilirsiniz. Ancak, kutu boyutunu nasıl belirliyorsunuz? Sağlam uygulamalar var mı? (yani aykırı değerlere karşı sağlam). Ben kullanın python/ scipy/ numpyama muhtemelen çevirebilir Rçok fazla zorlanmadan.


8
Modun teknik olarak bu şekilde tanımlanıp tanımlanmadığından emin değilim, ancak sürekli bir dağılımın küresel modu genellikle en yüksek yoğunluklu nokta anlamına gelir.
Makro

1
@Macro - bu yardımcı olur. Daha sonra sorumu '(tepe noktası yoğunluğunu belirlemek için en iyi yöntemler nelerdir?' '
keflavich

1
Belki verileriniz için bir çekirdek yoğunluğu tahmini sığdırır ve modu bunun zirvesi olarak tahmin eder? Bu mantıklı bir yaklaşım gibi gözüküyor ama bu sorunla ilgili literatürü bilmiyorum.
Makro

1
x0=xmin,x1,x2,,x9,x10=xmax10%xi+1ximin1j10xj+1xj

2
Ebeveyn dağılımı, keflavich hakkında ne gibi varsayımlar yapabilirsiniz? Parametrik ise, parametreleri tahmin etmek ve daha sonra modu bu parametrelerden tahmin etmek en iyisidir. (Örneğin, numune ortalaması normal dağılım modunu tahmin eder.) Değilse, binning kötü bir yöntem olabilir. Bunun yerine, bir dizi tahmin ediciyi sağlamak için, değişken yarım genişliğe sahip bir dizi çekirdek tahmincisi kullanılabilir; tipik olarak, altta yatan dağılım imimodal ise, çekirdek düzlüklerinin modları, yarım genişlikler büyüdükçe ve bu sizin tahmininiz olabileceğinden, benzersiz bir moda yakınlaşıyor gibi görünecektir.
whuber

Yanıtlar:


4

R'de, temel dağılımın parametrik modellemesine dayanmayan ve 10000 gama dağıtılmış değişkenlere yoğunluk varsayılan çekirdek tahmincisini kullanan yöntemi uygulamak:

x <- rgamma(10000, 2, 5)
z <- density(x)
plot(z) # always good to check visually
z$x[z$y==max(z$y)]

en yüksek yoğunluğa sahip olduğu tahmin edilen x'in değeri olan 0.199 değerini döndürür (yoğunluk tahminleri "z $ y" olarak saklanır).


3
Bundan farklı yapacağım tek şey farklı bir bant genişliği kullanmak. Density () için varsayılan bant genişliği özellikle iyi değil. yoğunluk (x, bw = "SJ") daha iyidir. Daha da iyisi, mod tahmini için tasarlanmış bir bant genişliği kullanmak olabilir. Bazı tartışmalar için bkz. Sciencedirect.com/science/article/pii/0167715295000240 .
Rob Hyndman

2

Toplam boyut b örneğinizden, kutu boyutu b olan bir histogram yaptığınızı ve en büyük kutunun k girişleri olduğunu varsayalım. Bu kutudaki ortalama PDF b * k / n olarak tahmin edilebilir.

Sorun, daha az toplam üyesi olan başka bir kutunun yüksek spot yoğunluğuna sahip olabilmesidir. Bunu ancak PDF'deki değişim oranı hakkında makul bir varsayım varsa bilebilirsiniz. Bunu yaparsanız, ikinci en büyük bölmenin aslında modu içerme olasılığını tahmin edebilirsiniz.

Temel sorun şudur. Bir örnek, Kolmogorov-Smirnov teoremi ile CDF hakkında iyi bir bilgi sağlar ve böylece medyan ve diğer miktarları iyi bir şekilde tahmin eder. Ancak L1'deki bir işleve bir yaklaşımı bilmek, türevi hakkında yaklaşık bilgi sağlamaz. Bu nedenle, hiçbir örnek ek varsayımlar olmadan PDF hakkında iyi bilgi vermez.


0

Yüksek boyutlu dağılımlar için de çalışan bazı genel çözüm çizimleri:

  • Jeneratöre herhangi bir rastgele giriş vermeden ters KL ıraksamalı bir f-GAN eğitin (yani deterministik olmaya zorlayın).

  • Ters KL sapması olan bir f-GAN eğitin, eğitim ilerledikçe giriş dağılımını jeneratöre Dirac delta fonksiyonuna doğru hareket ettirin ve jeneratör kaybı fonksiyonuna gradyan cezası ekleyin.

  • Herhangi bir noktada pdf yaklaşımını izlenebilir şekilde değerlendirebilen (farklılaştırılabilir) üretken bir model eğitin (örneğin bir VAE, akış tabanlı bir model veya otoregresif bir modelin yapabileceğini düşünüyorum). Daha sonra, bu yaklaşımın maksimumunu bulmak için bir tür optimizasyon kullanın (model çıkarımının farklı olması durumunda bir miktar gradyan yükselişi kullanılabilir).

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.