Tôi có thể kiểm tra giả thuyết cho dữ liệu bình thường không?


11

Tôi có một bộ sưu tập dữ liệu, mà ban đầu tôi nghĩ là thường được phân phối. Sau đó, tôi thực sự nhìn vào nó và nhận ra rằng nó không phải, chủ yếu là do dữ liệu bị sai lệch, và tôi cũng đã làm một bài kiểm tra shapiro-wilks.

Tôi vẫn muốn phân tích nó bằng các phương pháp thống kê, và vì vậy tôi muốn kiểm tra giả thuyết về tính chuẩn.

Vì vậy, tôi muốn biết liệu có cách nào để kiểm tra tính bình thường không, và nếu có thể, một thư viện để làm bài kiểm tra cho tôi.

Câu trả lời:


8

Về cách điều chỉnh dữ liệu phù hợp với phân phối chuẩn-lệch Bạn có thể tính toán ước tính khả năng tối đa từ các nguyên tắc đầu tiên. Lưu ý đầu tiên mà hàm mật độ xác suất của phân phối chuẩn nghiêng với tham số vị trí , thông số quy mô ω và tham số hình dạng αξωα

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

nơi là tiêu chuẩn hàm mật độ bình thường và Φ ( ) là CDF bình thường tiêu chuẩn. Lưu ý rằng mật độ này là một thành viên của lớp được mô tả trong câu trả lời của tôi cho câu hỏi này .ϕ()Φ()

Khả năng đăng nhập dựa trên mẫu quan sát độc lập từ phân phối này là:n

nlog(ω)+i=1nlogϕ(xξω)+logΦ(α(xξω))

Thực tế là không có giải pháp dạng đóng cho MLE này. Nhưng, nó có thể được giải quyết bằng số. Ví dụ: trong R, bạn có thể mã hóa hàm khả năng như (lưu ý, tôi đã làm cho nó nhỏ gọn / hiệu quả hơn mức có thể để làm cho nó hoàn toàn minh bạch về cách tính toán hàm khả năng ở trên):

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]))
}

Bây giờ chúng tôi chỉ tối thiểu hóa số lượng chức năng này (tức là tối đa hóa khả năng). Bạn có thể làm điều này mà không phải tính toán các công cụ phái sinh bằng cách sử dụng Thuật toán Simplex , đây là cách triển khai mặc định trong optim()gói 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

Ở đây việc so sánh rất đơn giản, vì phân phối bình thường là một mô hình con. Trong các trường hợp khác, tổng quát hơn, bạn có thể so sánh độ lệch bình thường với các phân phối tham chiếu khác bằng cách so sánh, ví dụ, AIC (như được thực hiện ở đây ) nếu bạn đang sử dụng công cụ ước tính khả năng tối đa trong tất cả các mức độ phù hợp cạnh tranh. Ví dụ: bạn có thể điều chỉnh dữ liệu theo khả năng tối đa theo phân phối gamma và dưới độ lệch bình thường và xem liệu khả năng được thêm có thể chứng minh độ phức tạp thêm của độ lệch (3 tham số thay vì 2). Bạn cũng có thể xem xét sử dụng một thử nghiệm Kolmogorov Smirnov mẫu để so sánh dữ liệu của bạn với ước tính phù hợp nhất từ ​​gia đình bình thường.


1
+1, tôi nghĩ rằng đây là một câu trả lời rõ ràng, kỹ lưỡng và mang tính xây dựng. Tôi có 1 nitpick / mối quan tâm trong đoạn cuối cùng là việc sử dụng AIC. Một vấn đề tôi có với các tiêu chí thông tin khác nhau là họ cho rằng tất cả các tham số đóng góp như nhau vào khả năng của mô hình phù hợp với dữ liệu. Khi đánh giá các mô hình hồi quy bội khác nhau, tôi nghĩ rằng điều này là tốt; tuy nhiên nếu kiểm tra các loại phân phối khác nhau, tôi không rõ ràng rằng tất cả các tham số đều có khả năng linh hoạt như nhau. Vì vậy, tôi không thoải mái với điều đó. Vị trí của bạn về vấn đề này là gì?
gung - Phục hồi Monica

