В пакете SuppDists есть дистрибутив Johnson. Джонсон даст вам распределение, которое соответствует либо моментам, либо квантилям. Другие комментарии верны, что 4 момента не делает раздачу. Но Джонсон обязательно попробует.
Вот пример подгонки Джонсона к некоторым образцам данных:
require(SuppDists)
## make a weird dist with Kurtosis and Skew
a <- rnorm( 5000, 0, 2 )
b <- rnorm( 1000, -2, 4 )
c <- rnorm( 3000, 4, 4 )
babyGotKurtosis <- c( a, b, c )
hist( babyGotKurtosis , freq=FALSE)
## Fit a Johnson distribution to the data
## TODO: Insert Johnson joke here
parms<-JohnsonFit(babyGotKurtosis, moment="find")
## Print out the parameters
sJohnson(parms)
## add the Johnson function to the histogram
plot(function(x)dJohnson(x,parms), -20, 20, add=TRUE, col="red")
Окончательный сюжет выглядит так:
Вы можете увидеть небольшую проблему, которую другие указывают на то, что 4 момента не полностью отражают распределение.
Удачи!
EDIT
Как указала Хэдли в комментариях, форма Джонсона выглядит отстраненной. Я провел быстрый тест и подгонял распределение Джонсона, используя moment="quant"
, которое соответствует распределению Джонсона, используя 5 квантилей вместо 4 моментов. Результаты выглядят намного лучше:
parms<-JohnsonFit(babyGotKurtosis, moment="quant")
plot(function(x)dJohnson(x,parms), -20, 20, add=TRUE, col="red")
, который производит следующее:
У кого-нибудь есть идеи, почему Джонсон кажется предвзятым, когда подходит, используя моменты?