Làm thế nào để chuyển đổi phân phối leptokurtic thành bình thường?


12

Giả sử tôi có một biến leptokurtic mà tôi muốn chuyển đổi thành bình thường. Những biến đổi nào có thể hoàn thành nhiệm vụ này? Tôi nhận thức rõ rằng việc chuyển đổi dữ liệu có thể không phải lúc nào cũng được mong muốn, nhưng như một sự theo đuổi học thuật, giả sử tôi muốn "đập" dữ liệu thành sự bình thường. Ngoài ra, như bạn có thể nói từ cốt truyện, tất cả các giá trị đều hoàn toàn tích cực.

Tôi đã thử một loạt các biến đổi (gần như mọi thứ tôi đã thấy trước đây, bao gồm , v.v.), nhưng không ai trong số họ hoạt động đặc biệt tốt. Có những biến đổi nổi tiếng để làm cho phân phối leptokurtic bình thường hơn?1X,X,asinh(X)

Xem ví dụ về cốt truyện QQ bình thường dưới đây:

nhập mô tả hình ảnh ở đây


5
Bạn có quen thuộc với biến đổi tích phân xác suất ? Nó đã được viện dẫn trong một vài chủ đề trên trang web này , nếu bạn muốn thấy nó hoạt động.
whuber

8
Bạn cần một cái gì đó hoạt động đối xứng trên (biến "giữa") trong khi cũng tôn trọng dấu hiệu. Không có gì bạn đã cố gắng đến gần nếu bạn không có "giữa". Sử dụng trung bình cho "giữa" và thử căn bậc ba của độ lệch, nhớ thực hiện gốc khối như dấu (.) * Abs (.) ^ (1/3). Không đảm bảo và rất đặc biệt, nhưng nó nên đi đúng hướng. -
Nick Cox

1
Uh, điều gì làm cho bạn gọi đó là thú mỏ vịt? Trừ khi tôi bỏ lỡ điều gì đó, có vẻ như nó bị tổn thương cao hơn bình thường.
Glen_b -Reinstate Monica

3
@Glen_b Tôi nghĩ là đúng: đó là leptokurtic. Nhưng cả hai thuật ngữ này đều khá ngớ ngẩn, ngoại trừ cho đến khi chúng cho phép tham khảo phim hoạt hình gốc của Student in Biometrika . Tiêu chí là kurtosis; các giá trị cao hoặc thấp hoặc (thậm chí tốt hơn) được định lượng.
Nick Cox

3
Tại sao leptokurtic được mô tả là "đuôi mỏng"? Mặc dù không có mối quan hệ cần thiết giữa độ dày của đuôi và kurtosis, xu hướng chung là các đuôi nặng có liên quan đến kurtosis (ví dụ so sánh với bình thường, về mật độ tiêu chuẩn)t6
Glen_b -Reinstate Monica

Câu trả lời:


12

Tôi sử dụng các bản phân phối Lambert W x F đuôi nặng để mô tả và biến đổi dữ liệu leptokurtic. Xem (của tôi) bài viết sau để biết thêm chi tiết và tham khảo:

Dưới đây là một ví dụ có thể tái tạo bằng cách sử dụng gói 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)

kiểm tra tính chuẩn của dữ liệu gốc

## $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

yy×X~N(2000,400)δ= =0,25

Bây giờ trở lại câu hỏi của bạn: làm thế nào để làm cho dữ liệu leptokurtic này trở lại bình thường? Chà, chúng ta có thể ước tính các tham số của phân phối bằng MLE (hoặc cho các phương thức sử dụng khoảnh khắc 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)

kiểm tra tính chuẩn của dữ liệu Gaussianized

## $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

Voila!


Tôi là một người hâm mộ và bắt đầu làm việc trên một phiên bản giống như scikit-learn cho python: github.com/gregversteeg/gaussianize
Greg Ver Steeg

Georg có thể cho bạn một lời giải thích trực quan hơn về cách biến đổi của bạn hoạt động không?
azuric

