Относительно того, как вписать данные в асимметричное распределение Вы можете рассчитать оценку максимального правдоподобия из первых принципов. Сначала заметим , что функция плотности вероятности для косого нормального распределения с параметром местоположения , масштаб параметр и форма параметра естьω αξωα
2ωϕ ( x - ξω) Φ ( α ( x - ξ)ω) )
где - стандартная функция нормальной плотности, а - стандартная нормальная CDF. Обратите внимание, что эта плотность является членом класса, описанного в моем ответе на этот вопрос .Φ ( ⋅ )ϕ ( ⋅ )Φ ( ⋅ )
Логарифмическая вероятность, основанная на выборке из независимых наблюдений из этого распределения:N
- п лог( ω ) + ∑я = 1Nжурналϕ ( 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]))
}
Теперь мы просто минимизируем эту функцию (т.е. максимизируем вероятность). Вы можете сделать это без необходимости вычислять производные с помощью Симплексного алгоритма , который является реализацией по умолчанию в 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 (как здесь ), если вы используете оценки максимального правдоподобия во всех конкурирующих подборах. Например, вы могли бы подогнать данные по максимальной вероятности под гамма-распределением и под нормалью асимметрии и посмотреть, оправдывает ли добавленная вероятность дополнительную сложность асимметрии (3 параметра вместо 2). Вы также можете рассмотреть возможность использования одного образца критерия Колмогорова Смирнова для сравнения ваших данных с наилучшей оценкой из семейства косо-нормальных.