Giacomo Diaz

Appunti di Statistica

 Senza categoria  Commenti disabilitati su Appunti di Statistica
Mag 162018
 

Appunti di Statistica v20

Contenuti:
Scopi principali dei metodi statistici
Campione e popolazione 
Fonti di variabilità e campionamento. Imprecisione e vizio 
Vizi di campionamento 
I tipi principali di variabili
Dall'istogramma di frequenze alla distribuzione di probabilità 
Media e mediana 
Parametri di variabilità 
La distribuzione normale standardizzata 
Corrispondenza tra deviate standard e percentili... se la distribuzione è normale 
Outliers 
I test statistici
La variabilità delle medie e l'errore standard 
Test t di Student per campioni non appaiati e campioni appaiati
Test t di Welch o test t per campioni con varianza diversa 
Limiti fiduciali della media 
Grandezza del campione o sample size 
Cohen's d per valutare l'ampiezza della differenza tra due medie (effect size)
Test di equivalenza 
L'analisi della varianza 
Un esempio di analisi della varianza applicata ad un disegno sperimentale complesso 
Il problema dei confronti multipli e la riduzione del false discovery rate 
Test di Student-Newman-Keuls (SNK) per confronti multipli
La soluzione drastica di Bonferroni
La procedura di Benjamini-Hochberg per il controllo del false discovery rate (FDR)
Regressione 
Relazioni non-lineari
Correlazione 
Correlazioni spurie e correlazioni parziali
Il chi-quadro (χ2)
Test di normalità: goodness-of-fit (bontà di adattamento)
Test di simmetria 
Tabelle 2x2 
Tabelle mxn 
Correzione di Yates per la continuità 
Test esatto di Fisher
Tabella 2x2 per campioni appaiati (test di Mc Nemar)
Distribuzione binomiale 
Deviazione standard di una proporzione 
Distribuzione di Poisson 
Assortimenti
Probabilità, verosimiglianza e teorema di Bayes 
Test non-parametrici
Correlazione di Kendall
Correlazione di Spearman 
Test di Wilcoxon/Mann-Whitney per il confronto di 2 campioni indipendenti o test della somma dei ranghi
Test di Wilcoxon per il confronto di 2 campioni appaiati o test dei segni
Test di Kolmogorov–Smirnov (K-S) per il confronto di due campioni
Test di Kruskal-Wallis per il confronto di più gruppi
Test di Friedman per il confronto di più trattamenti applicati agli stessi soggetti
Statistica multivariata 
Sun-ray-plot
Draftsmanplot
Analisi delle componenti principali -  Principal component analysis (PCA)
Multidimensional scaling (MDS)
Analisi discriminante lineare  -  Linear discriminant analysis (LDA)
Analisi gerarchica dei gruppi  -  Hierarchical cluster analysis (HCA)
Analisi non-gerarchica dei gruppi  -  K-means cluster analysis 
Heat-map 
Standardizzazione e centraggio 
Software statistico

Spirali. All’origine delle forme viventi.

 Senza categoria  Commenti disabilitati su Spirali. All’origine delle forme viventi.
Dic 292014
 

Le spirali hanno sempre esercitato un notevole fascino sull’uomo per la loro bellezza e complessità, stimolando l’interesse di artisti, maghi e scienziati. Disegni di spirali si ritrovano tra i primi graffiti di epoca preistorica. Motivi a spirale sono molto diffusi nei monili dell’età del bronzo. Tatuaggi e incisioni a forma di spirale sono tuttora utilizzati dai Maori della Nuova Zelanda (tanto che secondo alcuni la spirale di Archimede dovrebbe essere chiamata spirale dei Maori). Lo stesso rapporto aureo (circa 1.618), adottato come canone estetico dall’arte greca, corrisponde ad un preciso sviluppo spirale noto come serie di Fibonacci (1175-1240 circa). La bellezza delle spirali incantò anche Jacob Bernoulli (anni 1654-1705) che le studiò con passione e le volle riprodotte sulla propria tomba. Ma tutta la natura è ricca di forme a spirale. La più comune è quella della chiocciola. Meno comune ma molto elegante è quella del nautilus. La più grande è quella delle galassie (anche se non tutte sono formano spirali). L’origine fisica della forma a spirale è evidente nelle turbolenze dei fluidi e dei gas, come i gorghi d’acqua ed i mulinelli d’aria. Ma nessuno sospetterebbe che semplici spirali siano in grado di creare anche forme, simmetrie e strutture assai complesse, come quelle di organismi uni- e pluricellulari (diatomee, radiolari, ricci, stelle di mare, fiori, ecc.).

