Ma réponse est le début d'un hack total, mais je ne connais aucun moyen établi de faire ce que vous demandez.
Ma première étape serait de classer par ordre votre ensemble de données, vous pouvez trouver la position proportionnelle dans votre ensemble de données, puis la transformer en une distribution normale, cette méthode a été utilisée dans Reynolds et Hewitt, 1996. Voir l'exemple de code R ci-dessous dans PROCMiracle.
Une fois que la distribution est normale, le problème a été inversé - une question d'ajustement du kurtosis mais pas de l'inclinaison. Une recherche sur Google a suggéré que l'on pouvait suivre les procédures de John & Draper, 1980 pour ajuster le kurtosis mais pas l'inclinaison - mais je n'ai pas pu reproduire ce résultat.
Mes tentatives de développer une fonction d'étalement / rétrécissement brut qui prend la valeur d'entrée (normalisée) et en ajoute ou en soustrait une valeur proportionnelle à la position de la variable sur l'échelle normale entraîne un ajustement monotone, mais en pratique, a tendance à créer une distribution bimodale bien que présentant les valeurs d'asymétrie et de kurtosis souhaitées.
Je me rends compte que ce n'est pas une réponse complète, mais j'ai pensé que cela pourrait fournir un pas dans la bonne direction.
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))))
}