我可以对偏态正常数据进行假设检验吗?


11

我有一个数据收集,本来以为是正态分布的。然后我实际上查看了一下,意识到不是,主要是因为数据是歪斜的,并且我还进行了shapiro-wilks测试。

我仍然想使用统计方法对其进行分析,因此我想对偏态正态性进行假设检验。

所以我想知道是否有一种方法可以测试偏斜正态性,如果可能的话,还有一个库可以为我做测试。

Answers:


8

关于如何将数据拟合为偏正态分布,您可以根据第一个原理计算最大似然估计量。首先要注意的是用于与位置参数的偏斜正态分布的概率密度函数,尺度参数和形状参数就是ω αξωα

2ωϕX-ξωΦαX-ξω

其中是标准法线密度函数,是标准法线CDF。请注意,此密度是我对此问题的回答中描述的班级的成员。Φ ϕΦ

基于此分布的独立观察值的样本得出的对数似然为:ñ

-ñ日志ω+一世=1个ñ日志ϕX-ξω+日志ΦαX-ξω

事实上,此MLE没有封闭式解决方案。但是,它可以通过数值求解。例如,在中R,您可以将似然函数编码为(请注意,我使它的紧凑度/效率低于使它如何完全透明地计算上面的似然函数的可能性):

set.seed(2345)

# generate standard normal data, which is a special case
n = 100 
X = rnorm(n) 

# Calculate (negative) log likelihood for minimization
# P[1] is omega, P[2] is xi and P[3] is alpha
L = function(P)
{

    # positivity constraint on omega
    if( P[1] <= 0 ) return(Inf)

    S = 0
    for(i in 1:n) 
    {
        S = S - log( dnorm( (X[i] - P[2])/P[1] ) ) 
        S = S - log( pnorm( P[3]*(X[i] - P[2])/P[1] ) ) 
    }


    return(S + n*log(P[1]))
}

现在,我们只是在数值上最小化此函数(即,使可能性最大化)。您可以执行此操作,而不必使用Simplex算法(这是)中optim()软件包的默认实现来计算导数R

关于如何测试偏度:我们可以通过限制并进行似然比测试,显式测试偏态 -正常与正常(因为正常是子模型)。α=0

# log likelihood constraining alpha=0. 
L2 = function(Q) L(c(Q[1],Q[2],0))

# log likelihood from the constrained model
-optim(c(1,1),L2)$value
[1] -202.8816

# log likelihood from the full model
-optim(c(1,1,1),L)$value
[1] -202.0064

# likelihood ratio test statistic
LRT = 2*(202.8816-202.0064)

# p-value under the null distribution (chi square 1)
1-pchisq(LRT,1)
[1] 0.1858265

因此,我们不会拒绝(即无偏斜)的原假设。α=0

这里的比较很简单,因为正态分布是一个子模型。在其他的,更普遍的情况下,你可以通过比较,例如比较歪斜正常到其他参考分布,AIC S(如做在这里),如果你在所有竞争配合使用最大似然估计。例如,您可以在gamma分布和偏斜法线下按最大似然拟合数据,并查看增加的似然度是否证明偏斜法线(3个参数代替2个)的复杂度是合理的。您也可以考虑使用一个样本Kolmogorov Smirnov检验将数据与偏态正态族的最佳拟合估计值进行比较。


1
+1,我认为这是一个清晰,彻底和建设性的答案。我有1 nitpick /关注的最后一段重新使用了AIC。我遇到的各种信息标准都存在一个问题,那就是它们假定所有参数均对模型拟合数据的能力做出同等贡献。在评估不同的多元回归模型时,我认为这很好。但是,如果检查不同类型的分布,先验对我来说还不清楚所有参数是否具有相同的灵活性。因此,我对此感到不舒服。您在这个问题上的立场是什么?
gung-恢复莫妮卡

