Tên của phương pháp ước tính mật độ trong đó tất cả các cặp có thể được sử dụng để tạo phân phối hỗn hợp Bình thường là gì?


12

Tôi chỉ nghĩ về một cách gọn gàng (không nhất thiết phải tốt) để tạo ước tính mật độ một chiều và câu hỏi của tôi là:

Liệu phương pháp ước tính mật độ này có một tên? Nếu không, nó có phải là trường hợp đặc biệt của một số phương pháp khác trong tài liệu không?

Đây là phương pháp: Ta có vectơ X=[x1,x2,...,xn] mà chúng tôi giả sử được rút ra từ một số phân phối chưa biết mà chúng tôi muốn ước tính. Một cách để làm điều này là lấy tất cả các cặp giá trị có thể có trong X và cho mỗi cặp [xi,xj]ij phù hợp với phân phối Bình thường sử dụng khả năng tối đa. Ước tính mật độ kết quả là phân phối hỗn hợp bao gồm tất cả các Chỉ tiêu kết quả, trong đó mỗi Bình thường được cho trọng số bằng nhau.

Hình dưới đây minh họa bằng phương pháp này trên vectơ . Ở đây các vòng tròn là các điểm dữ liệu, các Normals màu là phân phối khả năng tối đa được ước tính bằng cách sử dụng từng cặp có thể và đường màu đen dày cho thấy ước tính mật độ kết quả (nghĩa là phân phối hỗn hợp).[1.3,0.15,0.73,1.4]

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

Nhân tiện, thật dễ dàng để thực hiện một phương thức trong R rút ra một mẫu từ phân phối hỗn hợp kết quả:

# Generating some "data"
x <- rnorm(30)

# Drawing from the density estimate using the method described above.
density_estimate_sample <- replicate(9999, {
  pair <- sample(x, size = 2)
  rnorm(1, mean(pair), sd(pair))
})

# Plotting the density estimate compared with 
# the "data" and the "true" density.
hist(x ,xlim=c(-5, 5), main='The "data"')
hist(density_estimate_sample, xlim=c(-5, 5), main='Estimated density')
hist(rnorm(9999), xlim=c(-5, 5), main='The "true" density')

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


5
Hãy thử phương pháp của bạn bằng cách sử dụngx <- c(rnorm(30), rnorm(30, 10))
Dason

2
@Dason Yep, trong trường hợp đó phương pháp hoàn toàn không hoạt động! :) Ngoài ra nó không hội tụ với n lớn.
Rasmus Bååth

4
Điều này nghe có vẻ như là một phiên bản bị hỏng của ước tính mật độ hạt nhân trong đó băng thông được ước tính bằng xác nhận chéo!
Tây An

Từ ngữ trong 'Chúng ta có một vectơ mà chúng tôi giả sử được rút ra từ một số phân phối chưa biết mà chúng tôi muốn ước tính' có lẽ nên được làm rõ vì nó (với tôi) nghe giống như câu hỏi là về việc ước tínhphân phối đa biến n chiềuchungdựa trên một quan sát. X=[x1,x2,,xn]n
Juho Kokkala

Câu trả lời:


6

Đây là một ý tưởng hấp dẫn, bởi vì công cụ ước tính độ lệch chuẩn dường như ít nhạy cảm hơn với các ngoại lệ so với các phương pháp bình phương gốc thông thường. Tuy nhiên, tôi nghi ngờ công cụ ước tính này đã được công bố. Có ba lý do tại sao: nó không hiệu quả về mặt tính toán, nó bị sai lệch và ngay cả khi độ lệch được sửa, nó không hiệu quả về mặt thống kê (nhưng chỉ một chút). Chúng có thể được nhìn thấy với một phân tích sơ bộ nhỏ, vì vậy hãy làm điều đó trước và sau đó rút ra kết luận.

Phân tích

Các ước lượng ML của giá trị trung bình và độ lệch chuẩn σμσ dựa trên dữ liệu (xi,xj)

