Apakah ada cara, menggunakan beberapa paket Python yang sudah ada (misalnya SciPy) untuk mendefinisikan fungsi kepadatan probabilitas saya sendiri (tanpa data sebelumnya, hanya ), jadi saya kemudian dapat membuat perhitungan dengan itu (seperti mendapatkan varians dari variabel acak kontinu)? Tentu saja saya dapat mengambil, katakanlah, SymPy atau Sage, membuat fungsi simbolis dan melakukan operasi, tetapi saya bertanya-tanya apakah alih-alih melakukan semua pekerjaan ini sendiri, saya dapat menggunakan paket yang sudah diimplementasikan.
python
statistics
probability
astrojuanlu
sumber
sumber
Jawaban:
Anda harus subclass rv_continuous kelas di scipy.stats
sekarang my_cv adalah variabel acak kontinu dengan PDF dan kisaran yang diberikan [0,1]
Perhatikan bahwa dalam contoh ini
my_pdf
danmy_cv
adalah nama sewenang-wenang (yang bisa saja apa-apa), tapi_pdf
ini tidak sewenang-wenang; dan_cdf
merupakan metode yangst.rv_continuous
salah satunya harus ditimpa agar subclass dapat berfungsi.sumber
3*x**2
, di sini), atau variabel acak yang dihasilkan menghasilkan hasil yang salah (Anda dapat memeriksamy_cv.median()
, misalnya). Saya memperbaiki kodenya.x
[0, 1]. bisakah kamu mengklarifikasi?my_cv.rvs()
(yang dapat mengambilsize
argumen, untuk mendapatkan beberapa sampel sekaligus). Inilah yang saya kira dari dokumentasi ( docs.scipy.org/doc/scipy/reference/generated/… ).Anda harus memeriksa sympy.stats. Ini menyediakan antarmuka untuk menangani variabel acak. Contoh berikut memberikan variabel acak yang
X
didefinisikan pada interval satuan dengan kepadatan2x
Jika Anda tertarik, abstraksi ini dapat menangani beberapa manipulasi yang cukup rumit.
sumber