Giả sử rằng tôi có một biến như X
với phân phối chưa biết. Trong Mathematica, bằng cách sử dụng SmoothKernelDensity
hàm, chúng ta có thể có hàm mật độ ước tính. Hàm mật độ ước tính này có thể được sử dụng cùng với PDF
hàm để tính hàm mật độ xác suất của một giá trị như X
dưới dạng PDF[density,X]
giả sử rằng "mật độ" là kết quả của SmoothKernelDensity
. Sẽ tốt hơn nếu có tính năng như vậy trong R. Đây là cách nó hoạt động trong Mathematica
http://reference.wolfram.com/mathIALa/ref/SmoothKernelDistribution.html
Như một ví dụ (dựa trên các hàm Mathicala):
data = RandomVariate[NormalDistribution[], 100]; #generates 100 values from N(0,1)
density= SmoothKernelDistribution[data]; #estimated density
PDF[density, 2.345] returns 0.0588784
Tại đây bạn có thể tìm thêm thông tin về PDF:
http://reference.wolfram.com/mathIALa/ref/PDF.html
Tôi biết rằng tôi có thể vẽ đồ thị hàm mật độ của nó bằng density(X)
R và bằng cách sử dụngecdf(X)
tôi có thể có được hàm phân phối tích lũy theo kinh nghiệm của nó. Tôi có thể làm điều tương tự trong R dựa trên những gì tôi mô tả về Mathicala không?
Bất kỳ trợ giúp và ý tưởng được đánh giá cao.
ecdf(X)
mang lại cho tôi tỷ lệ phần trăm tương đương 7,5 nhưng đó không phải là thứ tôi đang tìm kiếm.
ecdf(b)-ecdf(a)
sẽ ước tính . Tất nhiên với các biến liên tục, sự khác biệt giữa < và ≤ là không quan trọng. Nếu X rời rạc, thì bạn có thể ước tính P ( X = 7.5 ) bằng cách tính tỷ lệ mẫu của các giá trị là 0,75.
density(x)
đưa ra ước tính của pdf, như bạn đã lưu ý, nhưng sự phù hợp của nó phụ thuộc vào mục đích mà bạn muốn có mật độ. Ví dụ, lưu ý rằng phương sai bị sai lệch (khi thực hiện tích chập, bạn thêm phương sai của hạt nhân vào phương sai của dữ liệu, bản thân nó là một ước lượng không thiên vị) - sự đánh đổi sai lệch như vậy là phổ biến. Có những lựa chọn thay thế khác, chẳng hạn như ước tính mật độ log-spline, chẳng hạn - nhưng một lần nữa, sự phù hợp của nó một phần phụ thuộc vào những gì bạn muốn làm với nó.