1. Raccolta dei Dati e Struttura del Dataset

Per costruire un modello di predizione del peso di un neonato abbiamo a disposizione un dataset con n = 2500 righe e 10 colonne che rappresentano le variabili. Le variabili raccolte includono:

Ecco una rappresentazione delle prime 5 righe del dataset

Anni.madre N.gravidanze Fumatrici Gestazione Peso Lunghezza Cranio Tipo.parto Ospedale Sesso
26 0 0 42 3380 490 325 Nat osp3 M
21 2 0 39 3150 490 345 Nat osp1 F
34 3 0 38 3640 500 375 Nat osp2 M
28 1 0 41 3690 515 365 Nat osp2 M
20 0 0 38 3700 480 335 Nat osp3 F
32 0 0 40 3200 495 340 Nat osp2 F

Panoramica degli indici di posizione e variabilità delle variabili (per quelle qualitative non ha senso calcolarli):

Anni.madre N.gravidanze Fumatrici Gestazione Peso Lunghezza Cranio
Min. : 0.00 Min. : 0.0000 Min. :0.0000 Min. :25.00 Min. : 830 Min. :310.0 Min. :235
1st Qu.:25.00 1st Qu.: 0.0000 1st Qu.:0.0000 1st Qu.:38.00 1st Qu.:2990 1st Qu.:480.0 1st Qu.:330
Median :28.00 Median : 1.0000 Median :0.0000 Median :39.00 Median :3300 Median :500.0 Median :340
Mean :28.16 Mean : 0.9812 Mean :0.0416 Mean :38.98 Mean :3284 Mean :494.7 Mean :340
3rd Qu.:32.00 3rd Qu.: 1.0000 3rd Qu.:0.0000 3rd Qu.:40.00 3rd Qu.:3620 3rd Qu.:510.0 3rd Qu.:350
Max. :46.00 Max. :12.0000 Max. :1.0000 Max. :43.00 Max. :4930 Max. :565.0 Max. :390

Notiamo il minimo dell avariabile Anni.madre uguale a zero. Questo è sicuramente un errore del dataset, per questo sostituiamo tutti i valori di Anni.madre minori o uguali di 10 con la mediana della variabile. Così la media di Anni.madre risulta 28.19 e il minimo risulta 13.

Correlazioni tra le variabili

Dalla seguente immagine di descrizione delle correlazioni tra le variabili quantitative osserviamo che quelle che potrebbero condizionare maggiormente il Peso sono: Lunghezza, Cranio e Gestazione. Mentre le variabili con una bassa correlazione sono: Anni.madre, N.gravidanze.

Per quanto riguarda le variabili qualitative si può osservare i seguenti plotbox per valutare la correlazione a livelo grafico. Ma prima verifichiamo la normalità della variabile Peso con un test Shapiro-Wilk:

## 
##  Shapiro-Wilk normality test
## 
## data:  Peso
## W = 0.97066, p-value < 2.2e-16

Il p_value di questo test è molto minore del 5%, per cui rifiutiamo l’ipotesi di normalità, pertanto la variabile Peso non è distribuita normalmente. Nonostante la sua densità possa far pensare il contrario.

Correlazione tra Peso e Fumatrici

Sembra che ci sia una minima differenza di peso tra le non-fumatrici (0) e le fumatrici (1). Per controllare se la differenza è significativa operiamo con un Wilcoxon test.

## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  Peso and Fumatrici 
## 
##   0   
## 1 0.06
## 
## P value adjustment method: bonferroni

Il p-value di questo test risulta 0.06, questo valore è al limite ma comunque maggiore del livello di confidenza alfa = 5%, per cui si rifiuta l’ipotesi di significatività.

Si conclude che non c’è correlazione significativa tra le variabili Peso e Fumatrici, forse perchè in questo dataset il numero di fumatrici è 104 su 2500 e potrebbero essere poche informazioni per definire una correlazione.

Correlazione tra Peso e Sesso:

In questo caso c’è una netta differenza per cui il peso dei neonati maschi è maggiore in media a quelle delle femmine. Ma va verificato tramite un test Wilcoxon.

## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  Peso and Sesso 
## 
##   F     
## M <2e-16
## 
## P value adjustment method: bonferroni

Questa differenza è significativa dato un p-value praticamente nullo, per cui non si rifiuta l’ipotesi di significatività. C’è una correlazione significativa tra le varabili Peso e Sesso.

Correlazione tra Peso e Ospedale:

