Temukan interval kepadatan probabilitas

9

Saya punya vektor

x <- c(1,2,3,4,5,5,5,6,6,6,6,
       7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
       7,7,7,7,7,7,7,7,8,8,8,8,9,9,9,10)

(Vektor aktual saya memiliki panjang> 10.000) dan saya ingin mencari interval di mana 90% dari kepadatan terletak. Apakah quantile(x, probs=c(0.05,0.95), type=5)yang paling tepat atau ada cara lain?

ECII
sumber
Pertanyaan Anda agak kabur tentang "interval di mana ..." - mungkin ada beberapa interval. Apakah Anda hanya tertarik pada bagian dalam 90%, yaitu pemangkasan simetris di setiap sisi? Setelah semua, dari minimum hingga 90% ile, 90% dari data ditangkap, sama untuk 10% ile ke nilai maksimal.
Iterator
Apakah Anda mencari interval terpendek, interval simetris (probabilitas yang sama untuk setiap akhir), atau yang lainnya?
Glen_b -Reinstate Monica

Jawaban:

19

Seperti yang ditunjukkan di atas, ada banyak cara berbeda untuk mendefinisikan interval yang mencakup 90% dari kepadatan. Salah satu yang belum ditunjukkan adalah interval kepadatan [posterior] tertinggi ( wikipedia ), yang didefinisikan sebagai "interval terpendek yang perbedaan nilai fungsi kepadatan kumulatif empiris dari titik akhir adalah probabilitas nominal".

library(coda)
HPDinterval(as.mcmc(x), prob=0.9)
Ben Bolker
sumber
3

Ini sepertinya pendekatan yang paling mudah. Fungsinya cukup cepat. Saya menggunakannya sepanjang waktu pada sampel yang ratusan kali lebih besar dari yang Anda gunakan, dan stabilitas perkiraan harus baik pada ukuran sampel Anda.

Ada fungsi dalam paket lain yang menyediakan set statistik deskriptif yang lebih lengkap. Yang saya gunakan adalah Hmisc::describe, tetapi ada beberapa paket lain dengan describefungsi.

DWIN
sumber
3

Cara Anda tampaknya masuk akal, terutama dengan data diskrit dalam contoh,

quantile(x,probs=c(0.05,0.95), type=5)
 5% 95% 
2.8 9.0

tetapi cara lain adalah dengan menggunakan kernel densitas yang dihitung:

dx <- density(x)
dn <- cumsum(dx$y)/sum(dx$y)
li <- which(dn>=0.05)[1]
ui <- which(dn>=0.95)[1]
dx$x[c(li,ui)]
[1] 2.787912 9.163246
James
sumber
-1

Iya. :-). Anda mungkin menemukan hasil dari stats::densitymenjadi lebih bermanfaat.

Carl Witthoft
sumber