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.