I grafici che mostro li ho creati con poche righe di basic. L’algoritmo traccia una spirale che si avvolge su una seconda spirale. Queste curve in geometria sono dette ‘roulettes’. Tuttavia, il repertorio di roulettes presente nei testi di geometria è piuttosto povero e limitato a poche forme (spirografo, cardioide, nefroide, astroide, ecc.). Io ero più interessato alle analogie con le forme viventi e meno alle funzioni.

L’aspetto forse più interessante di queste immagini è costituito dalla notevolissima diversità delle forme prodotte con piccolissime variazioni dei parametri (nell’ordine di un centomillesimo). Questo potrebbe definirsi ‘effetto seme’ o ‘effetto gene’. In effetti l’algoritmo è sempre lo stesso, per tutte le forme. Cambiano solo uno o due parametri. Un secondo aspetto anch’esso interessante è il fatto che, per quanto le forme siano generate da un procedimento assolutamente omogeneo, esse mostrano classici elementi anatomici, quali cavità, spine, raggi, biforcazioni, ecc. con simmetrie simmetrie radiali o bilaterali. Questo dimostra empiricamente come la varietà delle strutture che compongono l’anatomia di un essere vivente sono la conseguenza di un processo omogeneo di morfogenesi e di differenziamento, che purtroppo siamo ancora ben lungi dal comprendere. L’ultima analogia con le forme viventi riguarda il processo di selezione naturale, per il quale un gran numero di individui con mutazioni sfavorevoli è condannato a scomparire. Nel caso dell mie forme, la selezione l’ho fatta io. Moltissime erano almeno apparentemente senza logica (brutte, per intenderci)… e non sono sopravvissute.

Giacomo Diaz

COLLECT4COLLECT2COLLECT3COLLECT1

Deconvoluzione di un istogramma di frequenze, ovvero come estrarre le popolazioni contenute in un istogramma

 Senza categoria  Commenti disabilitati su Deconvoluzione di un istogramma di frequenze, ovvero come estrarre le popolazioni contenute in un istogramma
Mar 292014
 

Quando un istogramma di frequenze presenta più picchi siamo portati a supporre l’esistenza di un mix di popolazioni al suo interno.

Ma come fare per estrarre dall’istogramma i parametri delle popolazioni mescolate?

Se un istogramma raggruppa i dati di n popolazioni, mescolate tra loro, le incognite sono nx3:

  • le n medie delle popolazioni
  • le n deviazioni standard delle popolazioni
  • le n numerosità delle popolazioni.

Il problema non è ovviamente risolvibile mediante un sistema di equazioni lineari, ma esiste la possibilità di affrontarlo in modo empirico, con risultati soddisfacenti. Il metodo è il più banale di tutti, in quanto consiste nel provare numerosissime combinazioni di medie, deviazioni standard e valori di n sino a quando l’istogramma risultante non sia sufficientemente simile a quello dato. Ovviamente questo è un compito che solo un computer può affrontare.

Facciamo un esempio con due popolazioni.

Questo è l’istogramma di partenza:

Clip0002

E queste sono le due popolazioni estratte:

Clip0003

Confronto tra l’istogramma di partenza e quello prodotto dalle due popolazioni:

Clip0004

I parametri delle due popolazioni estratte:

 

media

ds

n

popolazione 1

11.13

6.98

154

popolazione 2

36.38

5.63

64

 

