Raccordo di distribuzione beta in Scipy


14

Secondo Wikipedia, la distribuzione della probabilità beta ha due parametri di forma: e β .αβ

Quando chiamo scipy.stats.beta.fit(x)Python, dove si xtrova un gruppo di numeri nell'intervallo , vengono restituiti 4 valori. Questo mi sembra strano.[0,1]

Dopo aver cercato su google ho scoperto che uno dei valori di ritorno deve essere 'location', poiché la terza variabile è 0 se chiamo scipy.stats.beta.fit(x, floc=0).

Qualcuno sa qual è la quarta variabile e se i primi due sono e β ?αβ


1
La documentazione chiama gli ultimi due parametri "posizione" e "scala". Quindi il quarto è il parametro di scala. Posizione e scala hanno significati statistici standard. Un'interpretazione in questo contesto è data esplicitamente nel manuale del NIST .
whuber

Sto riscontrando lo stesso identico problema, ma per qualche motivo tutti i miei modelli beta tendono a "trattenere l'acqua". Per esempio, stats.beta.fit([60,61,62,72])ho capito (0.7313395126217731, 0.7153715263378897, 58.999999999999993, 3.3500998441036982). Hai idea di cosa posso fare al riguardo?
TheChymera,

Basta aggiungere questa documentazione per il metodo generico di adattamento variabile casuale continuo, che include alcuni esempi usando beta.fit (): docs.scipy.org/doc/scipy/reference/generated/…
mathisfun

Risposte:


13

Nonostante un'apparente mancanza di documentazione sull'output di beta.fit, esegue l'output nel seguente ordine:

, β , loc (limite inferiore), scala (limite superiore - limite inferiore)αβ


Sta semplicemente sputando i limiti inferiore e superiore in base alla gamma di dati o facendo qualcos'altro?
Shadowtalker,

I limiti si basano sulla distribuzione delle probabilità. vale a dire. La distribuzione normale non ha limiti, ma i dati del campione raramente superano ~ +/-3. La distribuzione beta ha limiti rigidi, con probabilità 0 al di fuori di tali limiti. È probabile che i tuoi dati non raggiungano i limiti, a seconda di ciò che stai modellando. In effetti, tentare di forzare quei limiti in modo che corrispondano all'intervallo dei dati può essere problematico, poiché molte distribuzioni beta tendono a zero probabilità ai limiti. Vedi questo post per ulteriori informazioni su questo problema.
jdj081,

1
Sì, lo so. Tali limiti sono sempre 0 e 1. Quindi: quali sono i limiti superiore e inferiore restituiti da questa funzione e come sono uguali a "posizione" e "scala"? Immagino di non capire questa risposta.
Shadowtalker,

2
Nel modo in cui viene definita la distribuzione beta, tali limiti sono sempre 0 e 1. Ma la distribuzione beta generalizzata include questi due fattori di ridimensionamento. I dati che modello non sono compresi tra 0 e 1, quindi devo usare quei numeri. Se i tuoi dati sono compresi tra 0 e 1, tali output dovrebbero essere molto vicini a 0 e 1. Se sai che i tuoi limiti sono 0 e 1, puoi forzare quelli con il floc=0e fscale=1kwargs. Otterrai comunque questi output, ma saranno identici a ciò che li costringi ad essere. E probabilmente cambierà i tuoi valori alfa e beta.
jdj081,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.