I tre boxplot relativi al Peso dei neonati di 3 ospedali sembrano uguali. Attraverso un Wilcoxon test osserviamo valori di p-value molto alti, quindi si rifiuta l’ipotesi di significatività. Per cui non c’è una differenza significativa tra i diversi ospedali sul peso.

## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  Peso and Ospedale 
## 
##      osp1 osp2
## osp2 1.00 -   
## osp3 0.73 0.26
## 
## P value adjustment method: bonferroni

Correlazione tra Peso e Tipo.parto:

Anche in questo caso i boxplot sembrano uguali, ma verifichiamo com un Wilcoxon test.

## 
##  Pairwise comparisons using Wilcoxon rank sum test with continuity correction 
## 
## data:  Peso and Tipo.parto 
## 
##     Ces 
## Nat 0.53
## 
## P value adjustment method: bonferroni

Il p-value della differenza di peso tra i parti Nat e Ces è molto alto (0.53). Per cui rifiutiamo l’ipotesi di differenza significativa tra Peso e Tipo.parto.

2. Analisi e modellazione

Verifichiamo 3 ipotesi:

1: “In alcuni ospedali si fanno più parti cesarei”

Osservando il Balloonplot si nota che il numero di parti Nat è praticamente uguale nei tre ospedali, mentre quello di parti Ces è minore in media rispetto ai Nat e potrebbero esserci delle piccole diversità tra i 3 ospedali. Verifichiamo, con un test Chi quadro, l’indipendenza delle variabili Ospedale e Tipo.parto.

## 
##  Pearson's Chi-squared test
## 
## data:  tabella
## X-squared = 1.0972, df = 2, p-value = 0.5778

Il p-value di questo test risulta molto alto (p-value > 0.5) per questo non rifuitiamo l’ipotesi nulla di indipendenza. Concludiamo che non c’è una differenza significativa tra il numero di parti Ces nei tre ospedali.

2: “La media del peso e della lunghezza di questo campione di neonati sono significativamente uguali a quelle della popolazione”

