假设我有一个变数变量,我想将其转换为正态分布。哪些转换可以完成此任务?我很清楚,转换数据可能并不总是理想的,但是作为一项学术追求,假设我想将数据“锤击”到正常状态。此外,从图中可以看出,所有值均严格为正。
我已经尝试了各种转换(我以前见过的几乎所有转换,包括等),但是它们都不能很好地工作。是否有使Leptokurtic分布更正常的众所周知的转换?
请参见下面的示例普通QQ图:
假设我有一个变数变量,我想将其转换为正态分布。哪些转换可以完成此任务?我很清楚,转换数据可能并不总是理想的,但是作为一项学术追求,假设我想将数据“锤击”到正常状态。此外,从图中可以看出,所有值均严格为正。
我已经尝试了各种转换(我以前见过的几乎所有转换,包括等),但是它们都不能很好地工作。是否有使Leptokurtic分布更正常的众所周知的转换?
请参见下面的示例普通QQ图:
Answers:
我使用重尾Lambert W x F分布来描述和转换瘦体素数据。有关更多详细信息和参考,请参见以下我的帖子:
这是使用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
的qqplot yy
是非常接近你qqplot在原岗位和数据确实是与你的。因此数据可以由一个兰伯特W¯¯很好地描述为5的峰度略微尖峰厚尾高斯分布与输入和尾部参数(这意味着仅存在阶次为矩)。X 〜Ñ (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
瞧!
在许多情况下,可能根本就没有简单形式的单调变换会产生接近正常值的结果。
例如,假设我们有一个分布,它是各种参数的对数正态分布的有限混合。对数转换会将混合的任何分量转换为正态,但是转换后的数据中的法线混合会给您带来不正常的东西。
或可能有相对不错的转换,但不是您想尝试的一种形式-如果您不知道数据的分布,则可能找不到。例如,如果数据是伽玛分布的,除非我确切地告诉您分布是什么,否则您甚至都不会找到对正态性的确切变换(确实存在)(尽管您可能会偶然发现这种情况下的立方根变换)只要shape参数不是太小,情况就会非常接近正常情况)。
在无数种方法中,数据看起来可以合理地进行转换,但在任何明显的转换列表中看起来都不理想。
如果您可以让我们访问数据,则很可能是我们可以发现可以进行的转换-或可以向您展示为什么找不到一个转换。
仅从那里的视觉印象来看,它看起来就像是两个具有不同比例的法线的混合。仅有一点不对称提示,您很容易偶然发现。这是一个使用两个具有共同均值的法线混合而成的样本的示例-如您所见,它看起来有点像您的情节(但其他样本可能看起来更重或更轻尾)-在此样本大小下,顺序存在很大差异均值两端均超出1 sd的统计信息)。
实际上,这是您和我的叠加: