Ước tính mật độ với một phân phối cắt ngắn?


8

Tôi có một số dữ liệu được cắt rõ ràng ở bên trái. Tôi muốn phù hợp với nó với một ước tính mật độ sẽ xử lý nó theo một cách nào đó thay vì cố gắng làm cho nó trơn tru.

Những phương thức đã biết (như thường lệ, trong R) có thể giải quyết vấn đề này?

Mã mẫu:

set.seed(1341)
x <- c(runif(30, 0, 0.01), rnorm(100,3))
hist(x, br = 10, freq = F)
lines(density(x), col = 3, lwd = 3)

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

Cảm ơn :)


6
Đây là một ví dụ hay về một cái gì đó đôi khi được gọi là "phân phối lognatural delta" (trong đó trục x được hiểu là logarit). Bạn có thể coi nó là một hỗn hợp của một phân phối liên tục (trông gần như Bình thường - nhưng nhận dạng chính xác của nó là tùy thuộc vào bạn) và phân phối điểm được hỗ trợ gần 0. Một mô hình hỗn hợp sẽ làm tốt công việc. Trong trường hợp cụ thể này, sự phân tách giữa nguyên tử gần 0 và phần còn lại của dữ liệu rất tốt, bạn sẽ chỉ cần loại bỏ dữ liệu ở bên trái (nhỏ hơn 0,5) và ước tính mật độ của phần còn lại.
whuber

2
Trong một số bối cảnh, một cái gì đó như thế này có thể được gọi là bản phân phối Tweedie , trong trường hợp có ích khi bạn khám phá điều này.
Đức hồng y

Đức Hồng Y - cảm ơn bạn đã tham khảo! Whuber, tôi quan tâm nhiều hơn đến phần gần 0, vì vậy câu trả lời của Greg dưới đây rất hay. Cảm ơn cả hai người.
Tal Galili

Câu trả lời:


6

Gói logspline cho R có chức năng oldlogspline sẽ ước tính mật độ bằng cách sử dụng hỗn hợp dữ liệu được quan sát và kiểm duyệt.


5

Hàm mật độ cũng có một fromtham số để chỉ ra phía bên trái "của lưới mà tại đó mật độ được ước tính". Tiếp tục từ ví dụ trên:

lines(density(x, from = 0), col = 4, lwd = 3)

Tuy nhiên, như bạn có thể thấy đây là phân phối chính xác mà không có fromtham số như trên. Nó chỉ bắt đầu từ 0, thế thôi.

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.