αα=0α(μ,σ,α

@gung,这是一个好点。我使用AIC作为示例的例子比什么都重要-可以使用其他东西-但我看到人们使用AIC来比较具有不同误差分布的模型,这实际上是在假设所有参数都是“相等”的情况下进行的。您是否看过有关该主题的文献?我会感兴趣的。
2012年

α=0±.9α±αα

1
α

5

我是一名统计专家,已经从事该行业超过30年,在阅读这篇文章之前,我从未听说过偏态正态分布。如果您有高度偏斜的数据,为什么特别要看偏斜法线而不是对数正态或伽玛?任何时候只要有参数分布族,例如gamma,对数正态或偏正态,就可以应用拟合优度检验,例如卡方或Kolmogorov-Smirnov。


5
Azzalini 偏态正态是1985年提出的一种流行分布。它在整个实线上都具有支持。

1
@Procrastinator我知道现在,也许以前应该已经听说过。但是我想我的意思是,由于我从未听说过它,所以它可能比其他倾斜的发行版更加模糊。我得到关于整个实线的支持的观点,而不是我的示例,如果添加了shift参数,该示例仅在[0.∞)或{a,∞)上具有支持。这些分布只是描述数据分布方式的近似值。我们真的知道所有负值都是可能的吗?在实际情况下,数据可能具有上限和下限。
Michael R. Chernick

1
@Procrastinator这与我的评论无关。我说的是,即使可以用无界分布很好地逼近真实数据,它们通常也确实是有界的。
Michael R. Chernick

1
@Procrastinator不完全是。如果给定一组有限的数字,则无法从数据中判断它们是否来自离散分布或连续分布。边界也是如此。我说的是,除了数据之外,您还必须根据所测量的数据严格了解它们是否有界,连续或离散。例如,如果您正在测量一个人的体重,则知道该体重大于0,并超出了身体限制,例如5000磅。
Michael R. Chernick

1
同样,即使重量测量只能确定到一定的小数位数,将重量视为连续也是合理的。现在,如果您要掷硬币10次,您就会知道要获得的正面数目必须是0到10之间的整数(如此离散且有界)。我的观点是,分布范围通常很明显。在确定连续分布和离散分布之间时,还不清楚。
Michael R. Chernick

1

因此,最后我的解决方案是下载fGarch软件包, snormFit并由fGarch提供,以将参数的MLE传递给Skewed-Normal。

然后,使用dsnormfGarch提供的功能将这些参数插入Kolmogorov-Smirnov测试。


如何将MLE和非参数检验Kolmogorov-Smirnov检验结合起来?

我想指出的是,我不知道自己在做什么,只是盲目地徘徊。我假设KS的工作方式像卡方,它考察了我拥有的样本数据与分布本身之间的差异。R的ks.test首先接受样本数据,然后接受分布以及该分布的参数。我使用MLE作为参数。另外,我对卡方运算方式的假设/记忆也可能是错误的……
乌贼

H0λ=0

H0=λ=0H0

1
@Procrastinator基于经验的cdf,有很多适合性测试。Kolmogorov Smirnov就是其中之一。这些测试可用于将经验cdf与任何特定分布进行比较(以及在测试前估算未知参数时进行调整。例如,拒绝分布为正态并不能说明分布有何不同是绝对正确的。要做到这一点,他正式可以测试显著偏斜,然后做了KS或卡方检验歪斜正常调整,可以在多个测试进行为什么如意与OP。?
迈克尔·Chernick

0

查看http://www.egyankosh.ac.in/bitstream/123456789/25807/1/Unit6.pdfhttp://en.wikipedia.org/wiki/Skewness

您可以使用Karl Pearson检验来确定偏斜度。第三矩与标准偏差的三次方之比称为偏度系数。对称分布的偏度= 0


2
我不想弄清楚数据的偏差。我知道它是歪斜的。我想知道我的数据是否遵循偏态正态分布。
乌贼

2
您使用的是哪个软件,R的软件包“ sn”(正常偏斜)包含用于计算ML估计值的函数。我不确定确切的功能-请访问此网站azzalini.stat.unipd.it/SN了解有关R软件包的详细信息
NaN

0

在SPSS中,您可以得到偏度的估计值(通过分析然后进行描述性描述,然后标记偏度),然后获得偏度得分和偏度的SE(标准误差)。将偏度除以其SE,如果您的分数介于正常偏度的+ -1.96之间。如果它没有歪斜,那么那里有很多非参数测试!祝你好运,万事如意!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.