Dilim örnekleme - Slice sampling

Dilim örnekleme bir tür Markov zinciri Monte Carlo algoritma için sözde rastgele sayı örneklemesi yani istatistiksel bir dağılımdan rastgele örnekler almak için. Yöntem, bir örneklemenin örneklenmesi gözlemine dayanmaktadır. rastgele değişken yoğunluk fonksiyonunun grafiğinin altındaki bölgeden homojen olarak numune alınabilir.[1][2][3]

Motivasyon

Rastgele bir değişkeni örneklemek istediğinizi varsayalım X dağıtım ile f(x). Aşağıdakinin şunun grafiği olduğunu varsayalım f(x). Yüksekliği f(x) bu noktada olasılığa karşılık gelir.

alternatif metin

Tekdüze numune alırsanız X, her değer aynı örnekleme olasılığına sahip olacak ve dağılımınız şu şekilde olacaktır: f(x) = y bazı y tek tip olmayan bazı işlevler yerine değer f(x). Orijinal siyah çizgi yerine, yeni dağılımınız daha çok mavi çizgiye benzeyecektir.

alternatif metin

Numune almak için X dağıtımı koruyacak şekilde f(x), her bir aralık için çeşitli olasılıkları hesaba katan bazı örnekleme teknikleri kullanılmalıdır. f(x).

Yöntem

En basit haliyle, eğrinin altından eşit şekilde örnekleme f(x) aşağıdaki gibi herhangi bir noktayı reddetmeye gerek kalmadan:

  1. Bir başlangıç ​​değeri seçin x0 hangisi için f(x0) > 0.
  2. Örnek a y 0 ile arasında eşit olarak değer f(x0).
  3. Burada eğri boyunca yatay bir çizgi çizin y durum.
  4. Bir noktayı örnekleyin (x, y) eğri içindeki çizgi parçalarından.
  5. 2. adımdan itibaren yenisini kullanarak tekrarlayın. x değer.

Buradaki motivasyon, rastgele bir eğri içinden bir noktayı eşit olarak örneklemenin bir yolunun, ilk olarak tüm eğri boyunca ince, düzgün yükseklikte yatay dilimler çizmektir. Daha sonra, önceki yinelemeden x konumunda eğriye veya bunun altına düşen bir dilimi rastgele seçip, ardından dilim boyunca bir yerde rastgele bir x konumu seçerek eğri içindeki bir noktayı örnekleyebiliriz. Algoritmanın önceki yinelemesinden gelen x konumunu kullanarak, uzun vadede, eğri içindeki segmentlerinin uzunluklarıyla orantılı olasılıklara sahip dilimler seçiyoruz.Bu algoritmanın en zor kısmı, yatay dilimin sınırlarını bulmaktır, Bu, örneklenen dağılımı açıklayan işlevi tersine çevirmeyi içerir. Bu özellikle, dilimin birden çok süreksiz parçadan oluşabileceği çok modlu dağıtımlar için sorunludur. Bunun üstesinden gelmek için genellikle bir ret örnekleme biçimi kullanmak mümkündür, burada söz konusu istenen dilimi içerdiği bilinen daha büyük bir dilimden örnek alırız ve ardından istenen dilimin dışındaki noktaları atarız. Bu algoritma örneklemek için kullanılabilir. altındaki alandan hiç eğri, fonksiyonun 1'e entegre olup olmadığına bakılmaksızın. Aslında, bir fonksiyonu bir sabitle ölçeklendirmenin örneklenen x pozisyonları üzerinde hiçbir etkisi yoktur. Bu, algoritmanın bir dağıtımdan örnekleme yapmak için kullanılabileceği anlamına gelir. olasılık yoğunluk fonksiyonu yalnızca bir sabite kadar bilinir (yani, sabit normalleştirme bilinmiyor), yaygın olan hesaplama istatistikleri.

Uygulama

Dilim örnekleme, adını ilk adımdan alır: dilim yardımcı bir değişkenden örnek alarak . Bu değişken, , nerede ya olasılık yoğunluk fonksiyonu (PDF) / X veya en azından PDF ile orantılıdır. Bu bir dilim tanımlar X nerede . Başka bir deyişle, şu anda bir bölgeye bakıyoruz X olasılık yoğunluğunun en az olduğu yerde . Sonra bir sonraki değeri X bu dilimden homojen olarak örneklenir. Yeni bir değer örneklenir, sonra X, ve benzeri. Bu, alternatif olarak y konumunu ve ardından PDF altındaki noktaların x konumunu örnekleyerek görselleştirilebilir. Xs istenen dağıtımdan. değerlerin prosedür için yararlılıkları dışında belirli sonuçları veya yorumları yoktur.