Un esempio, più complesso, con cinque popolazioni.

Istogramma di partenza:

Clip0005

E queste sono le cinque popolazioni estratte:

Clip0006

Confronto tra l’istogramma di partenza e quello prodotto dalle cinque popolazioni:

Clip0007

I parametri delle cinque popolazioni:

 

media

ds

n

popolazione 1

10.06

3.39

41

popolazione 2

24.52

5.55

78

popolazione 3

43.73

5.11

105

popolazione 4

72.74

8.30

132

popolazione 5

94.42

4.98

68

 

Tutto questo si può fare con Excel. La mano di un supervisore è comunque richiesta in quanto all’inizio occorre decidere (la cosa più importante) il numero delle popolazioni latenti e poi (ma questo non è importante) assegnare dei valori iniziali, del tutto arbitrari, di media, deviazione standard e numero di soggetti per ogni popolazione. Dopodiché il programma inizia calcolando il primo istogramma ottenuto con questi valori iniziali e l’errore rispetto all’istogramma di origine (errore stimato come la media della somma dei quadrati delle differenze tra le varie classi dell’istogramma originario e dell’istogramma prodotto dai dati inventati). Da questo momento l’algoritmo, ad ogni ciclo, modifica casualmente (entro un certo range) i valori iniziali, e per ogni nuovo valore calcola un nuovo istogramma e valuta la discrepanza rispetto all’istogramma originario. Se l’errore aumenta il nuovo valore viene rifiutato. Se invece diminuisce si accetta e parte un nuovo ciclo. Il processo continua sino a completare un certo numero di cicli prefissato ma può essere anche interrotto manualmente quando ad es. si vede che l’errore è diventato trascurabile. Normalmente con qualche migliaio di cicli (1-2 minuti di lavoro) si ottengono ottimi risultati.

Un noto problema in procedure come questa è quello dei cosiddetti minimi locali. Si può verificare un situazione in cui qualsiasi variazione dei valori entro un certo range non porti ad una riduzione dell’errore, per cui il processo va in stallo. Ci si rende conto di questo quando l’errore non diminuisce nonostante ilprogredire del numero dei cicli. Per risolvere questo problema basta aumentare, anche temporaneamente, il range di variazione dei valori (casella coefficiente di adattamento, 0.25 variazioni casuali fini – 4 variazioni casuali grossolane – normalmente si imposta 1), oppure modificare manualmente i parametri osservando quale è la popolazione con il maggiore errore (ma questa operazione è più delicata).

Le seguenti sono quattro schermate del fitting dell’ultimo istogramma. Notate il progressivo adattamento delle curve all’istogramma originario. I parametri iniziali sono del tutto arbitrari.Le medie (10, 30, 50, 70, 90) sono grossolanamente approssimate ai picchi. Le deviazioni standard: 5 per tutti. I valori n: 30 per tutti.

Il numero di cicli è fissato in 500

CICLO 1

fig.1

CICLO 10 – qualcosa si muove

fig.3

CICLO 41  – il fitting è già buono

fig.4

CICLO 500

Il fitting è ottimo. Anche aumentando di molto il numero di ciclo la l’errore non si riduce apprezzabilmente. Si possono leggere i valori delle medie, deviazioni standard e numerosità delle 5 distribuzioni.

fig.5

Note finali.

Purtroppo i nomi delle funzioni, sia quelle nello spreadsheet sia quelle nelle macro, variano a seconda della lingua e della versione di Office. Questo potrebbe creare problemi. Il mio programma  gira su Excel/Office 2010 in Inglese.

Il programma rallenta ovviamente con l’aumentare del numero di distribuzioni da estrarre. Per velocizzare il programma va molto bene restringere la finestra di Excel sino a lasciare visibili le sole caselle dell’errore ed i bottoni di comando (vedi figura). In questo modo,  non dovendo fare il refresh grafico delle caselle con le funzioni di calcolo,ho visto che  il programma diventa oltre 100 volte più veloce, ed effettua anche migliaia di cicli in pochi minuti. L’evoluzione del fitting può essere controllata dal valore di errore. Al termine si può espandere la finestra. Tutti i grafici sono ovviamente conservati ed aggiornati.