αα=0α(μ,σ,α)

@gung, đây là một điểm tốt. Tôi đã sử dụng AIC làm ví dụ nhiều hơn bất cứ thứ gì - có thể sử dụng một cái gì đó khác - nhưng tôi đã thấy mọi người sử dụng AIC để so sánh các mô hình với các phân phối lỗi khác nhau, điều này thực sự đưa ra giả định này rằng tất cả các tham số đều được "tạo ra bằng nhau". Bạn đã thấy bất kỳ tài liệu về chủ đề này? Tôi sẽ quan tâm.
Macro

α=0±.9α±αα

1
α

5

Tôi là một nhà thống kê đã làm việc trong nghề này hơn 30 năm và trước khi đọc bài đăng này, tôi chưa bao giờ nghe về sự phân phối bình thường. Nếu bạn có dữ liệu sai lệch cao, tại sao bạn đặc biệt muốn nhìn vào xiên bình thường chứ không phải là logic hoặc gamma? Bất cứ khi nào bạn có một họ phân phối tham số như gamma, lognatural hoặc skew bình thường, bạn có thể áp dụng mức độ phù hợp của kiểm tra sự phù hợp như chi-vuông hoặc Kolmogorov-Smirnov.


5
Azzalini xiên bình thường là một bản phân phối phổ biến được đề xuất vào năm 1985. Nó có hỗ trợ trên toàn bộ dòng thực.

1
@Procrastinator Tôi biết rằng bây giờ và có lẽ nên nghe về nó trước đây. Nhưng tôi đoán quan điểm của tôi là vì tôi đã không nghe về nó có lẽ nó hơi mơ hồ hơn các bản phân phối sai lệch khác. Tôi nhận thấy quan điểm về sự hỗ trợ trên toàn bộ dòng thực sự trái ngược với các ví dụ của tôi chỉ hỗ trợ trên [0.∞) hoặc {a,) nếu thêm tham số shift. Những phân phối này chỉ là xấp xỉ để mô tả cách dữ liệu được phân phối. Chúng ta có thực sự biết rằng tất cả các giá trị tiêu cực là có thể? Trong trường hợp thực tế, dữ liệu có thể có giới hạn dưới và trên.
Michael R. Chernick

1
@Procrastinator Điều đó không liên quan gì đến bình luận của tôi. Tôi đang nói rằng dữ liệu thực thường bị ràng buộc ngay cả khi chúng có thể được xấp xỉ tốt với các phân phối không giới hạn.
Michael R. Chernick

1
@Procrastinator Không hoàn toàn. Nếu bạn được cấp một bộ số hữu hạn, bạn không thể biết được từ dữ liệu cho dù chúng đến từ phân phối rời rạc hay liên tục. Điều tương tự cũng đúng cho sự ràng buộc. Tôi đang nói rằng ngoài dữ liệu bạn sẽ biết một cách nghiêm ngặt trên cơ sở những gì bạn đang đo xem liệu nó có bị ràng buộc và liên tục hay rời rạc hay không. Ví dụ, nếu bạn đang đo trọng lượng của một người mà bạn biết trọng lượng lớn hơn 0 và bị giới hạn ở trên bởi giới hạn vật lý là 5000 pounds.
Michael R. Chernick

1
Ngoài ra, mặc dù các phép đo trọng lượng chỉ có thể được xác định ở một số vị trí thập phân nhất định, vẫn hợp lý để coi trọng lượng là liên tục. Bây giờ nếu bạn định lật một đồng xu 10 lần, bạn biết rằng số lượng đầu bạn sẽ nhận được phải là một số nguyên trong khoảng từ 0 đến 10 (rất rời rạc và bị ràng buộc). Quan điểm của tôi là giới hạn phân phối thường rất rõ ràng. Không rõ ràng khi quyết định giữa các phân phối liên tục và rời rạc.
Michael R. Chernick

