Benim cevabım, toplam hacklemenin başlangıcıdır, ancak sorduğunuz şeyi yapmanın yerleşik bir yolunun farkında değilim.
İlk adım, veri kümenizi sıralamak, veri kümenizdeki oransal konumu bulabilir ve ardından normal bir dağılıma dönüştürebilirsiniz, bu yöntem Reynolds & Hewitt, 1996'da kullanılmıştır. PROCMiracle'te aşağıdaki örnek R koduna bakın.
Dağılım normal olduğunda, sorun kafasına çevrildi - basıklık ayarlaması meselesi ama eğri değil. Google'da yapılan bir arama, birinin basıklığı düzeltmek için John & Draper, 1980'in prosedürlerini takip edebileceğini, ancak çarpıklığı değil - ancak bu sonucu tekrarlayamadığımı önerdi.
Girdi (normalleştirilmiş) değerini alan ve değişkenin normal ölçekte konumuyla orantılı bir değer ekleyen veya çıkaran ham bir serpme / daraltma işlevi geliştirme girişimleri tekdüze bir ayarlama ile sonuçlanır, ancak uygulamada istenen çarpıklık ve basıklık değerlerine sahip bir bimodal dağılım.
Bunun tam bir cevap olmadığını anlıyorum, ama doğru yönde bir adım atabileceğini düşündüm.
PROCMiracle <- function(datasource,normalrank="BLOM")
{
switch(normalrank,
"BLOM" = {
rmod <- -3/8
nmod <- 1/4
},
"TUKEY" = {
rmod <- -1/3
nmod <- 1/3
},
"VW" ={
rmod <- 0
nmod <- 1
},
"NONE" = {
rmod <- 0
nmod <- 0
}
)
print("This may be doing something strange with NA values! Beware!")
return(scale(qnorm((rank(datasource)+rmod)/(length(datasource)+nmod))))
}