fig.6

Potete avere il programma inviandomi un email (gdiaz@unica.it).

HEATMAP – ovvero come non affogare in un oceano di numeri

 Bioinformatica, Excel, heat map, Senza categoria, Statistica  Commenti disabilitati su HEATMAP – ovvero come non affogare in un oceano di numeri
Mar 102010
 

 

Quando occorre valutare a colpo d’occhio l’andamento di centinaia o migliaia o anche milioni di dati è utile l’uso dei grafici cosidetti ‘heat-map’. In sostanza i grafici heat-map sostituiscono i numeri con diversi colori che differiscono di tonalità e/o di intensità a seconda dei valori stessi.

Per esempio la tabellina pitagorica trasformata in heat-map potrebbe apparire così:

Shot0001

La heat-map mostra subito che la tabella è simmetrica e che i valori variano in modo perfettamente graduale.

Cosa succede se alteriamo 2 dati della tabella? Osservando i numeri è piuttosto faticoso rendersi conto delle alterazioni mentre la heat-map le individua all’istante.

Shot0002

Nel campo della Bioinformatica l’heat-map è estremamente utile in quanto consente di controllare a colpo d’occhio l’espressione di un numero impressionante geni in un gran numero di soggetti.

Questa ad es. è una heat-map che rappresenta l’espressione di 36 geni (si tratta in effetti di microRNA) di 33 soggetti.

Shot0003

E’ evidente che vi sono due gruppi di soggetti contrapposti (a destra e a sinistra) ed allo stesso tempo vi sono due gruppi di microRNA contrapposti (in alto ed in basso).

Questo è abbastanza chiaro e se l’intenzione era solo quella di capire cosa vuol dire heat-map, quanto abbiamo visto è sufficiente. Per chi invece volesse anche crearle le heat-map, non solo comprenderne il significato, i problemi iniziano adesso. A dire il vero esistono già diversi programmi che generano heat-map. Ma quasi sempre si tratta di programmi dedicati a specifiche applicazioni, spesso molto costosi e con procedure poco flessibili.

Per evitare qualsiasi limitazione ho voluto creare una semplice applicazione in Excel. Quella attuale gira su Excel 64bit versione Office 2010, ma dovrebbe girare anche su altre versioni. E’ possibile ridimensionare ed esportare la heatmap con facilità su diversi documenti (es. Word o PowerPoint). Ma poiché le macro possono contenere virus pericolosi, occorre che nel vostro Excel le macro siano abilitate o che voi diate il consenso ad aprile il file. Il file è scaricabile da: HeatMap – Diaz – v022

Per creare la heat-map occorre:

1) Avere i dati in un foglio di qualsiasi file Excel aperto, purché il nome del foglio sia unico.

2) Che i dati non occupino le prime due rige del foglio.

3) Selezionare il blocco di celle del foglio contenente i dati di cui ci interessa creare la heatmap (al solito modo, con il mouse). I dati – come anche in altre applicazioni – devono avere le variabili (i geni) nelle righe ed i casi (soggetti) nelle colonne. Inoltre il blocco selezionato può contenere righe e colonne vuote. In corrispondenza di queste la heatmap creerà degli spazi utili ad es. per separare gruppi di geni o di soggetti.

Shot0004

Il foglio può anche contenere altri dati, grafici, ecc. sopra, sotto o a destra o a sinistra del blocco dei dati di cui vogliamo la heatmap. Solo le due righe sopra il blocco selezionato potranno essere sovrascritte da alcuni titoli.

A questo punto:

4) Passare al foglio Menù (vedi schermata sotto) del file di Excel che contiene il programma, stando attenti a non de-selezionare il blocco del foglio dei dati. Per passare da un file all’altro è molto utile la combinazione dei tasti <Ctrl>Tab.