Z= =Bạnđiểm kinh nghiệm(δ/2Bạn2)Bạnδ>0Z

9

ký tên(.)cơ bụng13Y-Trung bình(Y)

Mặc dù chuyển đổi gốc khối không hoạt động tốt, nhưng hóa ra căn bậc hai và phần ba gốc tối nghĩa hơn hoạt động tốt.

Đây là biểu đồ mật độ hạt nhân ban đầu tương ứng với biểu đồ QQ của biến leptokurtic trong câu hỏi ban đầu:

nhập mô tả hình ảnh ở đây


Sau khi áp dụng chuyển đổi căn bậc hai cho các độ lệch, cốt truyện QQ trông như thế này:

nhập mô tả hình ảnh ở đây

Tốt hơn, nhưng nó có thể gần hơn.


Rèn thêm một số chi tiết, áp dụng chuyển đổi gốc ba phần tư cho các độ lệch cho:

nhập mô tả hình ảnh ở đây


Và mật độ hạt nhân cuối cùng của biến được chuyển đổi này trông như thế này:

nhập mô tả hình ảnh ở đây

Có vẻ gần gũi với tôi.


8

Trong nhiều trường hợp, có thể đơn giản là không có phép biến đổi đơn điệu ở dạng đơn giản sẽ tạo ra kết quả gần như bình thường.

Ví dụ, hãy tưởng tượng rằng chúng ta có một phân phối là một hỗn hợp hữu hạn của các phân phối logic bất thường của các tham số khác nhau. Một biến đổi nhật ký sẽ biến đổi bất kỳ thành phần nào của hỗn hợp thành quy tắc, nhưng hỗn hợp các quy tắc trong dữ liệu được chuyển đổi sẽ cho bạn một thứ không bình thường.

Hoặc có thể có biến đổi tương đối tốt, nhưng không phải là một trong những hình thức bạn nghĩ sẽ thử - nếu bạn không biết phân phối dữ liệu, bạn có thể không tìm thấy nó. Ví dụ: nếu dữ liệu được phân phối gamma, bạn thậm chí sẽ không tìm thấy biến đổi chính xác thành quy tắc (chắc chắn tồn tại) trừ khi tôi cho bạn biết chính xác phân phối là gì (mặc dù bạn có thể vấp phải sự biến đổi của khối lập phương trong đó trường hợp sẽ làm cho nó khá gần với bình thường miễn là tham số hình dạng không quá nhỏ).

Có vô số cách mà dữ liệu có thể trông có thể thay đổi một cách hợp lý để được chuyển đổi nhưng nó không tuyệt vời trong bất kỳ danh sách các biến đổi rõ ràng nào.

Nếu bạn có thể cung cấp cho chúng tôi quyền truy cập vào dữ liệu, thì có thể là chúng tôi có thể phát hiện ra một phép biến đổi không sao - hoặc chúng tôi có thể chỉ cho bạn lý do tại sao bạn sẽ không tìm thấy.

Chỉ từ ấn tượng thị giác ở đó, nó trông giống như một hỗn hợp của hai quy tắc với quy mô khác nhau. Chỉ có một gợi ý nhỏ về sự bất đối xứng, mà bạn có thể dễ dàng quan sát thấy. Đây là một ví dụ về một mẫu từ hỗn hợp của hai quy tắc có nghĩa thông thường - như bạn thấy nó trông khá giống với âm mưu của bạn (nhưng các mẫu khác có thể trông nặng hơn hoặc đuôi nhẹ hơn - ở cỡ mẫu này có rất nhiều biến thể theo thứ tự thống kê bên ngoài 1 sd hai bên của giá trị trung bình).

nhập mô tả hình ảnh ở đây

Trong thực tế đây là của bạn và của tôi chồng lên nhau:

nhập mô tả hình ảnh ở đây


Nó chắc chắn trông giống như một hỗn hợp của hai phân phối bình thường có quy mô khác nhau, quan sát tuyệt vời.
Underminer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.