Olasılık yoğunluğunun ortalamadan bir noktadan sonra hızla azaldığı veya kendi sözlerime göre "plato şeklindeki bir dağılım" olan bir dağıtım arıyorum.
Gauss ile üniforma arasında bir şey var.
Olasılık yoğunluğunun ortalamadan bir noktadan sonra hızla azaldığı veya kendi sözlerime göre "plato şeklindeki bir dağılım" olan bir dağıtım arıyorum.
Gauss ile üniforma arasında bir şey var.
Yanıtlar:
Genelleştirilmiş normal (sürüm 1) , Subbotin dağılımı veya üstel güç dağılımı adı altında bilinen dağıtımı arıyor olabilirsiniz . Yer , ölçek σ ve şekil β ile pdf ile parametreleştirilir
fark edebileceğiniz gibi, için Laplace dağılımına benzer ve yakınlaşır, β = 2 ile normale, β = ∞ ise düzgün dağılım gösterir.
Uyguladığı yazılımı arıyorsanız, normalp
R kütüphanesini kontrol edebilirsiniz (Mineo ve Ruggieri, 2005). Bu pakette hoş olan şey, diğer şeylerin yanı sıra, genelleştirilmiş normal dağılmış hatalarla regresyon uygulamasının yani normunu en aza indirmesidir .
Mineo, AM, & Ruggieri, M. (2005). Üstel güç dağıtımı için bir yazılım aracı: Normal paket. İstatistiksel Yazılım Dergisi, 12 (4), 1-24.
@ StrongBad'ın yorumu gerçekten iyi bir öneri. Tek tip bir RV ve gaussian RV'nin toplamı, eğer parametreleri doğru seçerseniz tam olarak aradığınızı verebilir. Ve aslında oldukça hoş bir kapalı form çözümü var.
Bu değişkenin pdf'si şu ifade ile verilir:
, sıfır-ortalama üniform RV'nin "yarıçapı" dır. σ , sıfır-ortalama gauss RV'nin standart sapmasıdır.
Sonsuz sayıda "plato şeklindeki" dağılım var.
"Gauss ve üniforma arasındaki" den daha özel bir şeyden sonra mıydınız? Bu biraz belirsiz.
İşte kolay olanı: Üniformanın her iki ucuna her zaman yarı-normal bir şekilde yapışabilirsiniz:
Normalin skalasına göre üniformanın "genişliğini" kontrol edebilirsiniz, böylece Gaussian ve sınırlayıcı durumlar olarak üniformayı da içeren bütün bir dağılım sınıfını vererek daha geniş veya daha dar platolara sahip olabilirsiniz.
Yoğunluk:
Belki de bu yoğunluğu "Gauss kuyruklu üniforma" olarak adlandırabiliriz.
Buradaki "Şeytan kulesi" dağıtımımı görün [1]:
"Kayma-elbise" dağılımı daha da ilginç.
İstediğiniz şekle sahip dağılımları oluşturmak kolaydır.
[1]: Westfall, PH (2014)
"Zirve Gibi Kurtoz, 1905 - 2014. RIP"
Am. Stat. 68 (3): 191-195. doi: 10.1080 / 00031305.2014.917055
herkese açık erişim pdf: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4321753/pdf/nihms-599845.pdf
Bir diğeri ( EDIT : Şimdi basitleştirdim. EDIT2 : Şimdi daha da basitleştirdim, ancak resim gerçekten bu tam denklemi yansıtmıyor):
İşte R bazı örnek kod:
f = function(x, a, b, alpha){
y = log((cosh(2*alpha*pi*a)+cosh(2*alpha*pi*x))/(cosh(2*alpha*pi*b)+cosh(2*alpha*pi*x)))
y = y/pi/alpha/6
return(y)
}
f
bizim dağıtımımız. Bir dizi için onu çizelimx
plot(0, type = "n", xlim = c(-5,5), ylim = c(0,0.4))
x = seq(-100,100,length.out = 10001L)
for(i in 1:10){
y = f(x = x, a = 2, b = 1, alpha = seq(0.1,2, length.out = 10L)[i]); print(paste("integral =", round(sum(0.02*y), 3L)))
lines(x, y, type = "l", col = rainbow(10, alpha = 0.5)[i], lwd = 4)
}
legend("topright", paste("alpha =", round(seq(0.1,2, length.out = 10L), 3L)), col = rainbow(10), lwd = 4)
Konsol çıkışı:
#[1] "integral = 1"
#[1] "integral = 1"
#[1] "integral = 1"
#[1] "integral = 1"
#[1] "integral = 1"
#[1] "integral = 1"
#[1] "integral = 1"
#[1] "integral = NaN" #I suspect underflow, inspecting the plots don't show divergence at all
#[1] "integral = NaN"
#[1] "integral = NaN"
Ve arsa:
Değişebilir a
ve b
yaklaşık olarak eğimin başlangıcını ve sonunu değiştirebilirsiniz, ancak daha sonra normalleşmeye ihtiyaç duyulur ve bunu hesaplamazdım (bu yüzden kullanıyorum a = 2
ve b = 1
arsada kullanıyorum).
Çok basit bir şey arıyorsanız, merkezi bir plato ve bir üçgen dağılımının kenarları ile, örneğin plato ve iniş arasında istenen orana bağlı olarak N üçgen dağılımını birleştirebilirsiniz. Neden üçgenler, çünkü örnekleme fonksiyonları zaten birçok dilde var. Bunlardan birinden rasgele sıralama yapıyorsunuz.
R'de ki:
library(triangle)
rplateau = function(n=1){
replicate(n, switch(sample(1:3, 1), rtriangle(1, 0, 2), rtriangle(1, 1, 3), rtriangle(1, 2, 4)))
}
hist(rplateau(1E5), breaks=200)
İşte güzel bir tane: iki lojistik fonksiyonun ürünü.
(1/B) * 1/(1+exp(A*(x-B))) * 1/(1+exp(-A*(x+B)))
Bunun parçalara ayrılmaması avantajına sahiptir.
B, genişliği ve A ise düşmenin dikliğini ayarlar. Aşağıda A = 2 ile B = 1: 6'dır. Not: Bunun nasıl doğru şekilde normalleştirileceğini bulmak için zaman ayırmadım.