私が使用して重い尾ランバートWをF分布をxは急尖データを記述して変換します。詳細と参照については、次の投稿を参照してください:
以下は、LambertW Rパッケージを使用した再現可能な例です。
library(LambertW)
set.seed(1)
theta.tmp <- list(beta = c(2000, 400), delta = 0.2)
yy <- rLambertW(n = 100, distname = "normal",
theta = theta.tmp)
test_norm(yy)
## $seed
## [1] 267509
##
## $shapiro.wilk
##
## Shapiro-Wilk normality test
##
## data: data.test
## W = 1, p-value = 0.008
##
##
## $shapiro.francia
##
## Shapiro-Francia normality test
##
## data: data.test
## W = 1, p-value = 0.003
##
##
## $anderson.darling
##
## Anderson-Darling normality test
##
## data: data
## A = 1, p-value = 0.01
yy
×バツ〜N(2000 、400 )δ= 0.2≤ 5
さて、あなたの質問に戻りましょう。このレプトカーティックデータを再び正常にする方法は?さて、MLEを使用して(またはモーメント法を使用してIGMM()
)分布のパラメーターを推定できます。
mod.Lh <- MLE_LambertW(yy, distname = "normal", type = "h")
summary(mod.Lh)
## Call: MLE_LambertW(y = yy, distname = "normal", type = "h")
## Estimation method: MLE
## Input distribution: normal
##
## Parameter estimates:
## Estimate Std. Error t value Pr(>|t|)
## mu 2.05e+03 4.03e+01 50.88 <2e-16 ***
## sigma 3.64e+02 4.36e+01 8.37 <2e-16 ***
## delta 1.64e-01 7.84e-02 2.09 0.037 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## --------------------------------------------------------------
##
## Given these input parameter estimates the moments of the output random variable are
## (assuming Gaussian input):
## mu_y = 2052; sigma_y = 491; skewness = 0; kurtosis = 13.
W_delta()
バツ
# get_input() handles does the right transformations automatically based on
# estimates in mod.Lh
xx <- get_input(mod.Lh)
test_norm(xx)
## $seed
## [1] 218646
##
## $shapiro.wilk
##
## Shapiro-Wilk normality test
##
## data: data.test
## W = 1, p-value = 1
##
##
## $shapiro.francia
##
## Shapiro-Francia normality test
##
## data: data.test
## W = 1, p-value = 1
##
##
## $anderson.darling
##
## Anderson-Darling normality test
##
## data: data
## A = 0.1, p-value = 1
出来上がり!