Pemasangan distribusi beta di Scipy

14

Menurut Wikipedia distribusi probabilitas beta memiliki dua parameter bentuk: dan β .αβ

Ketika saya memanggil scipy.stats.beta.fit(x)Python, di mana xada sekelompok angka dalam kisaran , 4 nilai dikembalikan. Ini menurut saya aneh.[0,1]

Setelah googling saya menemukan salah satu nilai yang dikembalikan harus 'lokasi', karena variabel ketiga adalah 0 jika saya panggil scipy.stats.beta.fit(x, floc=0).

Adakah yang tahu apa variabel keempat itu, dan jika dua yang pertama adalah dan β ?αβ

Peter Smit
sumber
1
The dokumentasi menyebut dua terakhir "lokasi" dan "skala" parameter. Jadi yang keempat adalah parameter skala. Lokasi dan skala memiliki arti statistik standar. Satu interpretasi dalam konteks ini diberikan secara eksplisit dalam buku pegangan NIST .
whuber
Saya mengalami masalah yang sama persis, tetapi untuk beberapa alasan semua model beta saya cenderung "menahan air". Misalnya untuk stats.beta.fit([60,61,62,72])saya dapatkan (0.7313395126217731, 0.7153715263378897, 58.999999999999993, 3.3500998441036982). Adakah yang bisa saya lakukan tentang hal ini?
TheChymera
Hanya menambahkan dokumentasi ini untuk metode fit variabel kontinu acak generik, yang mencakup beberapa contoh menggunakan beta.fit (): docs.scipy.org/doc/scipy/reference/generated/…
mathisfun

Jawaban:

13

Meskipun jelas kurangnya dokumentasi tentang output beta.fit, output memang dalam urutan berikut:

αβ

jdj081
sumber
Apakah itu hanya memuntahkan batas bawah dan atas berdasarkan rentang data, atau melakukan sesuatu yang lain?
shadowtalker
Batas didasarkan pada distribusi probabilitas. yaitu. Distribusi normal tidak memiliki batasan, tetapi data sampel jarang melebihi ~+/-3 . Distribusi beta memiliki batas keras, dengan probabilitas 0 di luar batas itu. Kemungkinan data Anda tidak akan mencapai batas, tergantung pada apa yang Anda modelkan. Bahkan, mencoba untuk memaksa batas-batas tersebut agar sesuai dengan rentang data dapat menjadi masalah, karena banyak distribusi beta cenderung nol probabilitas pada batas-batasnya. Lihat posting ini untuk informasi lebih lanjut tentang masalah itu.
jdj081
1
Ya saya sadar. Batas itu selalu 0 dan 1. Oleh karena itu: apa batas atas dan bawah yang dikembalikan oleh fungsi ini, dan bagaimana semuanya sama dengan "lokasi" dan "skala"? Saya kira saya tidak mengerti jawaban ini.
shadowtalker
2
Cara distribusi beta didefinisikan, batas-batas itu selalu 0 dan 1. Tetapi distribusi beta umum mencakup dua faktor penskalaan ini. Data saya model tidak jatuh antara 0 dan 1, jadi saya harus menggunakan angka-angka itu. Jika data Anda antara 0 dan 1, maka output tersebut harus sangat dekat dengan 0 dan 1. Jika Anda tahu batas Anda adalah 0 dan 1, Anda bisa memaksa mereka dengan floc=0dan fscale=1kwargs. Anda masih akan mendapatkan output itu, tetapi mereka akan identik dengan apa yang Anda paksakan. Dan itu kemungkinan akan mengubah nilai alfa dan beta Anda.
jdj081