Hem PDF hem de tersi mevcutsa ve dağıtım tek modlu değilse dilimi bulmak ve ondan örneklemek basittir. Değilse, uç noktaları dilimin dışında kalan bir bölgeyi bulmak için bir adım atma prosedürü kullanılabilir. Daha sonra, dilimden bir numune, kullanılarak ret örneklemesi. Bunun için çeşitli prosedürler Neal tarafından ayrıntılı olarak anlatılmıştır.[2]

Düzgün olmayan dağılımlardan rastgele sayılar üretmek için mevcut birçok yöntemin aksine, bu yaklaşımla doğrudan üretilen rastgele varyasyonların seri istatistiksel bağımlılık sergileyeceğini unutmayın. Bunun nedeni, bir sonraki örneği çizmek için dilimi değerine göre tanımlıyoruz. f(x) mevcut örnek için.

Diğer yöntemlerle karşılaştırıldığında

Dilim örnekleme bir Markov zincir yöntemidir ve bu nedenle Gibbs örnekleme ve Metropolis ile aynı amaca hizmet eder. Metropolis'ten farklı olarak, aday işlevi veya aday standart sapmasını manuel olarak ayarlamaya gerek yoktur.

Metropolis'in adım boyutuna duyarlı olduğunu hatırlayın. Adım boyutu çok küçükse rastgele yürüyüş yavaş ilintisizliğe neden olur. Adım boyutu çok büyükse, yüksek reddetme oranı nedeniyle büyük verimsizlik vardır.

Metropolis'in aksine, dilim örnekleme, yoğunluk işlevinin yerel şekline uyacak şekilde adım boyutunu otomatik olarak ayarlar. Uygulama, muhtemelen Gibbs örneklemesinden veya basit Metropolis güncellemelerinden daha kolay ve verimlidir.

Düzgün olmayan dağılımlardan rastgele sayılar üretmek için mevcut birçok yöntemin aksine, bu yaklaşımla doğrudan üretilen rastgele varyasyonların seri istatistiksel bağımlılık sergileyeceğini unutmayın. Diğer bir deyişle, tüm noktalar aynı bağımsız seçilme olasılığına sahip değildir. Bunun nedeni, bir sonraki örneği çizmek için dilimi, geçerli örnek için f (x) değerine göre tanımlıyoruz. Bununla birlikte, üretilen örnekler Markoviyen ve bu nedenle uzun vadede doğru dağılıma yakınsaması beklenmektedir.

Dilim Örnekleme, örneklenecek dağıtımın değerlendirilebilir olmasını gerektirir. Bu gereksinimi gevşetmenin bir yolu, gerçek değerlendirilemez dağılımla orantılı olan değerlendirilebilir bir dağılımın ikame edilmesidir.

Tek değişkenli durum

alternatif metin
Belirli bir x örneği için, [0, f(x)], dağılımın bir "kesitini" tanımlar (düz yatay çizgi ile gösterilir). Bu durumda, dağıtım aralığının dışındaki bir alanla ayrılmış iki dilim vardır.

Rastgele bir değişkeni örneklemek için X yoğunluklu f(x) bir yardımcı değişken tanıtıyoruz Y ve aşağıdaki gibi yineleyin:

  • Bir örnek verildi x Biz seciyoruz y [0, f(x)];
  • verilen y Biz seciyoruz x setten rastgele rastgele .
  • Örnek x göz ardı edilerek elde edilir y değerler.

Yardımcı değişkenimiz Y dağılımın yatay bir "dilimini" temsil eder. Her yinelemenin geri kalanı, bir x değerlendirilen bölgenin yoğunluğunu temsil eden dilimden alınan değer.

Pratikte, çok modlu bir dağılımın yatay bir diliminden örnekleme yapmak zordur. Büyük bir örnekleme bölgesi elde etmek ve böylece dağıtım alanında büyük hareketleri mümkün kılmak ve verimliliği artırmak için daha basit bir örnekleme bölgesi elde etmek arasında bir gerilim vardır. Bu süreci basitleştirmek için bir seçenek bölgesel genişleme ve daralmadır.

  • İlk olarak, bir genişlik parametresi w verilen 'x' i içeren alanı tanımlamak için kullanılır değer. Bu alanın her uç noktası, verilen dilimin dışında olup olmadığını görmek için test edilir. Değilse, bölge uygun yön (ler) e doğru genişletilir. w sonuna kadar her iki uç nokta da dilimin dışında kalır.
  • Bir aday numune, bu bölgeden tek tip olarak seçilir. Aday numune dilimin içinde ise yeni numune olarak kabul edilir. Dilimin dışında yer alıyorsa, aday nokta bölge için yeni sınır olur. Yeni bir aday numune eşit şekilde alınır. İşlem, aday numune dilim içinde olana kadar tekrar eder. (Görsel bir örnek için şemaya bakın).
