Як перетворити лептокуртичний розподіл у нормальність?


12

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

Я спробував різноманітні перетворення (майже все, що я бачив раніше, включаючи тощо), але жодна з них не працює особливо добре. Чи існують відомі перетворення для того, щоб зробити лептокуртичні розподіли більш нормальними?1X,X,asinh(X)

Дивіться приклад Нормальний QQ графік нижче:

введіть тут опис зображення


5
Чи знайомі ви з інтегральним перетворенням ймовірності ? На нього посилаються в декількох потоках на цьому сайті , якщо ви хочете бачити його в дії.
whuber

8
Вам потрібно щось, що працює симетрично (змінна "середина"), одночасно поважаючи знак. Нічого, що ви намагалися, не підходить, якщо у вас немає "середини". Використовуйте медіану для "середини" та спробуйте куб корінь відхилень, пам'ятаючи, щоб реалізувати кубічний корінь як знак (.) * Abs (.) ^ (1/3). Ніяких гарантій і дуже ad hoc, але це має просуватися в правильному напрямку.
Нік Кокс

1
А, що змушує вас називати цього платикуртіка? Якщо я щось не пропустив, схоже, що у нього куртоз вищий, ніж у норми.
Glen_b -Встановити Моніку

3
@Glen_b Я думаю, що це правильно: це лептокуртик. Але обидва ці терміни досить нерозумні, за винятком того, що вони дозволяють посилатися на оригінальний мультфільм Студента з Біометріки . Критерій - куртоз; значення високі або низькі або (ще краще) кількісно оцінені.
Нік Кокс

3
Чому лептокуртик описується як «тонкий хвіст»? Хоча між товщиною хвоста і куртозом немає необхідної залежності, загальна тенденція пов'язана з тим, що важкі хвости асоціюються з куртозом (наприклад, порівняйте з нормальною, для стандартизованої густоти)t6
Glen_b -Встановити Моніку

Відповіді:


12

Я використовую важкі хвостові розподіли 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 of yyдуже близький до вашого qqplot в початковому дописі, і дані справді трохи лептокуртичні з куртозом 5. Отже, ваші дані можуть бути добре описані розподілом Ламберта W Гаусса з входом і хвостовий параметр (що означає, що існують лише моменти до порядку ).X N ( 2000 , 400 ) δ = 0,2 5×XN(2000,400)δ=0.25

Тепер повернемося до вашого питання: як зробити ці лептокуртичні дані знову нормальними? Що ж, ми можемо оцінити параметри розподілу за допомогою 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()) для зворотної трансформації даних на вхід , який - за задумом - повинен бути дуже близьким до нормального.X

# 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

Вуаля!


Я фанат, і почав працювати над науково-дослідною
Грег Вер Стіг

Георг, чи можна вам надати більш інтуїтивне пояснення того, як працює ваша трансформація?
азурик

@azuric Він заснований на зворотному перетворенні , де - стандартна нормальна випадкова величина. Не вдаючись у деталі (див. Документи для довідок), слід зрозуміти, що для випадкова величина має важкі хвости. тому все, що вам потрібно зробити, спостерігаючи за великими хвостими даними, - це знайти зворотну трансформацію, щоб повернути "нормальні" дані. U δ > 0 ZZ=Uexp(δ/2U2)Uδ>0Z
Георг М.

9

За цю відповідь належить пропозиція @ NickCox у розділі коментарів оригінального запитання. Він запропонував мені відняти медіану даних і застосувати перетворення до відхилень. Наприклад, , з аргументом . Y-медіана(Y)sign(.)abs(.)13Ymedian(Y)

Хоча трансформація кореня куба не вийшла добре, виявляється квадратний корінь і більш чіткі три чверті кореня добре працюють.

Тут був вихідний графік щільності ядра, відповідний графіку QQ лептокуртичної змінної у вихідному питанні:

введіть тут опис зображення


Після застосування перетворення квадратного кореня до відхилень графік QQ виглядає приблизно так:

введіть тут опис зображення

Краще, але це може бути і ближче.


Забивши ще трохи, застосувавши триквартальне кореневе перетворення до відхилень, дає:

введіть тут опис зображення


І кінцева щільність ядра цієї трансформованої змінної виглядає приблизно так:

введіть тут опис зображення

Дивиться мені близько.


8

У багатьох випадках просто не може бути монотонного перетворення простої форми, яке дасть результат, близький до нормального.

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

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

Існує безліч способів, за якими дані можуть виглядати підданими трансформації, але це не дуже добре в жодному списку очевидних перетворень.

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

Щойно з візуального враження там, це схоже на суміш двох нормалей з різними масштабами. Є лише незначний натяк на асиметрію, який ви могли легко помітити випадково. Ось приклад зразка із суміші двох нормалів із загальним середнім значенням - як ви бачите, це схоже на ваш сюжет (але інші зразки можуть виглядати важче чи легше хвостиком - при такому розмірі вибірки в порядку є велика кількість варіацій статистика поза 1 sd з обох сторін середнього).

введіть тут опис зображення

Насправді ось ваше і моє накладене:

введіть тут опис зображення


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