[Python] Test statistici

Valerio Maggio valerio.maggio a gmail.com
Ven 10 Ott 2014 20:07:22 CEST


francesca senatore wrote:

> Ciao a tutti, 
> sono da poco (e per poco intendo veramente poco) nel mondo python. Sono alle prime armi e non me ne volete se non sono molto preparata. 

Ciao Francesca, 
     benvenuta! :)

> Al momento ho la necessità di eseguire dei test statistici (Kolmogorov-Smirnov test, Two Sample Tests, fit ai minimi quadrati) che erano inclusi in ASURV(analysis survival). Ho visto che python include questo pacchetto statistico. 

Che intendi? ASURV?

Che roba è? Io ho trovato questo: http://python-asurv.sourceforge.net
È lui?

In ogni caso guardando mi pare di capire che si tratta di un software per dati astronimici/astro fisici[1]. Corretto?

Nel caso il tuo dominio fosse quello, ti segnalo questi due progetti:

**AstroPy**: http://www.astropy.org
**AstroML**: http://www.astroml.org

Sono ben documentati e molto supportati dalla comunità… certamente meglio di quel porting indicato poco prima.. anyway..

——
[1]: http://www.astrostatistics.psu.edu/statcodes/


> Il mio problema non sono tanto le routine in se per se (che mi sembrano facili) ma l'inserimento dati. I miei dati includono i famosi censored data (upper e lower limits) ed errori sulle misure. Io vorrei includere anche questi valori

ok, il tuo problema è chiaro (a parte che non capisco perché vuoi includere i censored data nel calcolo del fitting.. ma tant'è…. del resto, non hai specificato il dominio.. :P)

> quando faccio correre questi test. 

effettiva "run", in inglese, significa "correre"… :D (kiddin')


> from scipy import stats 
> 
> import numpy as np 
> 
> x=<1, 2, 3, 4, 5, 6, 7> 
> 
> y=<5, 4, 7, 8, 9, 11, 12> 

vabeh, diciamo che questo non è esattamente codice Python.. :P

> 
> slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) 
> 
> Questa routine mi calcola il fit dandomi tutti i parametri che mi servono.  Nei miei set di dati ci sono upper limit, cioè non detection (i famosi censored data), che voglio tenere in considerazione nel fit. In aggiunta ho un altro set di dati che riguardano gli errori sulle y. Io voglio includere anche questi parametri ma non so come fare. 
> 
> Io usavo ASURV per fare cose di questo genere tenendo in considerazione gli upper oppure i lower limits e in questo caso indicavo le detection (i valori effettivamente calcolati) con 0 e con 1 le nondetection (upper limit). Cioè generavo un file con tre colonne dove la prima colonna indicava il tipo di valore. 
> 
> Con python ho visto che questo è possibile perchè include molti metodi statistici di ASURV ma non riesco a capire come inserire questi valori. 

Io però a questo punto non ho capito quale sia **veramente** il tuo problema..

In ogni caso, penso che questo possa esserti utile: https://www.wakari.io/nb/pybokeh/Weibull_Analysis#part2
Credo sia proprio un esempio di analisi che si avvicina a ciò che intendi fare…

In generale, poi, ti segnalo anche `statsmodel`: https://github.com/statsmodels/statsmodels

Oltre ad estendere le funzionalità di `scipy.stats`, dovrebbe già contenere dei metodi per l'analisi con *suspended* data...


HTH
Valerio

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20141010/65f9205b/attachment-0001.html>


Maggiori informazioni sulla lista Python