alternatif metin
Bir dizi dilim verilen bir örneği bulmak (dilimler burada mavi çizgilerle temsil edilir ve önceki grafikteki düz çizgi dilimlerine karşılık gelir. f(x)). a) Bir genişlik parametresi w ayarlandı. b) Genişlik bölgesi w belirli bir nokta etrafında tanımlanır . c) Bölge genişletildi w her iki uç nokta da dikkate alınan dilimin dışında olana kadar. d) bölgeden eşit olarak seçilir. e) beri dikkate alınan dilimin dışında yer alırsa, bölgenin sol sınırı . f) Başka bir tek tip numune incelenen dilim içerisinde yer aldığından numune olarak alınır ve kabul edilir.

Gibbs içinde dilim örnekleme

İçinde Gibbs örnekleyici tüm koşullu dağılımlardan verimli bir şekilde yararlanılması gerekir. Tam koşullu yoğunluktan örnekleme yapmak kolay olmadığında, söz konusu değişkenden örnek almak için Gibbs içinde tek bir dilim örnekleme yinelemesi veya Metropolis-Hastings algoritması kullanılabilir. Tam koşullu yoğunluk, log-içbükey ise, daha verimli bir alternatif, uyarlamalı ret örneklemesi (ARS) yöntemleri.[4][5] ARS teknikleri uygulanamadığında (tam koşul, log-içbükey olmadığından), uyarlanabilir reddetme Metropolis örnekleme algoritmaları sıklıkla kullanılmaktadır.[6][7]

Çok değişkenli yöntemler

Her değişkeni bağımsız olarak ele almak

Tek değişkenli dilim örneklemesi, Gibbs örneklemesinde olduğu gibi, her değişkeni sırayla tekrar tekrar örnekleyerek çok değişkenli durumda kullanılabilir. Bunu yapmak, her bileşen için hesaplama yapabilmemizi gerektirir. orantılı bir işlev .

Rastgele yürüme davranışını önlemek için, her değişkeni sırayla güncellemek için aşırı gevşeme yöntemleri kullanılabilir.[kaynak belirtilmeli ] Aşırı gevşeme, Gibbs'te yapıldığı gibi dağılımdan yeni bir bağımsız değer seçmenin aksine, modun karşı tarafında mevcut değerden yeni bir değer seçer.

Hiper dikdörtgen dilim örneklemesi

Bu yöntem, tek boyutlu algoritmayı çok değişkenli duruma uyarlar, tek boyutlu yerine bir hiperdörtgeni yerleştirir. w orijinalde kullanılan bölge. Hiper dikdörtgen H dilim üzerinde rastgele bir konuma başlatılır. H daha sonra puanlar reddedildikçe küçülür.

Yansıtıcı dilim örnekleme

Yansıtıcı dilim örneklemesi, dağıtımın ardışık aday örneklerinin olduğu rastgele yürüme davranışını bastırmak için bir tekniktir. f(x), sınır vurulduktan sonra dilime doğru örnekleme yönünü içe doğru "yansıtarak" dilim sınırları içinde tutulur.

Yansıtıcı örneklemenin bu grafik gösteriminde şekil, örnekleme diliminin sınırlarını gösterir. Noktalar, bir örnekleme yürüyüşünün başlangıç ​​ve bitiş noktalarını gösterir. Örnekler dilimin sınırlarına ulaştığında, örnekleme yönü dilime geri "yansıtılır".

alternatif metin

Misal

Tek değişkenli bir örnek düşünün. Gerçek dağılımımızın bir normal dağılım ortalama 0 ve standart sapma 3 ile, . Yani:. Dağılımın zirvesi belli ki , hangi noktada .

  1. Önce tek tip rastgele bir değer çizeriz y aralığından f(x) dilim (ler) i tanımlamak için. f(x) 0 ile ~ 0.1330 arasındadır, bu nedenle bu iki uç nokta arasındaki herhangi bir değer yeterlidir. Varsayalım ki y = 0.1. Sorun, değerleri olan noktaların nasıl örnekleneceğidir y > 0.1.
  2. Sonra, genişlik parametremizi ayarlıyoruz w değerlendirme bölgemizi genişletmek için kullanacağız. Bu değer keyfidir. Varsayalım w = 2.
  3. Sonra, bir başlangıç ​​değerine ihtiyacımız var x. Çiziyoruz x etki alanı içindeki tekdüze dağılımdan f(x) tatmin eden f(x)> 0.1 (bizim y parametre). Varsayalım x = 2. Bu çalışır çünkü f(2) = ~0.1065 > 0.1.[8]
  4. Çünkü x = 2 ve w = 2, mevcut ilgi alanımız (1, 3) ile sınırlıdır.
  5. Şimdi, bu alanın her bir uç noktası, verilen dilimin dışında olup olmadığını görmek için test edilir. Sağ sınırımız dilimimizin dışında yatıyor (f(3) = ~ 0.0807 <0.1), ancak sol değer değil (f(1) = ~ 0.1258> 0.1). Sol sınırı ekleyerek genişletiyoruz w dilim sınırını geçene kadar ona. Bu süreçten sonra ilgi bölgemizin yeni sınırları (−3, 3).
  6. Sonra, (−3, 3) içinde tek tip bir örnek alıyoruz. Bu örneğin x = −2.9 verdiğini varsayalım. Bu örnek ilgi alanımız dahilinde olmasına rağmen, dilimimizin içinde yer almıyor (f (2.9) = ~ 0.08334 <0.1), bu nedenle ilgi alanımızın sol sınırını bu noktaya değiştiriyoruz. Şimdi (−2.9, 3) 'den tek tip bir örnek alıyoruz. Bu sefer örneğimizin dilimimizdeki x = 1 verdiğini ve bu nedenle dilim örnekleme ile kabul edilen örnek çıktısı olduğunu varsayalım. Bizim yeni x bizim dilimimiz dahilinde değilse, geçerli olana kadar küçültme / yeniden örnekleme sürecine devam edecektik. x sınırlar içinde bulunur.