1

Vì vậy, giải pháp cuối cùng của tôi là tải xuống gói fGarchsnormFitđược fGarch cung cấp để nhận MLE cho các tham số thành Skewed-Bình thường.

Sau đó, tôi cắm các tham số đó, với dsnormchức năng được cung cấp bởi fGarch, trong một thử nghiệm Kolmogorov-Smirnov.


Làm thế nào bạn có thể kết hợp MLE và thử nghiệm Kolmogorov-Smirnov, đây là một thử nghiệm không theo dõi?

Tôi muốn chỉ ra rằng tôi không biết mình đang làm gì và chỉ đi lang thang một cách mù quáng. Tôi giả định rằng KS hoạt động như chi bình phương, và nó đã xem xét sự khác biệt giữa dữ liệu mẫu tôi có và bản phân phối phải là gì. Ks.test của R trước tiên chấp nhận dữ liệu mẫu và sau đó là phân phối, cùng với các tham số cho phân phối đó. Tôi đã sử dụng MLE làm tham số. Ngoài ra, giả định / đánh giá của tôi về cách hoạt động của Chi-squared cũng có thể đã sai ...
Squidly

H0:λ=0

H0=λ=0H0

1
@Procrastinator Có nhiều điểm tốt của các bài kiểm tra phù hợp dựa trên cdf theo kinh nghiệm. Kolmogorov Smirnov là một. Các thử nghiệm này có thể được sử dụng để so sánh cdf theo kinh nghiệm với bất kỳ phân phối cụ thể nào (và với các điều chỉnh khi ước tính các tham số chưa biết trước khi thử nghiệm. Bạn hoàn toàn đúng khi từ chối phân phối cho tính quy tắc chẳng hạn không cho biết phân phối khác nhau như thế nào. muốn thực hiện điều này một cách chính thức, anh ta có thể kiểm tra độ lệch đáng kể và sau đó thực hiện kiểm tra KS hoặc chi bình phương cho độ lệch bình thường. Điều chỉnh có thể được thực hiện cho nhiều thử nghiệm. Tại sao phải tự mãn với OP?
Michael R. Chernick

0

Hãy xem http://www.egyankosh.ac.in/bitstream/123456789/25807/1/Unit6.pdfhttp://en.wikipedia.org/wiki/Skewness

Bạn có thể sử dụng thử nghiệm Karl Pearson cho độ lệch. Tỷ lệ của khoảnh khắc thứ ba với khối lập phương độ lệch chuẩn được gọi là hệ số sai lệch. Phân phối đối xứng sẽ có độ lệch = 0


2
Tôi không muốn làm sai lệch dữ liệu của mình. Tôi biết nó bị lệch. Tôi muốn biết liệu dữ liệu của tôi có tuân theo phân phối lệch chuẩn hay không.
Mực

2
Bạn đang sử dụng phần mềm nào, R có gói 'sn' (xiên bình thường) có chứa các hàm tính toán ước tính ML. Tôi không chắc chắn về các chức năng chính xác mặc dù - hãy xem trang web này azzalini.stat.unipd.it/SN để biết chi tiết về gói R
NaN

0

trong SPSS, bạn có thể ước tính độ lệch (bằng cách phân tích và sau đó mô tả và sau đó đánh dấu độ lệch) sau đó bạn nhận được điểm sai lệch và SE (sai số chuẩn) của độ lệch. Chia độ lệch cho SE của nó và nếu điểm của bạn nằm trong khoảng + -1,96 thì nó sẽ bị lệch. Nếu nó không bị lệch thì có rất nhiều xét nghiệm không tham số ngoài kia! Chúc may mắn và tất cả những điều tốt đẹp nhất!

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.