Prima di iniziare: Inviare una mail all indirizzo : Scaricare i files per la lezione di oggi dal sito:

Documenti analoghi
MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Generazione di Numeri Casuali- Parte 2

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Introduzione al MATLAB c Parte 3 Script e function

Laboratorio di Python

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI INGEGNERIA AEROSPAZIALE D.I.A.S. STATISTICA PER L INNOVAZIONE. a.a.

NOTE DALLE LEZIONI DI STATISTICA MEDICA ED ESERCIZI VERIFICA DI IPOTESI PER IL CONFRONTO TRA DUE PROPORZIONI

STATISTICA MATEMATICA 1 A.A. 2009/10 LABORATORIO DI SAS A. MICHELETTI

STATISTICA PER LA DIGITAL ECONOMY 2017

Imparare a utilizzare le formule e le funzioni

Corso di Laurea in Ingegneria Informatica e Automatica (M-Z) Università di Roma La Sapienza

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

Presentazione dell edizione italiana

Ulteriori applicazioni del test del Chi-quadrato (χ 2 )

Esercitazioni di Algebra e Geometria

PROBABILITÀ SCHEDA N. 7 LA VARIABILE ALEATORIA NORMALE

Le matrici. Sia K un campo con elemento neutro dell addizione 0 ed elemento neutro della moltiplicazione 1.

Statistica Sociale - modulo A

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari

Metodi numerici con elementi di Programmazione A.A

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

Laboratorio di Sperimentazioni di Fisica I MOD A. 14 ottobre 2009

Laboratorio di Calcolo Numerico

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Analisi della varianza

Corso di Calcolo Numerico

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Statistica. Lezione 8

Capitolo 11 Test chi-quadro

Corso di Psicometria Progredito

Analisi della varianza a una via

A = Quindi > b=a(:) b =

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Introduzione al MATLAB c Parte 2

Nozioni preliminari... 1 Notazioni... 1 Alcunirichiamidianalisimatematica... 3 Sommeinfinite... 3

Calcolo Parallelo. Domanda. In particolare. Qual è l algoritmo parallelo. PROBLEMA: Prodotto Matrice-Vettore

CORSO DI STATISTICA (parte 1) - ESERCITAZIONE 3

Mini-Corso di Informatica

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

LEZIONE 1 C =

Corso di Matematica e Statistica 3 Algebra delle matrici. Una tabella rettangolare: la matrice. Una tabella rettangolare: la matrice

Laboratorio di Matlab

{ } corrisponde all uscita della faccia i-esima del dado. La distribuzione di probabilità associata ( )

I test statistici sulle frequenze

Statistica. Lezione 1

MATLAB Elementi di grafica Costrutti di programmazione

Esercizi svolti. delle matrici

Inferenza statistica

Elementi Elem d enti i d I i nf I orm nf a orm tic a a tic a e Applicazioni Numeriche T I File in Octave

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Fondamenti di Informatica

STATISTICA LAB. Analisi dei dati con R - Ex 2. Marta Nai Ruscone. LIUC - Università Carlo Cattaneo, Castellanza STATISTICA LAB

Elementi di Psicometria con Laboratorio di SPSS 1

Esercitazione: La distribuzione NORMALE

Analisi della regressione multipla

INFERENZA STATISTICA I (CANALE B)

Appunti su Indipendenza Lineare di Vettori

Introduzione a Matlab

Il determinante. Calcolo del determinante di matrici particolari. matrici di ordine 2: sia. a11 a A = allora

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali

Esercitazione. 24 Aprile 2012

IL CRITERIO DELLA MASSIMA VEROSIMIGLIANZA

Corso di Informatica. Esercitazione V [da Fluency with Information Technology, Addison Wesley] Esercitazione V

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

INFERENZA STATISTICA I (CANALE B)

8 Introduzione MATLAB

U-GOV - RU Simulazione contratto. Versione 0.1 Manuale operativo

ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB

Excel come foglio di calcolo. Altri Grafici con Excel Istogrammi, grafici a torta

Capitolo 5 Variabili aleatorie discrete notevoli Insegnamento: Statistica Applicata Corso di Laurea in "Scienze e Tecnologie Alimentari"

Ulteriori Conoscenze di Informatica e Statistica

Dalla tabella alla funzione canonica

Introduzione alla programmazione Esercizi risolti

Realizzare un business plan con Excel 2003

Probabilita' mediante l'analisi combinatoria D n,k =Disposizioni di n oggetti a k a k (o di classe k)

Domande di teoria. Esercizi

Analisi Bivariata: Test Statistici

Introduzione a Matlab Costruzione di Macchine 2 Prof. Sergio Baragetti

Dipendenza e indipendenza lineare (senza il concetto di rango)

Statistica ARGOMENTI. Calcolo combinatorio

Data Import pulizia dati e Probabilità. Renato Mainetti

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

Statistica Compito A

Corso di Matematica per la Chimica

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Capitolo 12. Suggerimenti agli esercizi a cura di Elena Siletti. Esercizio 12.1: Suggerimento

Matlab. Istruzioni condizionali, cicli for e cicli while.

