Misalkan saya punya variabel suka X
dengan distribusi tidak dikenal. Dalam Mathematica, dengan menggunakan SmoothKernelDensity
fungsi kita dapat memiliki fungsi kerapatan yang diperkirakan. Perkiraan fungsi kerapatan ini dapat digunakan bersama dengan PDF
fungsi untuk menghitung probabilitas fungsi kerapatan dari suatu nilai seperti X
dalam bentuk PDF[density,X]
asumsi bahwa "kerapatan" adalah hasil dari SmoothKernelDensity
. Akan lebih baik jika ada fitur seperti itu di R. Ini adalah cara kerjanya di Mathematica
http://reference.wolfram.com/mathematica/ref/SmoothKernelDistribution.html
Sebagai contoh (berdasarkan fungsi Mathematica):
data = RandomVariate[NormalDistribution[], 100]; #generates 100 values from N(0,1)
density= SmoothKernelDistribution[data]; #estimated density
PDF[density, 2.345] returns 0.0588784
Di sini Anda dapat menemukan informasi lebih lanjut tentang PDF:
http://reference.wolfram.com/mathematica/ref/PDF.html
Saya tahu bahwa saya dapat memplot fungsi kerapatan menggunakan density(X)
dalam R dan dengan menggunakan ecdf(X)
saya dapat memperoleh fungsi distribusi kumulatif empirisnya. Apakah mungkin untuk melakukan hal yang sama dalam R berdasarkan pada apa yang saya jelaskan tentang Mathematica?
Setiap bantuan dan ide sangat dihargai.
density(x)
memberikan perkiraan pdf, seperti yang telah Anda catat, tetapi kesesuaiannya tergantung pada tujuan yang Anda inginkan memiliki kepadatan. Perhatikan, misalnya, bahwa varians menjadi bias (dalam melakukan konvolusi, Anda menambahkan varians kernel ke varians data, itu sendiri merupakan estimasi yang tidak bias) - pengorbanan varians-varians semacam itu ada di mana-mana. Ada alternatif lain, seperti estimasi kepadatan log-spline, misalnya - tetapi sekali lagi, kesesuaiannya sebagian tergantung pada apa yang ingin Anda lakukan dengannya.ecdf(X)
memberi saya persentil setara 7,5 tetapi bukan itu yang saya cari.ecdf(b)-ecdf(a)
Jawaban:
?density
menunjukkan bahwa yang digunakanapprox
untuk melakukan interpolasi linier sudah;?approx
menunjukkan bahwaapproxfun
menghasilkan fungsi yang sesuai:Dengan menggunakan
integrate
mulai dari jarak yang sesuai di bawah minimum dalam sampel (beberapa - katakanlah 4 atau 5, mungkin - dari bandwidth yang digunakan padadf
umumnya akan melakukan untuk jarak yang sesuai), seseorang dapat memperoleh perkiraan yang baik dari cdf sesuai dengandf
.sumber
df(2.3)
memberikan nilai estimasi fungsi kerapatan padax=2.3
tetapi apa yangPDF
dilakukan di Mathematica adalah memberikan area di bawah kurva di atasx=2.3
. Saya tidak begitu yakin tentang ini. Ini hanya dugaan saya. Bisakah Anda membuat ulang apa yang saya lakukan di Mathematica?PDF
dalam Mathematica melakukan apa yang Anda jelaskan dalam jawaban Anda (yaitu menemukan nilai fungsi kerapatan untuk diberi nilai X) maka saya berpikir bahwa saya mendapatkan jawaban saya. Hanya ada banyak kebingungan dalam menggunakan kata-kata!PDF
dikatakan laman itu, ia mengembalikan hal yang sama dengan yang saya lakukan, tetapi metode yang digunakannya dalam perhitungannya dalam kasus ini cenderung agak lebih akurat (untuk tujuan semacam itu, akurasi tambahan memiliki nilai yang kecil, namun). Untuk beberapa diskusi tentang perbedaan probabilitas / kepadatan, lihat di sini dan di sini .