İlk önce içinde örneklemek istediğinizi varsayalım
x + y + z = 1
0 ≤ x ≤ 1
0 ≤ y ≤ 1
0 ≤ z ≤ 1
Bu, bir fark yaratmaz, çünkü numune noktası talep ettiğiniz alanda yüksek olasılıkla yatmaya devam edecektir.
Şimdi bir simpleks noktasından bir örnekleme ile kaldı . 3B örneğinde, 3B'de gerçekleştirilen 2d tek taraflı (üçgen) elde edersiniz.
Bu blog yazısında rastgele eşit bir nokta nasıl seçildi (yorumlara bakınız).
Sorununuz için aralıktan ( 0 , 1 ) rasgele sayı almanız, ardından sayılarının bir listesini almak için 0 ve 1 ekleyeceğiniz anlamına gelir . Listeyi sıralar ve ardışık iki öğe arasındaki farkları kaydedersiniz. Bu size kadar olan sayısının bir listesini verir . Üstelik bu örnekleme tek tip. Bu fikir, Donald B. Rubin'de, Bayesyen bootstrap Ann'de bulunabilir. Devletçi. 9, 1981, 130-134.n−1(0,1)01n+1n1
Örneğin ( ) üç rastgele sayıya sahipsiniz, daha sonra sıralı diziyi elde edersiniz ve bu farkları verir ve bu dört sayıyı inşa ederek 1'e kadar toplar.n=40.4 0.2 0.1
0 0.1 0.2 0.4 1
0.1 0.1 0.2 0.6
Başka bir yaklaşım şudur: ilk önce hiperküpten numune (ki onu unutursun x+y+z=1
) ve sonra numune noktasını normalleştir. Normalizasyon bir çıkıntıdır için -hypercube -simplex. Simpleksin ortasındaki noktaların dıştan ziyade "görüntü-ön-noktalarına" sahip olduğu sezgisel olarak anlaşılmalıdır . Bu nedenle, hiper küpten düzenli olarak örnek alırsanız, bu size simpleks'te muntazam bir örnekleme vermeyecektir. Ancak, uygun bir Üstel Dağılıma sahip hiper küpten örnek alırsanız, bu etki ortadan kalkar. Şekil size her iki yöntemin nasıl örnekleyeceği hakkında bir fikir vermektedir. Ancak, basit şekli nedeniyle "sıralama" yöntemini tercih ederim. Uygulaması da daha kolay.dd−1