Чи можу я перевірити гіпотезу щодо перекосу нормальних даних?


11

У мене є колекція даних, яку, на мою думку, спочатку я вважав звичайною. Тоді я насправді переглянув це і зрозумів, що це не так, головним чином через те, що дані перекошені, і я також зробив тест на шапіро-вілкс.

Я все одно хотів би проаналізувати це за допомогою статистичних методів, і тому я хотів би зробити тест на гіпотезу щодо перекосу нормальності.

Тож я хотів би знати, чи є спосіб перевірити нормальність перекосу, і, якщо можливо, бібліотеку зробити тест для мене.

Відповіді:


8

Щодо того, як підігнати дані до нормального косого розподілу, ви можете обчислити максимальну оцінку ймовірності за першими принципами. Спочатку зауважимо , що функція щільності ймовірності для косого нормального розподілу з параметром розташування , масштаб параметр і форма параметра єω αξωα

2ωϕ(xξω)Φ(α(xξω))

де є стандартною функцією нормальної щільності, а - стандартною нормальною CDF. Зауважте, що ця щільність є членом класу, описаного в моїй відповіді на це запитання .Φ ( )ϕ()Φ()

Імовірність журналу, заснована на вибірці незалежних спостережень з цього розподілу, є:n

nlog(ω)+i=1nlogϕ(xξω)+logΦ(α(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 (як це зроблено тут ), якщо ви використовуєте максимальну оцінку ймовірності у всіх конкуруючих підходах. Наприклад, ви можете встановити дані за максимальною вірогідністю при розподілі гами та під нормальним перекосом і побачити, чи додана ймовірність виправдовує додаткову складність перекосу нормально (3 параметри замість 2). Ви також можете розглянути можливість використання одного зразка тесту Колмогорова Смірнова для порівняння ваших даних з найкращою оцінкою з сімейства косого.


1
+1, я вважаю, що це чітка, ретельна та конструктивна відповідь. У останньому пункті у мене є 1 нітрик / занепокоєння щодо використання АПК. Проблема, в якій я маю різні інформаційні критерії, полягає в тому, що вони передбачають, що всі параметри однаково сприяють здатності моделі підходити до даних. Оцінюючи різні моделі множинної регресії, я думаю, що це нормально; однак якщо вивчати різні типи розподілів, мені апріорі не зрозуміло, що всі параметри забезпечують однакову гнучкість. Таким чином, мені незручно ж / що. Яка ваша позиція щодо цього питання?
gung - Відновіть Моніку

+1 Я просто злегка стурбований деякими проблемами, пов'язаними з перекосом Azzalini, такими як: (1) інформаційна матриця Фішера , параметр косості, є сингулярною при що вказує на інфекційні проблеми в цей момент, особливо коли використання статистики коефіцієнта ймовірності; (2) Імовірність профілю як правило, дуже плоска ; (3) Він має дві точки перегину, а для деяких наборів даних спільний MLE не існує. α = 0 α ( μ , σ , α )αα=0α(μ,σ,α)

@gung, це хороший момент. Я використовував AIC як приклад більше за все - щось інше можна було б використовувати - але я бачив, як люди використовують AIC для порівняння моделей з різними розподілами помилок, що фактично робить це те саме припущення, що всі параметри "створені рівними". Ви бачили якусь літературу на цю тему? Мені було б цікаво.
Макрос

@Procrastinator, коли , ви маєте регулярний нормальний розподіл як підмодель. Це порівняння нескладно зробити без перевернення інформації про рибалки. Re: (2), так, це правда, також правда, що рівень косості, який можна досягти при такому розподілі, досить скромний (максимум приблизно в що відбувається як розходиться до ), так що в будь-який час набір даних відображає цей рівень перекосу, ймовірність виникнення буде досить рівною (тобто повільно зростає, як розходиться). Я припускаю, що останнє зауваження було також пов'язане з (3)± .9 α ± α αα=0±.9α±αα
Макросом

1
@Macro Дякую за це. Це також залежить від того, як ви вимірюєте скосистість, в даний час заходи, що базуються на моменті, зараз не дуже застосовуються, оскільки вони існують лише для розподілених на лігті розподілів. Проблема також полягає в тому, що ймовірність профілю має дві точки перегину (як показано в моєму першому посиланні). На веб-сайті Azzalini він також згадує, що MLE не існує для деяких наборів даних, які він також характеризує. Це делікатний момент щодо цього розподілу, який викликав багато критики. Дякую за обговорення α

5

Я статистик, який працюю в цій професії більше 30 років, і до того, як прочитати цю публікацію, я ніколи не чув про нормальний розподіл перекосів. Якщо у вас є дуже перекошені дані, то чому саме ви хочете дивитися на перекос звичайного на відміну від логічного чи гамма? Кожен раз, коли у вас є параметричне сімейство розподілів, таких як гамма, лонормальне або нормальне перекос, ви можете застосувати тест на придатність, наприклад, хі-квадрат або Колмогоров-Смірнов.


5
Косий Azzalini normal є популярним розповсюдженням, запропонованим у 1985 році. Він підтримує цілу реальну лінію.

1
@Procrastinator Я знаю, що зараз і, мабуть, мав про це чути раніше. Але я здогадуюсь, моя думка полягає в тому, що, оскільки я не чув про нього, можливо, це трохи більш незрозуміло, ніж інші перекошені дистрибуції. Я отримую думку про підтримку по всьому реальному рядку на відміну від моїх прикладів, які мають підтримку лише в [0.∞) або {a, ∞), якщо додано параметр shift. Ці розподіли - це лише наближення до опису розповсюдження даних. Чи ми справді знаємо, що можливі всі негативні значення? У практичних випадках дані, ймовірно, мають нижню та верхню межі.
Майкл Р. Черник

1
@Procrastinator Це не має нічого спільного з моїм коментарем. Я кажу, що реальні дані часто дійсно обмежені навіть тоді, коли їх можна добре наблизити до необмежених розподілів.
Майкл Р. Черник

1
@Procrastinator Не зовсім. Якщо вам призначений кінцевий набір чисел, ви не можете визначити з даних, походять вони від дискретного чи безперервного поширення. Те саме стосується обмеженості. Я кажу, що окрім даних, ви б чітко знали, виходячи з того, що ви вимірюєте, чи є вони обмеженими, безперервними чи дискретними. Якщо, наприклад, ви вимірюєте вагу людини, ви знаєте, що вага перевищує 0 і обмежений вище фізичними обмеженнями, наприклад, 5000 фунтів.
Майкл Р. Черник

1
Навіть незважаючи на те, що вимірювання ваги можна визначити лише до певної кількості десяткових знаків, розумно трактувати вагу як безперервне. Тепер, якщо ви збираєтеся перевернути монету в 10 разів, ви знаєте, що кількість головок, які ви отримаєте, має бути цілим числом від 0 до 10 (так дискретно і обмежено). Моя думка, що межі розподілу зазвичай дуже очевидні. Це не так зрозуміло при вирішенні між безперервними та дискретними розподілами.
Майкл Р. Черник

1

Тож моїм рішенням було врешті-решт завантажити пакет fGarch , який snormFitнадав fGarch, щоб отримати MLE для параметрів Skewed-Normal.

Потім я підключив ці параметри з dsnormфункцією, наданою fGarch, до тесту Колмогорова-Смірнова.


Як можна комбінувати MLE та тест Колмогорова-Смірнова, що є непараметричним тестом?

Я хотів би зазначити, що я поняття не маю, що роблю, і просто сліпо блукаю. Я припускав, що KS працює як чі-квадрат, і він розглядав відмінності між тим, які вибіркові дані у мене є, і яким повинен бути сам розподіл. R's ks.test приймає спочатку вибіркові дані, а потім розподіл разом з параметрами цього розподілу. Я використовував MLE в якості параметрів. Крім того, моє припущення / нагадування про те, як працює Chi-квадрат, також могло бути помилковим ...
Squidly

Я думаю, що ви повинні бути обережними з таким підходом. По-перше, ви повинні відповісти: чи хочете ви провести тест на придатність для перевірки нормальності своїх даних? або ви хочете перевірити, чи нормальні дані чи перекоси нормально, тобто ? H0:λ=0

Другий Я припускав, що якщо придатність буде досить поганою, я отримаю крихітне значення P, і я могла б із задоволенням відхилити . Що я і зробив. H 0H0=λ=0H0
Кальмар

1
@Procrastinator Існує багато корисних тестів на відповідність на основі емпіричного cdf. Колмогоров Смирнов - один. Цей тест може бути використаний для порівняння емпіричного cdf з будь-яким конкретним розподілом (і з коригуваннями, коли невідомі параметри оцінюються перед тестуванням. Ви абсолютно праві, що, відхиляючи розподіл на нормальність, наприклад, не говорить про те, чим відрізняються розподіли. Але MrBones, якщо він хоче зробити це формально, він може перевірити на наявність значущого нахилу, а потім зробити тест на КС чи чі на предмет нормального перекосу. Коригування можна зробити для багаторазового тестування. Навіщо бути контрабандою з ОП?
Майкл Р. Черник

0

Перевірте http://www.egyankosh.ac.in/bitstream/123456789/25807/1/Unit6.pdf та http://en.wikipedia.org/wiki/Skewness

Ви можете використати тест Карла Пірсона на скосистість. Відношення третього моменту до куба стандартного відхилення називається коефіцієнтом косості. Симетричні розподіли мали б нахил = 0


2
Я не хочу розробляти перекоси моїх даних. Я знаю, що це перекос. Я хочу знати, чи мої дані відповідають нормальному перекосу.
Кальмар

2
Яке програмне забезпечення ви використовуєте, R має пакет 'sn' (перекос звичайного), який містить функції, які обчислюють оцінки ML. Я не впевнений у точних функціях, проте - перегляньте цей сайт azzalini.stat.unipd.it/SN для детальної інформації про пакет R
NaN

0

у SPSS ви можете отримати оцінку косості (перейшовши на аналіз, потім описуючи, а потім позначивши косисть), тоді ви отримаєте оцінку косості та SE (стандартна помилка) косості. Розділіть нахил на його SE, і якщо ваш показник буде від + -1,96, його зазвичай перекос. Якщо його не перекосують, то там існує безліч непараметричних тестів! Удачі та всього найкращого!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.