4) Scrivere nel text box con sfondo giallo il nome del folglio di Excel contenente il blocco dei dati precedentemente selezionati. Il nome del foglio deve essere unico tra i nomi di tutti i fogli dei files di Excel aperti.

5) Calcolare le statistiche [statistics] per conoscere i valori di media, media, percentili, ecc. dei dati (di tutti complessivamente).

6) Settare il numero di decimali (0-4) e la grandezza dei caratteri (8-12) dell’output.

7) Considerare se e come i dati devono essere trasformati [transformations].

Vi sono 5 opzioni:

  • nessuna trasformazione
  • dati centrati sulla media (consigliata)
  • dati standardizzati (centrati sulla media e normalizzati sulla DS) (consigliata)
  • dati centrati sulla mediana
  • dati rapportati alla media

Queste trasformazioni hanno diversi significati che è impossibile discutere ora. I dati trasformati compariranno in nuove colonne formate ex-novo a sinistra del blocco dei dati, per cui tutti il contenuto del foglio resterà intatto, ma spostato verso destra di qualche colonna. Attenzione però: Excel non consente di inserire nuove colonne se l’ultima colonna a destra del foglio contiene dati. Questo problema può capitare con le versioni di Excel limitate a 255 colonne. Nelle ultime colonne potrebbero non esserci dati, ma solo linee (cornici di celle) o colori o semplicemente formati estesi su una intera riga. Se il programma dovesse dare un messaggio di impossibilità a creare nuove colonne, basta cancellare il contenuto del maggior numero di colonne all’estrema sinistra. Evitato o risolto questo problema, possiamo dare un’occhiata ai dati trasformati, ma non è necessario. Comunque se lo facciamo dobbiamo stare attenti a non alterare in alcun modo la selezione che ora è sui dati trasformati = nessun click sul foglio dei dati! Altrimenti dobbiamo ri-selezionare manualmente i dati trasformati.

8) Dopo la trasformazione dobbiamo ricalcolare le statistiche [statistics] per conoscere i nuovi valori di media, media, percentili, ecc.

9) Se in base alle statistiche la trasformazione operata non sembra appropriata, possiamo eliminare dal foglio contenente i dati tutte le colonne aggiunte con i dati trasformati e ricominciare dal punto 3.

10) Se invece la trasformazione è approprita possiamo proseguire il procedimento indicando il range dei valori che saranno rappresentati dalle diverse intensità dei due colori [lower threshold] [upper threshold]

11) Infine selezioniamo la combinazione di colori, [green-red, o altre].

12) Verrà così creata la heatmap. La heatmap sarà costituita da tanti quadratini colorati (‘shapes’ di Excel) posti all’interno delle celle. Il vantaggio sarà che possiamo ridimensionare l’heatmap semplicemente variando la larghezza e/o l’altezza delle righe. Possiamo anche fare copia e incolla, ecc.

Ovviamente, la creazione della heatmap richiederà tempi diversi a seconda delle prestazioni del computer e del numero di geni e di soggetti (da pochi secondi a molti minuti). Inizialmente provate con piccoli blocchi di dati.

Perché la heatmap sia visivamente efficace occorre anche che i dati siano disposti in modo da rappresentare gruppi di geni e di soggetti il più possibile simili tra loro, in modo da produrre aree di colore le più omogenee possibili. Fare questo non è impresa semplicissima. Se non abbiamo altre indicazioni (come ad. es gruppi funzionali di geni: geni dell’immunità innata, dell’immunità adattativa, del ciclo cellulare, oncogeni, ecc.; come anche gruppi di soggeti: pazienti e controlli), è necessario ricorrere ad una Cluster analysis. L’ordine dei dati in Excel dovrà corrispondere all’ordinamento ottenuto dalla Cluster analysis.

Altre indicazioni sono presenti nel foglio del Menu.

Buon divertimento.

Giacomo Diaz
gdiaz@unica.it

credits unica.it | accessibilità Università degli Studi di Cagliari
C.F.: 80019600925 - P.I.: 00443370929
note legali | privacy

Nascondi la toolbar