Algebra di Boole X Y Z V. Algebra di Boole

Lezione 25: File Mercoledì 18 Novembre 2009

RANKER: strumento software per il calcolo e la valutazione comparata di indici sintetici

Variabile casuale E 6 E 5 E 4. R S x1 E 2

ESERCIZIO 1. Vengono riportati di seguito i risultati di un analisi discriminante.

Manuale SQL. Manuale SQL - 1 -

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

1 Eventi. Operazioni tra eventi. Insiemi ed eventi. Insieme dei casi elementari. Definizione di probabilità.

Rischio relativo e Odds Ratio

Esercitazione

Transcript:

Prima di iniziare: Inviare una mail all indirizzo : rmgmrc@unife.it Scaricare i files per la lezione di oggi dal sito: http://www.unife.it/ing/lm.meccanica/insegnamenti/statistica-e-modellidi-dati-sperimentali Sezione materiale didattico->matlab

Creare la tabella di contingenza Individua la frequenza con cui valori di due variabili aleatorie vengono associati. La funzione «crosstab» permette di valutare una tabella di contingenza a partire da due vettori numerici. Individua automaticamente i valori osservabili per ogni vettore e ne conta la frequenza x y caso 1 x 1 y 2 caso 2 x 1 y 1 caso 3 x 2 y 2 caso 4 x 2 y 1 caso 5 x 1 y 1. caso n x 1 y 1 crosstab(x,y) y 1 y 2 x 1 # casi con x 1 & y 1 # casi con x 1 & y 2 x 2 # casi con x 1 & y 1 # casi con x 2 & y 2

COMANDI MATLAB (1) Aprire il dataset «dati2x2.mat» Eseguire il comando: >> m=crosstab(x,y) m = 10 8 7 5

Come calcolare la probabilità di soglia Data una generica tabella di contingenza a c la probabilità di ottenere un conteggio a di y 1 tra i gli elementi x1 nella eventualità in cui si presentino indifferentemente nei casi x 1 e x 2 b d p = a+b a n a+c c+d c ; Es: y==salute (malato/sano) & x==genere(m/f), p indica la probabilità di osservare a malati maschi in un campione statistico di n=a+b+c+d soggetti dei quali a+c sono malati, nel caso in cui il morbo non faccia differenze di genere

COMANDI MATLAB (2) La formula per la probabilità di soglia può essere calcolata in MATLAB con l utilizzo della funzione: Eseguire i comandi: nchoosek n, k = n k ; >> a=m(1,1); >> a=m(1,1); >> b=m(1,2); >> c=m(2,1); >> d=m(2,2); >> p_cut1=nchoosek(a+b,a)*nchoosek(c+d,c)/nchoosek(a+b+c+d,a+c) p_cut1 =0.2894

