Applicazione Pratica Metodi per l'analisi di dati qualitativi binari
Applicazione Pratica Metodi per l'analisi di dati qualitativi binari
Applicazione Pratica Metodi per l'analisi di dati qualitativi binari
Trasformi i suoi PDF in rivista online e aumenti il suo fatturato!
Ottimizzi le sue riviste online per SEO, utilizza backlink potenti e contenuti multimediali per aumentare la sua visibilità e il suo fatturato.
<strong>Applicazione</strong> <strong>Pratica</strong><strong>Meto<strong>di</strong></strong> <strong>per</strong> l’analisi <strong>di</strong> <strong>dati</strong> <strong>qualitativi</strong> <strong>binari</strong>Corso teorico-praticoStatistica me<strong>di</strong>ca applicata alla ricerca clinicaGabriele ACCETTA9 ottobre 2009Consideriamo i <strong>dati</strong> sul trattamento dell’artrite reumatoide:ImproveSex Treatment NO YES Total----------------------------------------------------F Treated 6 21 27F Placebo 19 13 32M Treated 7 7 14M Placebo 10 1 11----------------------------------------------------La variabile <strong>di</strong> risposta è “improve”. Le variabili “treatment” e “sex” sono variabili esplicative.■Inserire i <strong>dati</strong> in STATA ed etichettare opportunamente le variabili.clearinput sex treatment improve freq0 1 0 60 0 0 191 1 0 71 0 0 100 1 1 210 0 1 131 1 1 71 0 1 1endlabel define _sex 1 "Male" 0 "Female"label define _treatment 1 "Treated" 0 "Placebo"label define _improve 1 "Yes" 0 "No"label values sex _sexlabel values treatment _treatmentlabel values improve _improvee<strong>di</strong>texpand freqdrop freqe<strong>di</strong>tSia π la probabilità che un soggetto abbia un miglioramento (improve = yes). E’ possibilemodellare la probabilità π me<strong>di</strong>ante log odds (= logit):logitπ⎜⎝1− π⎛ ⎞( π) = log ⎟⎠1
■Calcolare <strong>per</strong> i soggetti trattati e <strong>per</strong> i soggetti non trattati le probabilità π, gli odds e i logit.Calcolare, infine, l’odds ratio dei soggetti trattati rispetto ai non trattati.tab improve treatment, col| treatmentimprove | Placebo Treated | Total-----------+----------------------+----------No | 29 13 | 42| 67.44 31.71 | 50.00-----------+----------------------+----------Yes | 14 28 | 42| 32.56 68.29 | 50.00-----------+----------------------+----------Total | 43 41 | 84| 100.00 100.00 | 100.00<strong>di</strong> "Odds(Placebo) = " 0.3256/(1-0.3256) " Logit(Placebo) = " log(0.3256/(1-0.3256))<strong>di</strong> "Odds(Treated) = " 0.6829/(1-0.6829) " Logit(Treated) = " log(0.6829/(1-0.6829))TABELLA 1:TREAT IMPROVE Total Prob Odds Logit Odds Ratio---------------------------------------------------------------------Placebo 14 43 0.3256 0.48 -0.728 1Treated 28 41 0.6829 2.15 0.767 4.48---------------------------------------------------------------------■Calcolare le probabilità π, gli odds, i logit e gli odds ratio stratificando <strong>per</strong> genere.table sex improve treatment, col------------------------------------------------------| treatment and improve| ----- Placebo ----- ----- Treated -----sex | No Yes Total No Yes Total----------+-------------------------------------------Female | 19 13 32 6 21 27Male | 10 1 11 7 7 14------------------------------------------------------<strong>di</strong> "Odds(Male,Treated) = " 0.5/(1-0.5) " Logit(Male,Treate) = " log(0.5/(1-0.5))<strong>di</strong> "Odds(Male,Placebo) = " 0.0909/(1-0.0909) " Logit(Male,Placebo) = " log(0.0909/(1-0.0909))<strong>di</strong> "Odds(Female,Treated) = " 0.778/(1-0.778) " Logit(Female,Treated) = " log(0.778/(1-0.778))<strong>di</strong> "Odds(Female,Placebo)= " 0.4062/(1-0.4062) " Logit(Female,Placebo) = " log(0.4062/(1-0.4062))TABELLA 2:SEX TREAT IMPROVE Total Prob Odds Logit------------------------------------------------------------------Female Treated 21 27 0.7778 3.50 1.2529Female Placebo 13 32 0.4062 0.68 -0.3797Male Treated 7 14 0.5000 1.00 0.0000Male Placebo 1 11 0.0909 0.10 -2.3026------------------------------------------------------------------Il modello <strong>di</strong> regressione logistica esprime il logit del soggetto j come funzione lineare dellevariabili esplicative:(j) = α + β1TREATMENTjlogit π (1)2
dove• TREATMENT è la variabila esplicativa (<strong>di</strong>cotomica)• alpha è il log-odds nel caso <strong>di</strong> miglioramento (improve = yes) <strong>per</strong> i soggetti che hannoricevuto il placebo (treatment = 0)• beta1 è l’incremento del logit <strong>per</strong> i soggetti trattati rispetto ai soggetti che ricevono il placebo■ Stimare il modello <strong>di</strong> regressione logistica (1)logit improve treatmentIteration 0: log likelihood = -58.224363Iteration 1: log likelihood = -52.753669Iteration 2: log likelihood = -52.74361Iteration 3: log likelihood = -52.74361La stima <strong>di</strong> massima verosimiglianza si ottiente con una procedura iterativa. Ad ogni iterazioneviene riportata la log-verosimiglianza. La log-verosimiglianza all’iterazione 0 è relativa al modellonullo, cioè al modello senza variabili esplicative.Logistic regression Number of obs B = 84LR chi2(1) C = 10.96Prob > chi2 D = 0.0009Log likelihood A = -52.74361 Pseudo R2 E = 0.0941------------------------------------------------------------------------------improve | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------treatment | 1.495494 .4674919 3.20 0.001 .5792263 2.411761_cons | -.7282385 .3254402 -2.24 0.025 -1.36609 -.0903874------------------------------------------------------------------------------ALog likelihood – Log-verosimiglianza del modello finale.BNumber of obs – Numero <strong>di</strong> osservazioni utlizzate nel modelo. Può essere <strong>di</strong>verso dal numero <strong>di</strong>osservazioni contenute nel data set a causa <strong>di</strong> valori mancanti.C LR chi2(2) – Test sul rapporto <strong>di</strong> verosimiglianza. Si ottiene come 2*(58.224363 -52.74361 ) =10.961506, cioè 2 (logverosimiglianza modello nullo – logverosimiglianza modello finale). Ilnumero in parentesi in<strong>di</strong>ca i gra<strong>di</strong> <strong>di</strong> libertà del chi2 (2 variabili esplicative = 2 gra<strong>di</strong> <strong>di</strong> libertà).D Prob > chi2 - Valore pE Pseudo R2 - Non ha lo stesso significato dell’R 2con molta cautela.nella regressione or<strong>di</strong>naria (OLS). Da utilizzarelogit , orLogistic regression Number of obs = 84LR chi2(1) = 10.96Prob > chi2 = 0.0009Log likelihood = -52.74361 Pseudo R2 = 0.0941------------------------------------------------------------------------------improve | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------treatment | 4.461538 2.085733 3.20 0.001 1.784657 11.15359------------------------------------------------------------------------------3
■Stimare un modello <strong>di</strong> regressione logistica che contenga le variabili esplicative treatment esex.logit( πj) = α + β1TREATMENTj+ β2SEXjlogit improve treatment sexIteration 0: log likelihood = -58.224363Iteration 1: log likelihood = -49.301377Iteration 2: log likelihood = -49.111673Iteration 3: log likelihood = -49.110774Logistic regression Number of obs = 84LR chi2(2) = 18.23Prob > chi2 = 0.0001Log likelihood = -49.110774 Pseudo R2 = 0.1565------------------------------------------------------------------------------response | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------treatment | 1.78168 .518752 3.43 0.001 .764945 2.798415sex | -1.468654 .5756451 -2.55 0.011 -2.596898 -.3404104_cons | -.4350571 .3452034 -1.26 0.208 -1.111643 .2415292------------------------------------------------------------------------------sex - La stima <strong>di</strong> beta <strong>per</strong> la variabile sex è -1.469. Ciò vuol <strong>di</strong>re che <strong>per</strong> un incremento <strong>di</strong> unaunità della variabile sex (cioè se si passa da 0=female a 1=male) ci aspettiamo un incremento inlogodds <strong>di</strong> -1.467. In altre parole l’odds ratio degli uomini rispetto alle donne è exp(-1.468654)=.23023517.logit, or------------------------------------------------------------------------------response | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------treatment | 5.939828 3.081298 3.43 0.001 2.148876 16.41861sex | .2302351 .1325337 -2.55 0.011 .0745043 .7114782------------------------------------------------------------------------------■ Si riproducano le stime dei logit calcolati nella Tabella 2pre<strong>di</strong>ct logit ,xbtable sex treat, c(mean logit)--------------------------------| treatsex | Placebo Treated----------+---------------------0 | -.4350571 1.3466231 | -1.903711 -.122031--------------------------------■Importare il file “artrite con eta.dta” e stimare un modello che includa anche la variabilecontinua (centrata rispetto alla me<strong>di</strong>a) age_cen.(j) = α + β1TREATMENTj+ β2SEXj+ β3AGE _ CENjlogit π .use "G:\DIDATTICA\STAT MED ISPO\artrite con eta.dta", cleare<strong>di</strong>tsum ageVariable | Obs Mean Std. Dev. Min Max-------------+--------------------------------------------------------age | 84 53.35714 12.76917 23 744
hist age, bin(10)Density0 .01 .02 .03 .0420 30 40 50 60 70agegenerate age_cen = age- 53.35714logit improve trt sex age_cenIteration 0: log likelihood = -58.224363Iteration 1: log likelihood = -46.398572Iteration 2: log likelihood = -46.034756Iteration 3: log likelihood = -46.031402Iteration 4: log likelihood = -46.031402Logistic regression Number of obs = 84LR chi2(3) = 24.39Prob > chi2 = 0.0000Log likelihood = -46.031402 Pseudo R2 = 0.2094------------------------------------------------------------------------------improve | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------trt | 1.759804 .5364954 3.28 0.001 .7082924 2.811316sex | -1.487831 .5947694 -2.50 0.012 -2.653558 -.3221046age_cen | .0487465 .0206629 2.36 0.018 .0082479 .0892452_cons | -.4144851 .35909 -1.15 0.248 -1.118288 .2893183------------------------------------------------------------------------------Abbiamo centrato la variabile age in modo da dare senso alla stima <strong>di</strong> alpha (_cons).age_cen - La stima <strong>di</strong> beta <strong>per</strong> la variabile age_cen è 0.0487465 Ciò vuol <strong>di</strong>re che <strong>per</strong> unincremento <strong>di</strong> una unità della variabile age_cen (ad esempio, se si passa 58 a 59 anni) ci aspettiamoun incremento in logodds <strong>di</strong> 0.0487465. Per un incremento <strong>di</strong> 4 unità della variabile age_cen ciaspettiamo un incremento in logodds <strong>di</strong> 5*0.0487465. In altre parole l’odds ratio associato a<strong>di</strong>ncrementi <strong>di</strong> 5 anni è exp(5*0.0487465)= 1.276003.lincom 5*age_cen, eform( 1) 5 age_cen = 0------------------------------------------------------------------------------improve | exp(b) Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------(1) | 1.276003 .1318299 2.36 0.018 1.042102 1.562404------------------------------------------------------------------------------■Sostituire nel modello precedente la variabile continua age_c con la variabile età sud<strong>di</strong>visain categorie: =61 anni.5
egen age_cat = cut(age), at(23 41 51 61 75) icodeslogit( π )j= α + β1TREATMENTλλ1λ234I(AGEI(41
■■Commentare le <strong>di</strong>fferenze tra il modello con l’età continua e il modello con l’età in classi.Aggiungere al modello con l’età continua l’interazione tra il trattamento e il generequietly xi:logit improve trt sex age_cenestimates store Axi: logit improve trt sex i.trt*sexestimates store Bage_ceni.trt _Itrt_0-1 (naturally coded; _Itrt_0 omitted)i.trt*sex _ItrtXsex_# (coded as above)note: _Itrt_1 dropped because of collinearitynote: sex dropped because of collinearityIteration 0: log likelihood = -58.224363Iteration 1: log likelihood = -46.280111Iteration 2: log likelihood = -45.830035Iteration 3: log likelihood = -45.817973Iteration 4: log likelihood = -45.817937Logistic regression Number of obs = 84LR chi2(4) = 24.81Prob > chi2 = 0.0001Log likelihood = -45.817937 Pseudo R2 = 0.2131------------------------------------------------------------------------------improve | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------trt | 1.56216 .6096864 2.56 0.010 .367197 2.757124sex | -2.040785 1.11987 -1.82 0.068 -4.235689 .1541191_ItrtXsex_1 | .8461941 1.344667 0.63 0.529 -1.789305 3.481693age_cen | .048854 .0204109 2.39 0.017 .0088493 .0888586_cons | -.3406496 .3753771 -0.91 0.364 -1.076375 .3950761------------------------------------------------------------------------------LOGITFemale, Placebo, Age=mean -.3406496Female, Treated, Age=mean 1.2215104 = -.3406496 + 1.56216Male, Placebo, Age=mean -2.3814346 = -.3406496 - 2.040785Male, Treated, Age=mean .0269195 = -.3406496 - 2.040785 + 1.56216 + .8461941ODDSFemale, Placebo, Age=mean.71130811 = exp(-.3406496)Female, Treated, Age=mean3.3923076 = exp(1.2215104)Male, Placebo, Age=mean .0924179 = exp(-2.3814346)Male, Treated, Age=mean 1.0272851 = exp(.0269195)ODDS RATIOFemale, Placebo, Age=mean 1Female, Treated, Age=mean 4.77Male, Placebo, Age=mean 0.13Male, Treated, Age=mean 1.44■Testare la significatività dell’interazione trx*sex me<strong>di</strong>ante likelihood ratio test.lrtest A BLikelihood-ratio test LR chi2(1) = 0.43(Assumption: A nested in B) Prob > chi2 = 0.51357
Linear pre<strong>di</strong>ction-3 -2 -1 0 1 2Pr(improve)0 .2 .4 .6 .8-30 -20 -10 0 10 20age_cen-30 -20 -10 0 10 20age_cenodds0 2 4 6 8-30 -20 -10 0 10 20age_cen8