μ^(xi,xj)=xi+xj2

σ^(xi,xj)=|xixj|2.

Do đó phương pháp được mô tả trong câu hỏi là

μ^(x1,x2,,xn)=2n(n1)i>jxi+xj2=1ni=1nxi,

đó là công cụ ước tính thông thường của giá trị trung bình và

σ^(x1,x2,,xn)=2n(n1)i>j|xixj|2=1n(n1)i,j|xixj|.

E=E(|xixj|)ij

E(σ^(x1,x2,,xn))=1n(n1)i,jE(|xixj|)=E.

xixj2σ22σχ(1)2/π

E=2πσ.

Hệ số 2/π1.128 là thiên vị trong ước lượng này.

σ^ , nhưng - như chúng ta sẽ thấy - có vẻ không phải là nhiều sự quan tâm trong việc này, vì vậy tôi sẽ chỉ là ước tính nó với một mô phỏng nhanh chóng.

Kết luận

  1. σ^n=20,000 cả hai công cụ ước tính sai lệch và sai lệch được vẽ trên biểu đồ. Lỗi 13% là rõ ràng.

    Figure

  2. i,j|xixj|O(n2)O(n)n10,000 hoặc hơn. Chẳng hạn, tính toán con số trước đó cần 45 giây thời gian CPU và 8 GB RAMR. (Trên các nền tảng khác, các yêu cầu về RAM sẽ nhỏ hơn nhiều, có lẽ với chi phí nhỏ trong thời gian tính toán.)

  3. Đó là thống kê không hiệu quả. Để hiển thị tốt nhất, hãy xem xét phiên bản không thiên vị và so sánh nó với phiên bản không thiên vị của công cụ ước lượng bình phương nhỏ nhất hoặc ước lượng tối đa

    σ^OLS=(1n1i=1n(xiμ^)2)(n1)Γ((n1)/2)2Γ(n/2).

    Rn=3n=300σ^OLSσ

Sau đó

σ^


sigma <- function(x) sum(abs(outer(x, x, '-'))) / (2*choose(length(x), 2))
#
# sigma is biased.
#
y <- rnorm(1e3) # Don't exceed 2E4 or so!
mu.hat <- mean(y)
sigma.hat <- sigma(y)

hist(y, freq=FALSE,
     main="Biased (dotted red) and Unbiased (solid blue) Versions of the Estimator",
     xlab=paste("Sample size of", length(y)))
curve(dnorm(x, mu.hat, sigma.hat), col="Red", lwd=2, lty=3, add=TRUE)
curve(dnorm(x, mu.hat, sqrt(pi/4)*sigma.hat), col="Blue", lwd=2, add=TRUE)
#
# The variance of sigma is too large.
#
N <- 1e4
n <- 10
y <- matrix(rnorm(n*N), nrow=n)
sigma.hat <- apply(y, 2, sigma) * sqrt(pi/4)
sigma.ols <- apply(y, 2, sd) / (sqrt(2/(n-1)) * exp(lgamma(n/2)-lgamma((n-1)/2)))

message("Mean of unbiased estimator is ", format(mean(sigma.hat), digits=4))
message("Mean of unbiased OLS estimator is ", format(mean(sigma.ols), digits=4))
message("Variance of unbiased estimator is ", format(var(sigma.hat), digits=4))
message("Variance of unbiased OLS estimator is ", format(var(sigma.ols), digits=4))
message("Efficiency is ", format(var(sigma.ols) / var(sigma.hat), digits=4))

Các tài liệu liên quan quay trở lại một thời gian, ví dụ Dftimeon, F. 1966 Ước tính tuyến tính với các hệ số đa thức. Biometrika 53: 129-141 doi: 10.1093 / biomet / 53.1-2.129
Nick Cox

Wow, tôi đã nhận được nhiều hơn tôi mặc cả! :)
Rasmus Bååth
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.