COMANDI MATLAB (3) La probabilità di soglia può essere calcolata in MATLAB direttamente dalla funzione di densità di probabilità con l utilizzo della funzione: pdf( Hypergeometric, #successi, #elementi campione, #elementi favorevoli, #estrazioni) Eseguire i comandi: >> p_cut2=pdf('hypergeometric',a,a+b+c+d,a+c,a+b) p_cut2 = 0.2894

Individuare le tabelle di contingenza equivalenti Per proseguire occorre individuare le combinazioni per le quali le somme degli elementi in riga e in colonna siano invarianti (ovvero i possibili casi esistenti con lo stesso numero totale di casi y 1-2 e lo stesso numero di estrazioni di x 1-2 ) Es: continuando a considerare x==(maschio/femmina) & y==(malato/sano), individuo tutti i possibili casi (combinazioni) per i quali osservo lo stesso numero di malati e di sani, senza cambiare la percentuale di maschi e femmine nel campione.

COMANDI MATLAB (4) Utilizzando dei cicli è facile ottenere tutte le possibili combinazioni di tabella di contingenza con somma degli elementi in riga invariante, selezionando tra queste solo quelle che mantengono invariata la somma degli elementi in colonna (o viceversa). Eseguire il comando: >> matrix_eq R =(18 ; 12) C = (17 13) n_matrix = 12

Calcolare la probabilità dei casi Per ogni tabella individuata, va calcolata la probabilità come nel caso originale Le combinazioni con probabilità uguale o inferiore vanno sommati, e indicano la probabilità di errore nello scartare l ipotesi che le variabili x e y siano tra loro indipendenti

COMANDI MATLAB (5) Eseguire il comando: >> p_fisher p1 = 1.0000 p2 = 1.0000 Nb: lo script esegue i calcoli della probabilità in entrambe le modalità precedentemente spiegate. I due metodi sono equivalenti.

Matlab aiuta: funzione «fishertest» Matlab possiede una funzione che a partire da una tabella di contingenza è in grado di eseguire il test esatto di Fisher esito test(1 0), probabilità = fishertest tabella di contingenza Nell argomento della funzione è possibile specificare il parametro di rischio fishertest, Alpha, α È inoltre possibile cambiare la ipotesi iniziale H0 da indipendenza tra variabili per verificare se la eventuale dipendenza tra v.a. aumenta ( right ) o diminuisce ( left ) la probabilità di osservare y 1 in un campione x 1 fishertest, right or left,

COMANDI MATLAB (6) Eseguire il comando: [h,p]=fishertest(m) h = 0 p =1.0000 Nb: h=0 quindi il test non rigetta la indipendenza delle due variabili Nb: h in nel workspace di MATLAB non è un numero intero ma una valore logico Nb: utile per controllare velocemente risultato esercizio (da formulazione della tabella di contingenza in poi)

Test di Fisher per variabili con >2 valori possibili Il test esatto di Fisher è applicabile anche nei casi in cui le variabili aleatorie abbiano più di 2 possibili valori osservabili La probabilità di soglia in questo caso viene derivata dalla distribuzione ipergeometrica generalizzata p = #elementi favorevoli ς i i=1 # successi i dimensione campione #estrazioni ς i=1 somma elementi riga i elemento colonna 1 riga i dimensione campione somma elementi prima colonna

COMANDI MATLAB (7) La implementazione in Matlab è analoga a quanto affrontato nel caso precedente, per la risoluzione è utilizzato uno script dal sito ufficiale di file exchange di Matlab (dettagli in appendice 3) >> [H,P]=FisherExactTest(x,y) H = 1 P = 4.1989e-04 Nb: H= 1 quindi il test rigetta la indipendenza delle due variabili

APPENDICE 1: script «matrix_eq» R=sum(m,2) %calcolo la somma delle righe della tabella di contingenza C=sum(m) %calcolo la somma delle colonne della tabella di contingenza n_matrix=1; %inizializzo indice matrice delle tabelle di contingenza equivalenti %ciclo per calcolare tutte le possibili tabelle di contingenza equivalenti for a=1:r(1) b=r(1)-a; %individuo elementi prima riga in modo che la loro somma non cambi for c=1:r(2); d=r(2)-c; %individuo elementi prima riga in modo che la loro somma non cambi if a+c==c(1) && b+d==c(2) && a~=m(1,1) && d~=m(2,2) tabella iniziale M(:,:,n_matrix)=[a b; c d]; n_matrix=n_matrix+1; end end end n_matrix %numero totale di combinazioni, tabella di contingenza originale compresa %verifico che la somma delle colonne non cambi\non ripetere la

APPENDICE 2: script «p_fisher» p1=p_cut1; %inizializzo la probabilità (1) p2=p_cut2; %inizializzo la probabilità (2) %ciclo per tutte le tabelle di contingenza equivalenti for n=1:size(m,3) a=m(1,1,n); %calcolo elementi tab (solo per maggior chiarezza nei passaggi successivi) b=m(1,2,n); c=m(2,1,n); d=m(2,2,n); test1=nchoosek(a+b,a)*nchoosek(c+d,c)/nchoosek(a+b+c+d,a+c); %calcolo la prob per la tabella selezionata test2=pdf('hypergeometric',a,a+b+c+d,a+b,a+c); if test1<=p_cut1 %verifico se la prob della tabella è più estrema o ugualmente probabile p1=p1+test1; end if test2<=p_cut2 p2=p2+test2; end end p1 p2

APPENDICE 3: script «FisherExactTest» Lo script è reperibile sul sito di Matlab al link: https://it.mathworks.com/matlabcentral/fileexchange/24379-fisher-sexact-test-with-n-x-m-contingency-table Questo script è stato scritto da Lowell Guangdi il 2009/06/08, è stato riveduto il 2010/01/28

APPENDICE 4: funzioni utilizzate Funzione Utilizzo input Output crosstab(x,y) Calcolo tabella di contingenza 2 vettori numerici 1 d, ogni diverso valore viene associato a un tipo di osservabile Matrice n x m con la frequenza di associazione tra nchoosek(n,k) Calcolo coefficiente binomiale n k 2 scalari 1 scalare pdf( tipo v.a., x, p1,,pn) Calcolo valori funzione di densità di probabilità di una v.a. in uno o più punti Tipo: nome v.a., inserire come testo (es: Hypergeometric ) x=valori nei quali viene calcolata la pdf. Può essere scalare o un vettore p1,,pn: parametri per definire la distribuzione. Scalari. Importante l ordine, sul sito matlab indicazioni per ogni tipo di v.a In base a x, o scalare o vettore [h,p]=fishertest(tbl, Alpha, α, side) Effettua test esatto di fisher tbl: tabella di contingenza, matrice numerica 2 x 2, i valori devono essere tutti interi 0 Alpha, α: coefficiente di rischio, indica l errore statistico che si è disposti ad accettare nel rigettare H o, il parametro α è uno scalare compreso tra 0 e 1. nel caso non venisse specificato, il test viene comunque effettuato assumendo α=0.05 side: indica varianti del test esatto di fisher. Se non viene indicato o se si inserisce both viene effettuato il test standard. Se viene inserito il right si va ad testare se y1 e x1 interagiscono positivamente (aumento probabilità). Se viene inserito left viene fatto iltest opposto Se nulla viene specificato, viene comunicato solo l esito del test: 0==fallimento a rigettare H o, 1==rigetto H o h=esito test, p=probabilità che le due v.a. testate siano indipendenti