Dağılımın zirvesiyle ilgileniyorsak, yeni nokta daha yüksek bir noktaya karşılık geldiği için bu süreci tekrar etmeye devam edebiliriz. f(x) orijinal noktadan daha fazla.

Başka bir örnek

Örneklemek için normal dağılım önce bir baş harf seçeriz x— 0 sayın. Her örnekten sonra x Biz seciyoruz y düzenli olarak rastgele , pdf olarak sınırlandırılmıştır . Her birinden sonra y seçtiğimiz örnek x tekdüze olarak rastgele nerede . Bu, nerede .

Bir uygulama Macsyma dil:

dilim(x) := blok([y, alfa], y:rastgele(tecrübe(-x^2 / 2.0) / sqrt(2.0 * dfloat(%pi))), alfa:sqrt(-2.0 * ln(y * sqrt(2.0 * dfloat(%pi)))), x:işaret(rastgele()) * rastgele(alfa));

Ayrıca bakınız

Referanslar

  1. ^ Damlen, P., Wakefield, J. ve Walker, S. (1999). Yardımcı değişkenleri kullanarak Bayesci eşlenik olmayan ve hiyerarşik modeller için Gibbs örneklemesi. Kraliyet İstatistik Derneği Dergisi, Seri B (İstatistiksel Metodoloji), 61 (2), 331-344. Chicago
  2. ^ a b Neal, Radford M. (2003). "Dilim Örnekleme". İstatistik Yıllıkları. 31 (3): 705–767. doi:10.1214 / aos / 1056562461. BAY  1994729. Zbl  1051.65007.
  3. ^ Piskopos, Christopher (2006). "11.4: Dilim örnekleme". Örüntü Tanıma ve Makine Öğrenimi. Springer. ISBN  978-0387310732.
  4. ^ Gilks, W. R .; Wild, P. (1992-01-01). "Gibbs Örneklemesi için Uyarlamalı Reddetme Örneklemesi". Kraliyet İstatistik Derneği Dergisi. Seri C (Uygulamalı İstatistikler). 41 (2): 337–348. doi:10.2307/2347565. JSTOR  2347565.
  5. ^ Hörmann, Wolfgang (1995-06-01). "T-içbükey Dağılımlardan Numune Alma İçin Bir Reddetme Tekniği". ACM Trans. Matematik. Yazılım. 21 (2): 182–193. CiteSeerX  10.1.1.56.6055. doi:10.1145/203082.203089. ISSN  0098-3500.
  6. ^ Gilks, W. R .; En iyi, N. G.; Tan, K. K. C. (1995-01-01). "Gibbs Örneklemesinde Uyarlamalı Reddetme Metropolis Örneklemesi". Kraliyet İstatistik Derneği Dergisi. Seri C (Uygulamalı İstatistikler). 44 (4): 455–472. doi:10.2307/2986138. JSTOR  2986138.
  7. ^ Meyer, Renate; Cai, Bo; Perron, François (2008-03-15). "2. derece Lagrange interpolasyon polinomlarını kullanarak uyarlamalı ret Metropolis örneklemesi". Hesaplamalı İstatistikler ve Veri Analizi. 52 (7): 3408–3423. doi:10.1016 / j.csda.2008.01.005.
  8. ^ Nasıl seçeceğimizi bilmiyorsak x öyle ki f(x) > yiçin hala rastgele bir değer seçebiliriz x, değerlendirmek f(x) ve bunu değerimiz olarak kullanın y. y yalnızca algoritmayı başlatır; Algoritma ilerledikçe, daha yüksek ve daha yüksek değerleri bulacaktır y.

Dış bağlantılar