Possiamo verificare l’ipotesi nulla di uguaglianza tra la media dei pesi del campione e la media dei pesi dei neonati della popolazione che consideriamo di 3300 grammi (dato recuperato dal sito dell’ospedale pediatrico Bambin Gesù: https://www.ospedalebambinogesu.it/da-0-a-30-giorni-come-si-presenta-e-come-cresce-80012/). Utilizziamo un t test con un livello di confidenza alfa = 5%.

Ipotesi nulla: media della variabile Peso = 3300

## 
##  One Sample t-test
## 
## data:  Peso
## t = -1.516, df = 2499, p-value = 0.1296
## alternative hypothesis: true mean is not equal to 3300
## 95 percent confidence interval:
##  3263.490 3304.672
## sample estimates:
## mean of x 
##  3284.081

Dal risultato del test osserviamo un p-value di 0.13 circa, perciò con una probabilità del 95% non si rifiuta l’ipotesi nulla. Pertanto la media dei pesi del campione è uguale a quella della popolazione.

Come si può osservare dal seguente Boxplot della variabile Peso con indicata in rosso la media del peso della popolazione.

Verifichiamo ora l’ipotesi per cui la lunghezza media del campione sia uguale a quella della popolazione, considerata di 500 mm (dato recuperato dal sito dell’ospedale pediatrico Bambin Gesù: https://www.ospedalebambinogesu.it/da-0-a-30-giorni-come-si-presenta-e-come-cresce-80012/). Anche in questo caso utilizziamo un t test e un livello di confidenza alfa = 5%.

## 
##  One Sample t-test
## 
## data:  Lunghezza
## t = -10.084, df = 2499, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 500
## 95 percent confidence interval:
##  493.6598 495.7242
## sample estimates:
## mean of x 
##   494.692

Dall’esito del test osserviamo un p-value praticamente nullo. Per questo si rifiuta l’ipotesi nulla. Concludiamo che con una probabilità del 95% la media delle lunghezze del campione è significativamente diversa da quella della popolazione.

Osserviamo graficamente la differenza tra le medie:

Dal grafico, che rappresenta il boxplot della variabile Lunghezza e la media della lunghezza della popolazione (in rosso), le due medie sembrano coincidere. Nonostante l’esito del test affermi il contrario.

3: “Le misure antropometriche sono significativamente diverse tra i due sessi”

Consideriamo le variabili che si riferiscono a valori antropometrici: Peso, Lunghezza e Cranio.

Le differenze del Sesso rispetto al Peso sono già state valutate in precedenza, abbiamo concluso che c’è una correlazione significativa tra le varabili Peso e Sesso.

Verifichiamo la differenza significativa del Sesso rispetto alla Lungheszza con un t test a gruppi, utilizzando il metodo di Bonferroni per l’aggiustamento del p-value.

Osserviamo il boxplot che mostra una lunghezza media maggiore per i maschi.

## 
##  Pairwise comparisons using t tests with pooled SD 
## 
## data:  Lunghezza and Sesso 
## 
##   F     
## M <2e-16
## 
## P value adjustment method: bonferroni

Dal test osserviamo un p-value praticamente nullo, per cui non rifiutiamo l’ipotesi di differenza significativa. Si conclude che c’è differenza significativa tra la Lunghezza dei maschi rispetto alle femmine.

Verifichiamo ora l’ipotesi di differenza significativa tra il Sesso rispetto alla variabile Cranio.

Osservando il boxplot sembrano leggermente maggiori i valori di Cranio relativi ai maschi.

Svolgiamo un t test a gruppi, come in precedenza, per verificare l’ipotesi di differenza significativa tra i due sessi sulla variabile Cranio.

## 
##  Pairwise comparisons using t tests with pooled SD 
## 
## data:  Cranio and Sesso 
## 
##   F      
## M 1.7e-13
## 
## P value adjustment method: bonferroni

Il p-value è molto piccolo per cui non rifiutiamo l’ipotesi di differenza significativa. Per questo mediamente i maschi hanno il cranio di dimensioni maggiori rispetto alle femmine.

Creazione del Modello di Regressione

Per creare un modello di regressione multipla, individuiamo la variabile Peso come variabile risposta.

Creo un modello iniziale (modello 1) includendo tutte le variabili tranne Tipo.parto e Ospedale, perchè abbiamo già verificato una non correlazione tra queste variabili e Peso.

## 
## Call:
## lm(formula = Peso ~ Anni.madre + N.gravidanze + Fumatrici + Gestazione + 
##     Lunghezza + Cranio + Sesso, data = dati)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1161.56  -181.19   -15.75   163.70  2630.75 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -6714.4109   141.1515 -47.569  < 2e-16 ***
## Anni.madre       0.9585     1.1347   0.845   0.3984    
## N.gravidanze    11.2756     4.6690   2.415   0.0158 *  
## Fumatrici      -30.2959    27.5971  -1.098   0.2724    
## Gestazione      32.9331     3.8267   8.606  < 2e-16 ***
## Lunghezza       10.2342     0.3009  34.009  < 2e-16 ***
## Cranio          10.5177     0.4268  24.642  < 2e-16 ***
## SessoM          78.0845    11.2039   6.969 4.06e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 274.6 on 2492 degrees of freedom
## Multiple R-squared:  0.7272, Adjusted R-squared:  0.7264 
## F-statistic:   949 on 7 and 2492 DF,  p-value: < 2.2e-16

Questo modello sembra una buona base di partenza con un R-quadro aggiustato di circa 73%, però presenta delle variabili non significative: Anni.madre e Fumatrici.

Proviamo a creare un modello 2 eliminando queste variabili e confrontiamoli.

df AIC
mod1 9 35181.39
mod2 7 35179.33
df BIC
mod1 9 35233.81
mod2 7 35220.10

Per entrambi i criteri di informazione: Akaike (AIC) e Bayes (BIC) è preferibile il modello 2. Per i successivi confronti utilizzeremo il criterio di Bayes (BIC) in quanto più tendente a preferire modelli semplici.

Partendo dal modello 2, consideriamo anche modelli con interazioni tra le variabili e possibili effetti non lineari.

Osservando la tabella delle correlazioni delle variabili, potrebbero esserci delle correlazioni non lineari tra Peso e: Gestazione, Lunghezza e Cranio.

Verifichiamo i modelli 3, 4 e 5 relativi all’effetto quadratico di queste tre variabili confrontandoli.

df BIC
mod3 8 35222.68
mod4 8 35135.36
mod5 8 35193.04
mod2 7 35220.10

I modelli 4 e 5 hanno un valore di Bayes (BIC) minore rispetto al modello 2.

Ma osservando i valori del vif dei modelli 4 e 5 si nota che le variabili per cui abbiamo ipotizzato un effetto quadratico, hanno dei valori molto maggiori di 5.

vif modello 4:

x
N.gravidanze 1.03
Gestazione 1.80
Lunghezza 237.98
Cranio 1.63
Sesso 1.05
I(Lunghezza^2) 230.01

vif modello 5:

x
N.gravidanze 1.02
Gestazione 1.81
Lunghezza 2.11
Cranio 465.51
Sesso 1.05
I(Cranio^2) 452.99

Per cui nei modelli 4 e 5 si verifica multicollinearità, quindi preferiamo il modello 2.

Proviamo a valutare modelli con iterazioni tra le variabili (senza considerare la variabile Sesso in quanto qualitativa).

Creiamo i modelli 6, 7, 8, 9, 10 e 11 relativi a tutte le iterazioni possibili tra le variabili quantitative incluse nel modello 2, consideriamo solo i prodotti tra le variabili.

Confrontiamo i nuovi modelli con il modelo 2:

df BIC
mod6 8 35226.66
mod7 8 35225.41
mod8 8 35226.02
mod9 8 35201.44
mod10 8 35193.16
mod11 8 35204.57
mod2 7 35220.10

Dal criterio di informazione di Bayes (BIC) sembrano essere più precisi i modelli 9, 10 e 11.

Ma controllando i valori vif dei tre modelli, concludiamo che c’è multicollinearità in tutti i casi.

vif modello 9:

x
N.gravidanze 1.02
Gestazione 71.90
Lunghezza 95.26
Cranio 1.64
Sesso 1.05
Gestazione:Lunghezza 262.77

vif modello 10:

x
N.gravidanze 1.02
Gestazione 102.25
Lunghezza 2.11
Cranio 109.43
Sesso 1.05
Gestazione:Cranio 301.45

vif modello 11:

x
N.gravidanze 1.02
Gestazione 1.84
Lunghezza 112.30
Cranio 91.85
Sesso 1.05
Lunghezza:Cranio 313.71

Per questo preferiamo nuovamente il modello 2.

Analisi della Qualità del Modello

Definito il modello 2 come modello più appropriato, verifichiamo le sue caratteristiche.

## 
## Call:
## lm(formula = Peso ~ N.gravidanze + Gestazione + Lunghezza + Cranio + 
##     Sesso, data = dati)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1149.44  -180.81   -15.58   163.64  2639.72 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -6681.1445   135.7229 -49.226  < 2e-16 ***
## N.gravidanze    12.4750     4.3396   2.875  0.00408 ** 
## Gestazione      32.3321     3.7980   8.513  < 2e-16 ***
## Lunghezza       10.2486     0.3006  34.090  < 2e-16 ***
## Cranio          10.5402     0.4262  24.728  < 2e-16 ***
## SessoM          77.9927    11.2021   6.962 4.26e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 274.6 on 2494 degrees of freedom
## Multiple R-squared:  0.727,  Adjusted R-squared:  0.7265 
## F-statistic:  1328 on 5 and 2494 DF,  p-value: < 2.2e-16

Tutte le variabili del modello hanno un p-value relativo alla correlazione con la variabile risposta Peso molto basso, perciò sono molto correlate.

Il valore R-quadro aggiustato è circa 0.73, quindi il modello spiega il 73% della variabile risposta, mentre il rimanente 27% è compreso nella parte erratica.

Possiamo dire che è un buon valore.

Valutazione dei coefficienti di stima:

I coefficienti di stima (coefficienti beta) del modello vanno a definire l’incremento medio della variabile risposta (Peso) al variare di ogni variabile del modello.

Nel nostro modello 2 risultano essere:

Coefficiente
N.gravidanze 12.47
Gestazione 32.33
Lunghezza 10.25
Cranio 10.54
Sesso M 78.00

Per la variabile Sesso, essendo qualitativa, il coefficiente indica l’incremento della variabile risposta nel cao in cui Sesso = M.

Osserviamo che le variabili Lunghezza e Cranio portano alla variabile risposta un incremento medio circa uguale, mentre leggermente maggiore è quello che porta la variabile N.gravidanze.

La variabile Gestazione è quella che, nel nostro modello 2, ha l’incremento medio unitario sul Peso maggiore.

Studio dei residui

Osserviamo i 4 grafici relativi allo studio dei residui

In generale possiamo concludere che i residui di questo modello sono validi, forse c’è una piccola imperfezione nella coda inferiore.

Attenzione all’informazione 1551 che risulta essere molto distante dagli altri residui per tutti e 4 i grafici, per cui questo residuo è considerato come residuo influente sulla stima dei regressione. Osserviamo questa informazione:

Anni.madre N.gravidanze Fumatrici Gestazione Peso Lunghezza Cranio Tipo.parto Ospedale Sesso
1551 35 1 0 38 4370 315 374 Nat osp3 F

Si nota che il Peso di questa gravidanza è molto sopra la media mentre la lunghezza è molto sotto la media, questa informazione va contro la correlazione positiva tra Peso e Lunghezza, per questo l’informazione 1551 è influente sulla stima dei regressori.

Correlazione tra Peso e Lunghezza:

x
0.8

Valutazione dei valori di leva:

Numero dei valori di leva:

x
152

Osserviamo che sono molti i valori di leva che superano la soglia (linea rossa). Risultano essere 152, quindi considerando le 2500 informazione date, solo il 6% sono valori di leva. Queste informazioni si trovano lontano, rispetto alle altre informazioni, nello spazio dei regressori.

Valutazione dei valori outliers:

Osserviamo dal grafico gei valori outliers che solo poche informazioni sono oltre la soglia, questo porta valore al modello. Possiamo individuare questi valori tramite la funzione outlierTest che utilizza il metodo di Bonferroni per il calcolo del p-value.

##       rstudent unadjusted p-value Bonferroni p
## 1551 10.051908         2.4906e-23   6.2265e-20
## 155   5.027798         5.3138e-07   1.3285e-03
## 1306  4.827238         1.4681e-06   3.6702e-03

La funzione ha considerato solo 3 valori come outliers, di cui una è l’osservazione 1551.

Valutazione della distanza di Cook:

Calcoliamo la distanza di Cook dei residui.

Dal grafico osserviamo che le cìdistanze di Cook dei residui sono quasi tutte costanti e all’incirca zero tranne per l’osservazione 1551 che risulta essere molto alta (0.83) e si avvicina alla soglia di allarme. Quindi, riconfermiamo che questa informazione risulta essere influente sulle stime di regressione.

Svolgimento dei test sui residui:

## 
##  studentized Breusch-Pagan test
## 
## data:  mod2
## BP = 90.253, df = 5, p-value < 2.2e-16

Nel test di Breusch-Pagan risulta un p-value molto piccolo, quasi nullo, per questo rifiutiamo l’potesi nulla di omoschedasticità. Per cui la varianza non viene considerata costante.

## 
##  Durbin-Watson test
## 
## data:  mod3
## DW = 1.9524, p-value = 0.1171
## alternative hypothesis: true autocorrelation is greater than 0

Nel test di Durbin-Watson non rifiuto l’ipotesi nulla, p-value = 0.12. Allora i residui non sono autocorrelati.

Osserviamo la distribuzione dei residui.

Tale distribuzione sembra essere molto simile ad una normale, ma verifichiamo con un test.

## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(mod2)
## W = 0.97408, p-value < 2.2e-16

Per il test di Shapiro_Wilk sulla normalità dei residui risulta un p-value quasi nullo, per questo si rifiuta l’ipotesi nulla di normalità.

Il modello ha fallito due test sui residui probabilmente a causa dell’informazione 1551 che risulta essere influente sul modello di regressione. Nonostante il risultato di questi due test, il modello sembra affidabile.

3. Previsioni e Risultati

Stimiamo il peso di una neonata considerando una madre alla terza gravidanza che partorirà alla 39esima settimana.

Utilizzando il modello 2 dobbiamo conoscere i valori Lunghezza e Cranio della bambina alla nascita.

Se, per questi valori, utilizziamo le medie della variabile Lunghezza e Cranio del dataset considerando solo i valori per cui N.gravidanze = 3, Gestazione = 39 e Sesso = F (cioè considerando solo le informazioni di bambine con le stesse caratteristiche) si ottiene un peso in grammi di:

x
3228.209

Invece, considerando per i valori Lunghezza e Cranio la media di queste variabili per solo i valori in cui Sesso = F, si ottiene un peso in grammi di:

x
3195.35

4. Visualizzazioni

Visualizzazione delle correlazioni tra la variabile risposta Peso e le altre variabili quantitative:

Da questo grafico si riconferma una alta correlazione positiva tra Peso e Gestazione.

Osservando questo grafico, non sembra esserci una correlazione sostanziale tra N.gravidanze e Peso.

Si riconferma una alta correlazione positiva tra Peso e le variabili Lunghezza e Cranio.

Si conferma una non correlazione tra Peso e Anni.madre.

Osserviamo ora dei grafici più complesi che mettoni in relazione più di due variabili:

Come confermato in precedenza, non sembra esserci differenza sostanziale tra le fumatrici e le non fumatrici nella correlazione tra la gestazione e il peso.

Possiamo vedere graficamente la differenza tra i maschi e le femmine nella correlazione tra lunghezza e peso.