Modello Statistico per la Previsione del Peso Neonatale

Obiettivo: Creare un modello statistico in grado di prevedere con precisione il peso dei neonati alla nascita, basandosi su variabili cliniche raccolte da tre ospedali. Il progetto mira a migliorare la gestione delle gravidanze ad alto rischio, ottimizzare le risorse ospedaliere e garantire migliori risultati per la salute neonatale

Analisi e Modellizzazione

1.Analisi Preliminare

Analisi descrittiva

Iniziamo l’analisi del nostro dataset andando a vedere le statistiche sintetiche delle variabili numeriche.

dati <- read.csv("neonati.csv")

# 1. Controllo outlier per età madre
sospetti <- dati %>% filter(Anni.madre <= 12)
if(nrow(sospetti) > 0) {
  cat("Attenzione: trovati valori sospetti in 'Anni.madre'. Controllo richiesto.\n")
  kable(sospetti, caption = "Valori anomali rilevati")
}
## Attenzione: trovati valori sospetti in 'Anni.madre'. Controllo richiesto.
Valori anomali rilevati
Anni.madre N.gravidanze Fumatrici Gestazione Peso Lunghezza Cranio Tipo.parto Ospedale Sesso
1 1 0 41 3250 490 350 Nat osp2 F
0 0 0 39 3060 490 330 Nat osp3 M
# Rimozione dei casi sospetti
dati <- dati %>% filter(Anni.madre > 12)

summary_table <- dati %>%
  select(where(is.numeric)) %>%
  summarise(across(everything(), list(
    Media = ~round(mean(.x, na.rm = TRUE), 2),
    SD = ~round(sd(.x, na.rm = TRUE), 2),
    Min = ~round(min(.x, na.rm = TRUE), 2),
    Max = ~round(max(.x, na.rm = TRUE), 2)
  ), .names = "{.col}_{.fn}"))

nomi_variabili <- gsub("_.*", "", names(summary_table))
statistiche <- gsub(".*_", "", names(summary_table))
tabella <- matrix(unlist(summary_table), ncol = 4, byrow = TRUE)
dimnames(tabella) <- list(unique(nomi_variabili), c("Media", "SD", "Min", "Max"))

kable(tabella, caption = "Statistiche descrittive delle variabili numeriche")
Statistiche descrittive delle variabili numeriche
Media SD Min Max
Anni.madre 28.19 5.22 13 46
N.gravidanze 0.98 1.28 0 12
Fumatrici 0.04 0.20 0 1
Gestazione 38.98 1.87 25 43
Peso 3284.18 525.23 830 4930
Lunghezza 494.70 26.33 310 565
Cranio 340.03 16.43 235 390

Andiamo a vedere quale è la loro distribuzione grafica

ggplot(dati, aes(x = Peso)) +
  geom_histogram(binwidth = 100, fill = "steelblue", color = "black") +
  labs(title = "Distribuzione del Peso alla Nascita", x = "Peso (grammi)", y = "Frequenza")

ggplot(dati, aes(x = Gestazione)) +
  geom_histogram(binwidth = 1, fill = "skyblue", color = "black") +
  labs(title = "Distribuzione delle Settimane di Gestazione", x = "Settimane", y = "Frequenza")

ggplot(dati, aes(x = Lunghezza)) +
  geom_histogram(binwidth = 10, fill = "lightgreen", color = "black") +
  labs(title = "Distribuzione della Lunghezza", x = "Lunghezza (mm)", y = "Frequenza")

ggplot(dati, aes(x = Cranio)) +
  geom_histogram(binwidth = 5, fill = "plum", color = "black") +
  labs(title = "Distribuzione del Diametro Cranico", x = "Cranio (mm)", y = "Frequenza")

Distribuzione delle variabili categoriche Come secondo step andiamo a capire la distribuzione della variabili parto, ospedale, sesso e fumatrici

tabelle_categoriche <- lapply(dati[c("Tipo.parto", "Ospedale", "Sesso", "Fumatrici")], table)
lapply(tabelle_categoriche, kable)
## $Tipo.parto
## 
## 
## |Var1 | Freq|
## |:----|----:|
## |Ces  |  728|
## |Nat  | 1770|
## 
## $Ospedale
## 
## 
## |Var1 | Freq|
## |:----|----:|
## |osp1 |  816|
## |osp2 |  848|
## |osp3 |  834|
## 
## $Sesso
## 
## 
## |Var1 | Freq|
## |:----|----:|
## |F    | 1255|
## |M    | 1243|
## 
## $Fumatrici
## 
## 
## |Var1 | Freq|
## |:----|----:|
## |0    | 2394|
## |1    |  104|

Analizziamo la distribuzione graficamente

ggplot(dati, aes(x = Tipo.parto)) +
  geom_bar(fill = "orange") +
  labs(title = "Frequenza dei Tipi di Parto")

ggplot(dati, aes(x = Ospedale)) +
  geom_bar(fill = "steelblue") +
  labs(title = "Distribuzione dei Neonati per Ospedale")

ggplot(dati, aes(x = Sesso)) +
  geom_bar(fill = "violet") +
  labs(title = "Distribuzione per Sesso")

Identifichiamo Outlier e Valori Anomali

ggplot(dati, aes(y = Peso)) +
  geom_boxplot(fill = "tomato") +
  labs(title = "Boxplot del Peso alla Nascita", y = "Peso (g)")

ggplot(dati, aes(y = Gestazione)) +
  geom_boxplot(fill = "lightblue") +
  labs(title = "Boxplot della Durata della Gestazione", y = "Settimane")

1.A Saggiamo se in alcuni ospedali si fanno più cesarei tramite Test Chi-quadro {r}

tab_parto_ospedale <- table(dati$Tipo.parto, dati$Ospedale)
chisq_test <- chisq.test(tab_parto_ospedale)
kable(tab_parto_ospedale, caption = "Contingenza Parto vs Ospedale")
Contingenza Parto vs Ospedale
osp1 osp2 osp3
Ces 242 254 232
Nat 574 594 602
round(chisq_test$expected, 2)
##      
##         osp1   osp2   osp3
##   Ces 237.81 247.14 243.06
##   Nat 578.19 600.86 590.94
chisq_test
## 
##  Pearson's Chi-squared test
## 
## data:  tab_parto_ospedale
## X-squared = 1.083, df = 2, p-value = 0.5819

Considerazione: Poiché il valore p (0.5778) è molto più alto di 0.05, non abbiamo evidenze sufficienti per rifiutare l’ipotesi nulla. Questo significa che non ci sono prove statisticamente significative di una differenza nella distribuzione delle osservazioni tra i diversi ospedali (osp1, osp2, osp3) per i gruppi “Cesareo” e “Naturale”.In sintesi quindi il test suggerisce che non ci sono differenze significative nelle frequenze relative ai vari ospedali per i due gruppi considerati.

1.B Capiamo adesso se la media del peso e della lunghezza di questo campione di neonati sono significativamente uguali a quelle della popolazione. Facciamo attraverso t-test partendo dal fatto che mediamente 3300 g è spesso citato come peso medio alla nascita nei neonati a termine in Italia o Europa e 49 cm (490 mm): È una lunghezza media tipica per neonati.

# Confronto con le medie nazionali: peso = 3300g, lunghezza = 49cm (490mm)
t_peso <- t.test(dati$Peso, mu = 3300)
t_lunghezza <- t.test(dati$Lunghezza, mu = 490)

library(knitr)

data.frame(
  Variabile = c("Peso", "Lunghezza"),
  MediaCampione = round(c(mean(dati$Peso), mean(dati$Lunghezza)), 2),
  DeviazioneStandard = round(c(sd(dati$Peso), sd(dati$Lunghezza)), 2),
  Varianza = round(c(var(dati$Peso), var(dati$Lunghezza)), 2),
  MediaAttesa = c(3300, 490),
  P_value = round(c(t_peso$p.value, t_lunghezza$p.value), 4)
) %>%
  kable(caption = "T-test e misure di dispersione rispetto alle medie nazionali")
T-test e misure di dispersione rispetto alle medie nazionali
Variabile MediaCampione DeviazioneStandard Varianza MediaAttesa P_value
Peso 3284.18 525.23 275865.90 3300 0.1324
Lunghezza 494.70 26.33 693.21 490 0.0000

Conclusioni Peso: La media del campione (3284.08 g) è leggermente inferiore alla media attesa nazionale (3300 g).Tuttavia, il P-value di 0.1296 indica che questa differenza non è statisticamente significativa.La deviazione standard alta (525 g) e la varianza molto ampia suggeriscono una notevole dispersione nei pesi alla nascita, il che può spiegare la non significatività del test. Non possiamo affermare con sicurezza che il peso medio dei neonati di questo campione differisca dalla media nazionale.

Lunghezza:La media del campione (494.69 mm) è superiore alla media attesa (490 mm).Il P-value ≈ 0.0000 indica che questa differenza è altamente significativa.La deviazione standard più contenuta (26.32 mm) e la varianza relativamente bassa mostrano una distribuzione più omogenea delle lunghezze. I neonati del campione sono significativamente più lunghi rispetto alla media nazionale.

1.C misure antropometriche sono significativamente diverse tra i due sessi. Per fare questo lanciamo dei t-test dipendenti

tt_peso <- t.test(Peso ~ Sesso, data = dati)
tt_lunghezza <- t.test(Lunghezza ~ Sesso, data = dati)
tt_cranio <- t.test(Cranio ~ Sesso, data = dati)

data.frame(
  Variabile = c("Peso", "Lunghezza", "Cranio"),
  P_value = round(c(tt_peso$p.value, tt_lunghezza$p.value, tt_cranio$p.value), 4),
  DifferenzaMedia = round(c(
    diff(tapply(dati$Peso, dati$Sesso, mean)),
    diff(tapply(dati$Lunghezza, dati$Sesso, mean)),
    diff(tapply(dati$Cranio, dati$Sesso, mean))
  ), 2)
) %>%
  kable(caption = "T-test tra maschi e femmine")
T-test tra maschi e femmine
Variabile P_value DifferenzaMedia
Peso 0 247.43
Lunghezza 0 9.91
Cranio 0 4.84

Considerazioni Peso:I maschi pesano in media 247 grammi in più rispetto alle femmine. Il P-value = 0 (cioè < 0.001) indica che questa differenza è altamente significativa.Deduciamo che il sesso del neonato ha un impatto rilevante sul peso alla nascita. Lunghezza:I maschi sono in media 9.9 mm (quasi 1 cm) più lunghi delle femmine. Anche qui, il P-value = 0 indica una differenza altamente significativa.Esiste quindi una differenza reale nella lunghezza tra i sessi. Cranio:Il diametro cranico dei maschi è superiore di circa 4.8 mm.Ancora una volta, la significatività è altissima quindi anche il diametro cranico varia significativamente in base al sesso del neonato. In conclusione deduciamo notiamo che le differenze tra maschi e femmine in tutte le misure antropometriche sono consistenti e statisticamente significative.

2.Creazione del Modello di Regressione

dati=read.csv("neonati.csv",
              stringsAsFactors = T) #reinserisco per sicurezza anche se dataset è stato acquisito già
summary(dati)
##    Anni.madre     N.gravidanze       Fumatrici        Gestazione   
##  Min.   : 0.00   Min.   : 0.0000   Min.   :0.0000   Min.   :25.00  
##  1st Qu.:25.00   1st Qu.: 0.0000   1st Qu.:0.0000   1st Qu.:38.00  
##  Median :28.00   Median : 1.0000   Median :0.0000   Median :39.00  
##  Mean   :28.16   Mean   : 0.9812   Mean   :0.0416   Mean   :38.98  
##  3rd Qu.:32.00   3rd Qu.: 1.0000   3rd Qu.:0.0000   3rd Qu.:40.00  
##  Max.   :46.00   Max.   :12.0000   Max.   :1.0000   Max.   :43.00  
##       Peso        Lunghezza         Cranio    Tipo.parto Ospedale   Sesso   
##  Min.   : 830   Min.   :310.0   Min.   :235   Ces: 728   osp1:816   F:1256  
##  1st Qu.:2990   1st Qu.:480.0   1st Qu.:330   Nat:1772   osp2:849   M:1244  
##  Median :3300   Median :500.0   Median :340              osp3:835           
##  Mean   :3284   Mean   :494.7   Mean   :340                                 
##  3rd Qu.:3620   3rd Qu.:510.0   3rd Qu.:350                                 
##  Max.   :4930   Max.   :565.0   Max.   :390
attach(dati)
n=nrow(dati)

Prima di tutto individuiamo come variabile risposta il peso, le altre 9 variabili saranno esplicative. Effettuiamo test shapiro su variabile risposta per capire se rifiutiamo ipotesi di normalità.

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

Data la statistica W di 0.97066 e il p-value estremamente basso,possiamo concludere che il set di dati “Peso” non segue una distribuzione normale.Con un campione cosi grande però il test di Shapiro è molto sensibile anche a lievi deviazioni dalla normalità. Per la regressione l’importante non è che Peso sia perfettamente normale ma che i residui del modello lo siano (verificheremo anche questo).Con N = 2500, anche piccole deviazioni portano a un p-value < 0.05. Nonostante questo, grazie al teorema del limite centrale, la regressione sembra robusta

Vediamo la relazione tra le variabili numeriche:

dati_convertiti <- dati
dati_convertiti[] <- lapply(dati_convertiti, function(col) {
  if (!is.numeric(col)) as.numeric(as.factor(col)) else col
})

panel.cor <- function(x, y, digits = 2, prefix = "", cex.cor = 1, ...) {
  usr <- par("usr"); on.exit(par(usr))
  par(usr = c(0, 1, 0, 1))
  r <- abs(cor(x, y, use = "pairwise.complete.obs"))
  txt <- format(c(r, 0.123456789), digits = digits)[1]
  txt <- paste0(prefix, txt)
  text(0.5, 0.5, txt, cex = cex.cor)
}

# Matrice di scatterplot con correlazioni
pairs(dati_convertiti,
      upper.panel = panel.smooth,
      lower.panel = panel.cor)
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico
## Warning in par(usr): l'argomento 1 non nomina un parametro grafico

Da interpretazione grafica la variabila risposta peso sembra molto correlata a Lunghezza (0.80) e Cranio (0.70).Ha anche una buona correlazione con Gestazione (0.62).Queste tre variabili hanno una relazione significativa con il peso, quindi sono buoni candidati per un modello di regressione lineare.

2.1 Regressione lineare multipla

Creiamo vari modelli di regressione

modello1 <- lm(Peso ~ ., data = dati)
summary(modello1)
## 
## Call:
## lm(formula = Peso ~ ., data = dati)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1124.40  -181.66   -14.42   160.91  2611.89 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -6738.4762   141.3087 -47.686  < 2e-16 ***
## Anni.madre        0.8921     1.1323   0.788   0.4308    
## N.gravidanze     11.2665     4.6608   2.417   0.0157 *  
## Fumatrici       -30.1631    27.5386  -1.095   0.2735    
## Gestazione       32.5696     3.8187   8.529  < 2e-16 ***
## Lunghezza        10.2945     0.3007  34.236  < 2e-16 ***
## Cranio           10.4707     0.4260  24.578  < 2e-16 ***
## Tipo.partoNat    29.5254    12.0844   2.443   0.0146 *  
## Ospedaleosp2    -11.2095    13.4379  -0.834   0.4043    
## Ospedaleosp3     28.0958    13.4957   2.082   0.0375 *  
## SessoM           77.5409    11.1776   6.937 5.08e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 273.9 on 2489 degrees of freedom
## Multiple R-squared:  0.7289, Adjusted R-squared:  0.7278 
## F-statistic: 669.2 on 10 and 2489 DF,  p-value: < 2.2e-16
#modello con solamente le variabili fortemente correlate
modello2 <- lm(Peso ~Lunghezza+Cranio+Gestazione, data = dati)
summary(modello2)
## 
## Call:
## lm(formula = Peso ~ Lunghezza + Cranio + Gestazione, data = dati)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1105.77  -183.25   -12.83   166.41  2623.80 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -6777.1203   135.6417 -49.963   <2e-16 ***
## Lunghezza      10.4252     0.3020  34.522   <2e-16 ***
## Cranio         10.7892     0.4282  25.194   <2e-16 ***
## Gestazione     31.6901     3.8219   8.292   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 277.7 on 2496 degrees of freedom
## Multiple R-squared:  0.7206, Adjusted R-squared:  0.7203 
## F-statistic:  2146 on 3 and 2496 DF,  p-value: < 2.2e-16
#aggiugiamo variabile N.Gravidanze che aveva una correlazione debole
modello3<- lm(Peso ~Lunghezza+Cranio+Gestazione+N.gravidanze, data = dati)
summary(modello3)
## 
## Call:
## lm(formula = Peso ~ Lunghezza + Cranio + Gestazione + N.gravidanze, 
##     data = dati)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1118.46  -181.01   -12.56   167.92  2637.32 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -6807.7379   135.7730 -50.141  < 2e-16 ***
## Lunghezza       10.4686     0.3018  34.688  < 2e-16 ***
## Cranio          10.6463     0.4300  24.758  < 2e-16 ***
## Gestazione      32.8307     3.8332   8.565  < 2e-16 ***
## N.gravidanze    13.5185     4.3781   3.088  0.00204 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 277.2 on 2495 degrees of freedom
## Multiple R-squared:  0.7217, Adjusted R-squared:  0.7212 
## F-statistic:  1617 on 4 and 2495 DF,  p-value: < 2.2e-16
#aggiugiamo variabile Sesso per capire come si modifica il modello
modello4<- lm(Peso ~Lunghezza+Cranio+Gestazione+N.gravidanze+Sesso, data = dati)
summary(modello4)
## 
## Call:
## lm(formula = Peso ~ Lunghezza + Cranio + Gestazione + N.gravidanze + 
##     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 ***
## Lunghezza       10.2486     0.3006  34.090  < 2e-16 ***
## Cranio          10.5402     0.4262  24.728  < 2e-16 ***
## Gestazione      32.3321     3.7980   8.513  < 2e-16 ***
## N.gravidanze    12.4750     4.3396   2.875  0.00408 ** 
## 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

Assumo che la variabile fumo non ha forte incidenza sul modello per quello mi concentro sullo studio delle altre varaibili.

2.2 Selezione del Modello Ottimale:

Utilizzeremo BIC

anova(modello1,modello2,modello3,modello4)
## Analysis of Variance Table
## 
## Model 1: Peso ~ Anni.madre + N.gravidanze + Fumatrici + Gestazione + Lunghezza + 
##     Cranio + Tipo.parto + Ospedale + Sesso
## Model 2: Peso ~ Lunghezza + Cranio + Gestazione
## Model 3: Peso ~ Lunghezza + Cranio + Gestazione + N.gravidanze
## Model 4: Peso ~ Lunghezza + Cranio + Gestazione + N.gravidanze + Sesso
##   Res.Df       RSS Df Sum of Sq       F    Pr(>F)    
## 1   2489 186762521                                   
## 2   2496 192453468 -7  -5690946 10.8348 1.585e-13 ***
## 3   2495 191720838  1    732630  9.7638    0.0018 ** 
## 4   2494 188065546  1   3655292 48.7144 3.782e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
BIC(modello1,modello2,modello3,modello4)
##          df      BIC
## modello1 12 35241.84
## modello2  5 35262.11
## modello3  6 35260.40
## modello4  7 35220.10

Dalla Analisi della varianza notiamo come il modello 4 sia quello ottimale.Il valore p è significativo, suggerendo che l’aggiunta di sesso al modello 3 migliora ulteriormente il modello. Il modello 4 ha un BIC più basso rispetto al modello 3, il che suggerisce che, nonostante abbia un parametro in più, offre un miglior equilibrio tra bontà di adattamento e complessità del modello.Pertanto sceglieremo il modello 4.

Interpretazione dei coefficienti stimati nel modello scelto:

Controprova con Stepwise automatico:

stepwise.mod=MASS::stepAIC(modello1,
              direction="both",
              k=log(n)) 
## Start:  AIC=28139.32
## Peso ~ Anni.madre + N.gravidanze + Fumatrici + Gestazione + Lunghezza + 
##     Cranio + Tipo.parto + Ospedale + Sesso
## 
##                Df Sum of Sq       RSS   AIC
## - Anni.madre    1     46578 186809099 28132
## - Fumatrici     1     90019 186852540 28133
## - Ospedale      2    685979 187448501 28133
## - N.gravidanze  1    438452 187200974 28137
## - Tipo.parto    1    447929 187210450 28138
## <none>                      186762521 28139
## - Sesso         1   3611021 190373542 28179
## - Gestazione    1   5458403 192220925 28204
## - Cranio        1  45326172 232088693 28675
## - Lunghezza     1  87951062 274713583 29096
## 
## Step:  AIC=28132.12
## Peso ~ N.gravidanze + Fumatrici + Gestazione + Lunghezza + Cranio + 
##     Tipo.parto + Ospedale + Sesso
## 
##                Df Sum of Sq       RSS   AIC
## - Fumatrici     1     90897 186899996 28126
## - Ospedale      2    692738 187501837 28126
## - Tipo.parto    1    448222 187257321 28130
## <none>                      186809099 28132
## - N.gravidanze  1    633756 187442855 28133
## + Anni.madre    1     46578 186762521 28139
## - Sesso         1   3618736 190427835 28172
## - Gestazione    1   5412879 192221978 28196
## - Cranio        1  45588236 232397335 28670
## - Lunghezza     1  87950050 274759149 29089
## 
## Step:  AIC=28125.51
## Peso ~ N.gravidanze + Gestazione + Lunghezza + Cranio + Tipo.parto + 
##     Ospedale + Sesso
## 
##                Df Sum of Sq       RSS   AIC
## - Ospedale      2    701680 187601677 28119
## - Tipo.parto    1    440684 187340680 28124
## <none>                      186899996 28126
## - N.gravidanze  1    610840 187510837 28126
## + Fumatrici     1     90897 186809099 28132
## + Anni.madre    1     47456 186852540 28133
## - Sesso         1   3602797 190502794 28165
## - Gestazione    1   5346781 192246777 28188
## - Cranio        1  45632149 232532146 28664
## - Lunghezza     1  88355030 275255027 29086
## 
## Step:  AIC=28119.23
## Peso ~ N.gravidanze + Gestazione + Lunghezza + Cranio + Tipo.parto + 
##     Sesso
## 
##                Df Sum of Sq       RSS   AIC
## - Tipo.parto    1    463870 188065546 28118
## <none>                      187601677 28119
## - N.gravidanze  1    651066 188252743 28120
## + Ospedale      2    701680 186899996 28126
## + Fumatrici     1     99840 187501837 28126
## + Anni.madre    1     54392 187547285 28126
## - Sesso         1   3649259 191250936 28160
## - Gestazione    1   5444109 193045786 28183
## - Cranio        1  45758101 233359778 28657
## - Lunghezza     1  88054432 275656108 29074
## 
## Step:  AIC=28117.58
## Peso ~ N.gravidanze + Gestazione + Lunghezza + Cranio + Sesso
## 
##                Df Sum of Sq       RSS   AIC
## <none>                      188065546 28118
## - N.gravidanze  1    623141 188688687 28118
## + Tipo.parto    1    463870 187601677 28119
## + Ospedale      2    724866 187340680 28124
## + Fumatrici     1     91892 187973654 28124
## + Anni.madre    1     54816 188010731 28125
## - Sesso         1   3655292 191720838 28158
## - Gestazione    1   5464853 193530399 28181
## - Cranio        1  46108583 234174130 28658
## - Lunghezza     1  87632762 275698308 29066
summary(stepwise.mod)
## 
## 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

Anche lo stepwise automatico conferma il Modello4 come ottimale.

2.3 Analisi della Qualità del Modello

Partiamo dall’analisi dei residui ovvero la parte erratica

par(mfrow=c(2,2))
plot(modello4)

Da una prima analisi grafica sembra che: Il modello funziona discretamente, ma ci sono segnali di possibile non linearità,leggera eteroschedasticità nonchè alcuni outlier o punti influenti. Approfondiamo statisticamente:

# Calcolo del leverage (valori di hat)
lev <- hatvalues(modello4)
plot(lev)
p <- sum(lev)
n <- length(lev)
soglia <- 2 * p / n
abline(h = soglia, col = 2)

# Individua gli osservazioni con leverage alto (quelle fuori linea rossa)
lev[lev > soglia]
##          13          15          34          67          89          96 
## 0.005630918 0.007050422 0.006744143 0.005891590 0.012816470 0.005351586 
##         101         106         131         134         151         155 
## 0.007526751 0.014479871 0.007229339 0.007552819 0.010883937 0.007207682 
##         161         189         190         204         205         206 
## 0.020335483 0.004893297 0.005366557 0.014490604 0.005351634 0.009476652 
##         220         294         305         310         312         315 
## 0.007393997 0.005912765 0.005442061 0.028812123 0.013169272 0.005385800 
##         378         440         442         445         486         492 
## 0.015934061 0.005404736 0.007723662 0.007509382 0.005164446 0.008274018 
##         497         516         582         587         592         614 
## 0.005166306 0.013079851 0.011665555 0.008412325 0.006384116 0.005299262 
##         638         656         657         684         697         702 
## 0.006688287 0.005927777 0.005322685 0.008818987 0.005863826 0.005202259 
##         729         748         750         757         765         805 
## 0.005023115 0.008565543 0.006942097 0.008145491 0.006070298 0.014356657 
##         828         893         895         913         928         946 
## 0.007179817 0.005075205 0.005295896 0.005571144 0.022742332 0.006909044 
##         947         956         985        1008        1014        1049 
## 0.008409465 0.007784123 0.007039416 0.005343037 0.008470133 0.004956169 
##        1067        1091        1106        1130        1166        1181 
## 0.008465430 0.008933360 0.005967317 0.031728597 0.005513559 0.005677676 
##        1188        1200        1219        1238        1248        1273 
## 0.006477203 0.005492370 0.030694311 0.005908078 0.014622914 0.007085831 
##        1291        1293        1311        1321        1325        1356 
## 0.006117497 0.006073639 0.009625908 0.009293111 0.004857169 0.005303442 
##        1357        1385        1395        1400        1402        1411 
## 0.006965051 0.012636943 0.005126697 0.005925069 0.004811441 0.008048184 
##        1420        1428        1429        1450        1505        1551 
## 0.005155654 0.008192811 0.021757172 0.015104831 0.013330439 0.048769569 
##        1553        1556        1573        1593        1606        1610 
## 0.008504889 0.005919673 0.005047204 0.005623758 0.005001812 0.008722184 
##        1617        1619        1628        1686        1693        1701 
## 0.004866796 0.015067498 0.005069731 0.009349313 0.005077858 0.010842957 
##        1712        1718        1727        1735        1780        1781 
## 0.006992084 0.006958857 0.013300523 0.004884846 0.025538678 0.016832361 
##        1809        1827        1868        1892        1962        1967 
## 0.008707504 0.006065698 0.005205637 0.005332812 0.005540442 0.005337356 
##        1977        2037        2040        2046        2086        2089 
## 0.006927281 0.004889127 0.011494872 0.005471670 0.013193090 0.006293550 
##        2098        2114        2115        2120        2140        2146 
## 0.005094455 0.013316875 0.011772090 0.018659995 0.006244232 0.005802168 
##        2148        2149        2157        2175        2200        2215 
## 0.007926839 0.013583436 0.005907225 0.032527273 0.011670024 0.004892265 
##        2216        2220        2221        2224        2225        2244 
## 0.008117864 0.005414040 0.021628717 0.005838076 0.005591261 0.006929217 
##        2257        2307        2317        2318        2337        2359 
## 0.006170254 0.013965608 0.007673614 0.004831118 0.005230450 0.010067364 
##        2408        2422        2436        2437        2452        2458 
## 0.009696691 0.021532808 0.004986522 0.023943328 0.023838489 0.008506087 
##        2471        2478 
## 0.020903740 0.005775173
lev>soglia
##     1     2     3     4     5     6     7     8     9    10    11    12    13 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE 
##    14    15    16    17    18    19    20    21    22    23    24    25    26 
## FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##    27    28    29    30    31    32    33    34    35    36    37    38    39 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##    40    41    42    43    44    45    46    47    48    49    50    51    52 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##    53    54    55    56    57    58    59    60    61    62    63    64    65 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##    66    67    68    69    70    71    72    73    74    75    76    77    78 
## FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##    79    80    81    82    83    84    85    86    87    88    89    90    91 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE 
##    92    93    94    95    96    97    98    99   100   101   102   103   104 
## FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE 
##   105   106   107   108   109   110   111   112   113   114   115   116   117 
## FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   118   119   120   121   122   123   124   125   126   127   128   129   130 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   131   132   133   134   135   136   137   138   139   140   141   142   143 
##  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   144   145   146   147   148   149   150   151   152   153   154   155   156 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE 
##   157   158   159   160   161   162   163   164   165   166   167   168   169 
## FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   170   171   172   173   174   175   176   177   178   179   180   181   182 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   183   184   185   186   187   188   189   190   191   192   193   194   195 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE 
##   196   197   198   199   200   201   202   203   204   205   206   207   208 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE 
##   209   210   211   212   213   214   215   216   217   218   219   220   221 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 
##   222   223   224   225   226   227   228   229   230   231   232   233   234 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   235   236   237   238   239   240   241   242   243   244   245   246   247 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   248   249   250   251   252   253   254   255   256   257   258   259   260 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   261   262   263   264   265   266   267   268   269   270   271   272   273 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   274   275   276   277   278   279   280   281   282   283   284   285   286 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   287   288   289   290   291   292   293   294   295   296   297   298   299 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##   300   301   302   303   304   305   306   307   308   309   310   311   312 
## FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE 
##   313   314   315   316   317   318   319   320   321   322   323   324   325 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   326   327   328   329   330   331   332   333   334   335   336   337   338 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   339   340   341   342   343   344   345   346   347   348   349   350   351 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   352   353   354   355   356   357   358   359   360   361   362   363   364 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   365   366   367   368   369   370   371   372   373   374   375   376   377 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   378   379   380   381   382   383   384   385   386   387   388   389   390 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   391   392   393   394   395   396   397   398   399   400   401   402   403 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   404   405   406   407   408   409   410   411   412   413   414   415   416 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   417   418   419   420   421   422   423   424   425   426   427   428   429 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   430   431   432   433   434   435   436   437   438   439   440   441   442 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE 
##   443   444   445   446   447   448   449   450   451   452   453   454   455 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   456   457   458   459   460   461   462   463   464   465   466   467   468 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   469   470   471   472   473   474   475   476   477   478   479   480   481 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   482   483   484   485   486   487   488   489   490   491   492   493   494 
## FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE 
##   495   496   497   498   499   500   501   502   503   504   505   506   507 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   508   509   510   511   512   513   514   515   516   517   518   519   520 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##   521   522   523   524   525   526   527   528   529   530   531   532   533 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   534   535   536   537   538   539   540   541   542   543   544   545   546 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   547   548   549   550   551   552   553   554   555   556   557   558   559 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   560   561   562   563   564   565   566   567   568   569   570   571   572 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   573   574   575   576   577   578   579   580   581   582   583   584   585 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE 
##   586   587   588   589   590   591   592   593   594   595   596   597   598 
## FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##   599   600   601   602   603   604   605   606   607   608   609   610   611 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   612   613   614   615   616   617   618   619   620   621   622   623   624 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   625   626   627   628   629   630   631   632   633   634   635   636   637 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   638   639   640   641   642   643   644   645   646   647   648   649   650 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   651   652   653   654   655   656   657   658   659   660   661   662   663 
## FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##   664   665   666   667   668   669   670   671   672   673   674   675   676 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   677   678   679   680   681   682   683   684   685   686   687   688   689 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##   690   691   692   693   694   695   696   697   698   699   700   701   702 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE 
##   703   704   705   706   707   708   709   710   711   712   713   714   715 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   716   717   718   719   720   721   722   723   724   725   726   727   728 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   729   730   731   732   733   734   735   736   737   738   739   740   741 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   742   743   744   745   746   747   748   749   750   751   752   753   754 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE 
##   755   756   757   758   759   760   761   762   763   764   765   766   767 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE 
##   768   769   770   771   772   773   774   775   776   777   778   779   780 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   781   782   783   784   785   786   787   788   789   790   791   792   793 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   794   795   796   797   798   799   800   801   802   803   804   805   806 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 
##   807   808   809   810   811   812   813   814   815   816   817   818   819 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   820   821   822   823   824   825   826   827   828   829   830   831   832 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##   833   834   835   836   837   838   839   840   841   842   843   844   845 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   846   847   848   849   850   851   852   853   854   855   856   857   858 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   859   860   861   862   863   864   865   866   867   868   869   870   871 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   872   873   874   875   876   877   878   879   880   881   882   883   884 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   885   886   887   888   889   890   891   892   893   894   895   896   897 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE 
##   898   899   900   901   902   903   904   905   906   907   908   909   910 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   911   912   913   914   915   916   917   918   919   920   921   922   923 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   924   925   926   927   928   929   930   931   932   933   934   935   936 
## FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   937   938   939   940   941   942   943   944   945   946   947   948   949 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE 
##   950   951   952   953   954   955   956   957   958   959   960   961   962 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##   963   964   965   966   967   968   969   970   971   972   973   974   975 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##   976   977   978   979   980   981   982   983   984   985   986   987   988 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE 
##   989   990   991   992   993   994   995   996   997   998   999  1000  1001 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1002  1003  1004  1005  1006  1007  1008  1009  1010  1011  1012  1013  1014 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE 
##  1015  1016  1017  1018  1019  1020  1021  1022  1023  1024  1025  1026  1027 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1028  1029  1030  1031  1032  1033  1034  1035  1036  1037  1038  1039  1040 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1041  1042  1043  1044  1045  1046  1047  1048  1049  1050  1051  1052  1053 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##  1054  1055  1056  1057  1058  1059  1060  1061  1062  1063  1064  1065  1066 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1067  1068  1069  1070  1071  1072  1073  1074  1075  1076  1077  1078  1079 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1080  1081  1082  1083  1084  1085  1086  1087  1088  1089  1090  1091  1092 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 
##  1093  1094  1095  1096  1097  1098  1099  1100  1101  1102  1103  1104  1105 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1106  1107  1108  1109  1110  1111  1112  1113  1114  1115  1116  1117  1118 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1119  1120  1121  1122  1123  1124  1125  1126  1127  1128  1129  1130  1131 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 
##  1132  1133  1134  1135  1136  1137  1138  1139  1140  1141  1142  1143  1144 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1145  1146  1147  1148  1149  1150  1151  1152  1153  1154  1155  1156  1157 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1158  1159  1160  1161  1162  1163  1164  1165  1166  1167  1168  1169  1170 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##  1171  1172  1173  1174  1175  1176  1177  1178  1179  1180  1181  1182  1183 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE 
##  1184  1185  1186  1187  1188  1189  1190  1191  1192  1193  1194  1195  1196 
## FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1197  1198  1199  1200  1201  1202  1203  1204  1205  1206  1207  1208  1209 
## FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1210  1211  1212  1213  1214  1215  1216  1217  1218  1219  1220  1221  1222 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE 
##  1223  1224  1225  1226  1227  1228  1229  1230  1231  1232  1233  1234  1235 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1236  1237  1238  1239  1240  1241  1242  1243  1244  1245  1246  1247  1248 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE 
##  1249  1250  1251  1252  1253  1254  1255  1256  1257  1258  1259  1260  1261 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1262  1263  1264  1265  1266  1267  1268  1269  1270  1271  1272  1273  1274 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 
##  1275  1276  1277  1278  1279  1280  1281  1282  1283  1284  1285  1286  1287 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1288  1289  1290  1291  1292  1293  1294  1295  1296  1297  1298  1299  1300 
## FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1301  1302  1303  1304  1305  1306  1307  1308  1309  1310  1311  1312  1313 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE 
##  1314  1315  1316  1317  1318  1319  1320  1321  1322  1323  1324  1325  1326 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE 
##  1327  1328  1329  1330  1331  1332  1333  1334  1335  1336  1337  1338  1339 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1340  1341  1342  1343  1344  1345  1346  1347  1348  1349  1350  1351  1352 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1353  1354  1355  1356  1357  1358  1359  1360  1361  1362  1363  1364  1365 
## FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1366  1367  1368  1369  1370  1371  1372  1373  1374  1375  1376  1377  1378 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1379  1380  1381  1382  1383  1384  1385  1386  1387  1388  1389  1390  1391 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1392  1393  1394  1395  1396  1397  1398  1399  1400  1401  1402  1403  1404 
## FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE 
##  1405  1406  1407  1408  1409  1410  1411  1412  1413  1414  1415  1416  1417 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1418  1419  1420  1421  1422  1423  1424  1425  1426  1427  1428  1429  1430 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE 
##  1431  1432  1433  1434  1435  1436  1437  1438  1439  1440  1441  1442  1443 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1444  1445  1446  1447  1448  1449  1450  1451  1452  1453  1454  1455  1456 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1457  1458  1459  1460  1461  1462  1463  1464  1465  1466  1467  1468  1469 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1470  1471  1472  1473  1474  1475  1476  1477  1478  1479  1480  1481  1482 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1483  1484  1485  1486  1487  1488  1489  1490  1491  1492  1493  1494  1495 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1496  1497  1498  1499  1500  1501  1502  1503  1504  1505  1506  1507  1508 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE 
##  1509  1510  1511  1512  1513  1514  1515  1516  1517  1518  1519  1520  1521 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1522  1523  1524  1525  1526  1527  1528  1529  1530  1531  1532  1533  1534 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1535  1536  1537  1538  1539  1540  1541  1542  1543  1544  1545  1546  1547 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1548  1549  1550  1551  1552  1553  1554  1555  1556  1557  1558  1559  1560 
## FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##  1561  1562  1563  1564  1565  1566  1567  1568  1569  1570  1571  1572  1573 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE 
##  1574  1575  1576  1577  1578  1579  1580  1581  1582  1583  1584  1585  1586 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1587  1588  1589  1590  1591  1592  1593  1594  1595  1596  1597  1598  1599 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1600  1601  1602  1603  1604  1605  1606  1607  1608  1609  1610  1611  1612 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE 
##  1613  1614  1615  1616  1617  1618  1619  1620  1621  1622  1623  1624  1625 
## FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1626  1627  1628  1629  1630  1631  1632  1633  1634  1635  1636  1637  1638 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1639  1640  1641  1642  1643  1644  1645  1646  1647  1648  1649  1650  1651 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1652  1653  1654  1655  1656  1657  1658  1659  1660  1661  1662  1663  1664 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1665  1666  1667  1668  1669  1670  1671  1672  1673  1674  1675  1676  1677 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1678  1679  1680  1681  1682  1683  1684  1685  1686  1687  1688  1689  1690 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##  1691  1692  1693  1694  1695  1696  1697  1698  1699  1700  1701  1702  1703 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE 
##  1704  1705  1706  1707  1708  1709  1710  1711  1712  1713  1714  1715  1716 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##  1717  1718  1719  1720  1721  1722  1723  1724  1725  1726  1727  1728  1729 
## FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE 
##  1730  1731  1732  1733  1734  1735  1736  1737  1738  1739  1740  1741  1742 
## FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1743  1744  1745  1746  1747  1748  1749  1750  1751  1752  1753  1754  1755 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1756  1757  1758  1759  1760  1761  1762  1763  1764  1765  1766  1767  1768 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1769  1770  1771  1772  1773  1774  1775  1776  1777  1778  1779  1780  1781 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE 
##  1782  1783  1784  1785  1786  1787  1788  1789  1790  1791  1792  1793  1794 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1795  1796  1797  1798  1799  1800  1801  1802  1803  1804  1805  1806  1807 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1808  1809  1810  1811  1812  1813  1814  1815  1816  1817  1818  1819  1820 
## FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1821  1822  1823  1824  1825  1826  1827  1828  1829  1830  1831  1832  1833 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1834  1835  1836  1837  1838  1839  1840  1841  1842  1843  1844  1845  1846 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1847  1848  1849  1850  1851  1852  1853  1854  1855  1856  1857  1858  1859 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1860  1861  1862  1863  1864  1865  1866  1867  1868  1869  1870  1871  1872 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##  1873  1874  1875  1876  1877  1878  1879  1880  1881  1882  1883  1884  1885 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1886  1887  1888  1889  1890  1891  1892  1893  1894  1895  1896  1897  1898 
## FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1899  1900  1901  1902  1903  1904  1905  1906  1907  1908  1909  1910  1911 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1912  1913  1914  1915  1916  1917  1918  1919  1920  1921  1922  1923  1924 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1925  1926  1927  1928  1929  1930  1931  1932  1933  1934  1935  1936  1937 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1938  1939  1940  1941  1942  1943  1944  1945  1946  1947  1948  1949  1950 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1951  1952  1953  1954  1955  1956  1957  1958  1959  1960  1961  1962  1963 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 
##  1964  1965  1966  1967  1968  1969  1970  1971  1972  1973  1974  1975  1976 
## FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1977  1978  1979  1980  1981  1982  1983  1984  1985  1986  1987  1988  1989 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  1990  1991  1992  1993  1994  1995  1996  1997  1998  1999  2000  2001  2002 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  2026  2027  2028 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2029  2030  2031  2032  2033  2034  2035  2036  2037  2038  2039  2040  2041 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE 
##  2042  2043  2044  2045  2046  2047  2048  2049  2050  2051  2052  2053  2054 
## FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2055  2056  2057  2058  2059  2060  2061  2062  2063  2064  2065  2066  2067 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2068  2069  2070  2071  2072  2073  2074  2075  2076  2077  2078  2079  2080 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2081  2082  2083  2084  2085  2086  2087  2088  2089  2090  2091  2092  2093 
## FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE 
##  2094  2095  2096  2097  2098  2099  2100  2101  2102  2103  2104  2105  2106 
## FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2107  2108  2109  2110  2111  2112  2113  2114  2115  2116  2117  2118  2119 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE 
##  2120  2121  2122  2123  2124  2125  2126  2127  2128  2129  2130  2131  2132 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2133  2134  2135  2136  2137  2138  2139  2140  2141  2142  2143  2144  2145 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##  2146  2147  2148  2149  2150  2151  2152  2153  2154  2155  2156  2157  2158 
##  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE 
##  2159  2160  2161  2162  2163  2164  2165  2166  2167  2168  2169  2170  2171 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2172  2173  2174  2175  2176  2177  2178  2179  2180  2181  2182  2183  2184 
## FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2185  2186  2187  2188  2189  2190  2191  2192  2193  2194  2195  2196  2197 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2198  2199  2200  2201  2202  2203  2204  2205  2206  2207  2208  2209  2210 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2211  2212  2213  2214  2215  2216  2217  2218  2219  2220  2221  2222  2223 
## FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE 
##  2224  2225  2226  2227  2228  2229  2230  2231  2232  2233  2234  2235  2236 
##  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2237  2238  2239  2240  2241  2242  2243  2244  2245  2246  2247  2248  2249 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##  2250  2251  2252  2253  2254  2255  2256  2257  2258  2259  2260  2261  2262 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##  2263  2264  2265  2266  2267  2268  2269  2270  2271  2272  2273  2274  2275 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2276  2277  2278  2279  2280  2281  2282  2283  2284  2285  2286  2287  2288 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2289  2290  2291  2292  2293  2294  2295  2296  2297  2298  2299  2300  2301 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2302  2303  2304  2305  2306  2307  2308  2309  2310  2311  2312  2313  2314 
## FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2315  2316  2317  2318  2319  2320  2321  2322  2323  2324  2325  2326  2327 
## FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2328  2329  2330  2331  2332  2333  2334  2335  2336  2337  2338  2339  2340 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE 
##  2341  2342  2343  2344  2345  2346  2347  2348  2349  2350  2351  2352  2353 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2354  2355  2356  2357  2358  2359  2360  2361  2362  2363  2364  2365  2366 
## FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2367  2368  2369  2370  2371  2372  2373  2374  2375  2376  2377  2378  2379 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2380  2381  2382  2383  2384  2385  2386  2387  2388  2389  2390  2391  2392 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2393  2394  2395  2396  2397  2398  2399  2400  2401  2402  2403  2404  2405 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2406  2407  2408  2409  2410  2411  2412  2413  2414  2415  2416  2417  2418 
## FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2419  2420  2421  2422  2423  2424  2425  2426  2427  2428  2429  2430  2431 
## FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2432  2433  2434  2435  2436  2437  2438  2439  2440  2441  2442  2443  2444 
## FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2445  2446  2447  2448  2449  2450  2451  2452  2453  2454  2455  2456  2457 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##  2458  2459  2460  2461  2462  2463  2464  2465  2466  2467  2468  2469  2470 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2471  2472  2473  2474  2475  2476  2477  2478  2479  2480  2481  2482  2483 
##  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE 
##  2484  2485  2486  2487  2488  2489  2490  2491  2492  2493  2494  2495  2496 
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 
##  2497  2498  2499  2500 
## FALSE FALSE FALSE FALSE

Da analisi grafica e statistica contiamo ben 152 osservazioni con leverage alto (quelle fuori linea rossa).

Procediamo adesso con l’analisi degli outliers

plot(rstudent(modello4))
abline(h=c(-2,2), col=2)

library(car)

outlierTest(modello4)
##       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

Dalle evidenze risultano 3 outliers. Quindi in totale 152 valori leverage e 3 outliers.

Continuiamo analizzando la distanza di cook:

cook=cooks.distance(modello4)
plot(cook)

max(cook)#distanza massima raggiunta
## [1] 0.8300965

Il risultato di 0.8300965 indica che l’osservazione con la massima distanza di Cook ha un’influenza elevata sul nostro modello 4. Questo valore suggerisce che potrebbe essere un candidato per essere considerato un outlier o comunque valore con un’influenza da tenere d’occhio.

Completiamo la nostra analisi sui residui:

library(lmtest)
## Caricamento del pacchetto richiesto: zoo
## 
## Caricamento pacchetto: 'zoo'
## I seguenti oggetti sono mascherati da 'package:base':
## 
##     as.Date, as.Date.numeric
bptest(modello4)
## 
##  studentized Breusch-Pagan test
## 
## data:  modello4
## BP = 90.253, df = 5, p-value < 2.2e-16
dwtest(modello4)
## 
##  Durbin-Watson test
## 
## data:  modello4
## DW = 1.9535, p-value = 0.1224
## alternative hypothesis: true autocorrelation is greater than 0
shapiro.test(residuals(modello4))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modello4)
## W = 0.97408, p-value < 2.2e-16
plot(density(residuals(modello4)))

Il test di Breusch-Pagan suggerisce che ci sono problemi di omoscedasticità nel modello mentre basandoci sulla statistica DW concludiamo che non ci sono evidenze significative di autocorrelazione positiva nei residui del modello.

Lo shapiro test sui residui ci fa rifiutare l’ipotesi nulla di normalità. Da grafico notiamo che la densità è molto simile ad una gaussiana, quindi in pratica la deviazione dalla normalità non è drammatica.

Conclusioni: Punti di forza del modello4: Ha un buon potere predittivo(R² alto),i coefficienti sono significativi e plausibili e non abbiamo nessuna autocorrelazione

Criticità del modello: Abbiamo osservato una non distribuzion non normale e omoschedasticità: cioò potrebbe influenzare l’inferenza statistica. Inoltre abbiamo un Outlier che potrebbe distorcere le stime.

Il modello spiega il 72.7% della variabilità del peso. Visto che il nostro focus è quello predittivo e considerato un campione cosi ampio valutiamo come valido il nostro modello.

3. Previsioni e Risultati Creiamo modello previsionale stimando il peso di una neonata considerando una madre alla terza gravidanza che partorirà alla 39esima settimana.

Previsione <- subset(dati, Sesso == "F" & Gestazione == 39 & N.gravidanze == 3)

Previsione$peso_previsto <- predict(modello4, newdata = Previsione)

library(dplyr)
library(knitr)

Previsione %>%
  select(Peso, peso_previsto, Lunghezza, Cranio, Gestazione, N.gravidanze, Sesso) %>%
  mutate(errore = Peso - peso_previsto) %>%
  kable(digits = 1, caption = "Confronto tra peso reale e peso previsto per neonate selezionate")
Confronto tra peso reale e peso previsto per neonate selezionate
Peso peso_previsto Lunghezza Cranio Gestazione N.gravidanze Sesso errore
47 2680 2876.0 450 346 39 3 F -196.0
308 3320 3174.4 475 350 39 3 F 145.6
526 3250 3017.7 470 340 39 3 F 232.3
637 3370 3356.8 500 343 39 3 F 13.2
696 3630 3822.4 530 358 39 3 F -192.4
725 3300 3175.8 470 355 39 3 F 124.2
905 3450 3376.4 505 340 39 3 F 73.6
962 2980 3367.3 500 344 39 3 F -387.3
1016 3100 2941.0 480 323 39 3 F 159.0
1166 2950 3028.6 505 307 39 3 F -78.6
1397 3150 3028.3 470 341 39 3 F 121.7
1736 3150 3150.4 485 338 39 3 F -0.4
1752 3160 3078.0 480 336 39 3 F 82.0
1896 3320 3427.7 510 340 39 3 F -107.7
2107 3080 2995.2 475 333 39 3 F 84.8
2241 3460 3293.6 500 337 39 3 F 166.4
2463 3880 3769.7 530 353 39 3 F 110.3

Facciamo esempio pratico stimando altri parametri

# Creiamo un nuovo data frame con le caratteristiche della neonata
nuova_neonata <- data.frame(
  Lunghezza = 475,
  Cranio = 350,
  Gestazione = 39,
  N.gravidanze = 3,
  Sesso = "F"
)

# Calcoliamo la previsione con il modello4
peso_previsto <- predict(modello4, newdata = nuova_neonata)

peso_previsto
##        1 
## 3174.369

Quindi con le seguenti caratteristiche: -Sesso: Femmina -Lunghezza: 475 mm -Cranio: 350 mm -Settimane di gestazione: 39 -N° gravidanze: 3

Il nostro modello lineare stima un peso alla nascita di circa 3174 grammi, ovvero 3.17 kg.

4. Visualizzazioni

Esploriamo alcune visualizzazioni con GGPLOT

Nello specifico costruiamo due grafici inerenti al rapporto tra peso e durata e gestazione ed all’effetto del fumo sul peso previsto

library(ggplot2)

# Calcola il peso previsto per tutti i casi
dati$peso_previsto <- predict(modello4, newdata = dati)

ggplot(dati, aes(x = Gestazione, y = peso_previsto)) +
  geom_point(alpha = 0.4, color = "steelblue") +
  geom_smooth(method = "lm", se = TRUE, color = "darkred") +
  labs(title = "Impatto della durata della gestazione sul peso previsto",
       x = "Settimane di gestazione",
       y = "Peso previsto (g)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

# Fumo: 0 = non fumatrice, 1 = fumatrice

ggplot(dati, aes(x = factor(Fumatrici), y = peso_previsto, fill = factor(Fumatrici))) +
  geom_boxplot(alpha = 0.7) +
  scale_x_discrete(labels = c("Non fumatrice", "Fumatrice")) +
  labs(title = "Effetto del fumo materno sul peso previsto",
       x = "Fumo materno",
       y = "Peso previsto (g)",
       fill = "Fumo") +
  theme_minimal()

Rapporto tra peso e durata e gestazione Linea è in salita, significa che all’aumentare delle settimane di gestazione, il peso previsto aumenta(il che è coerente con la fisiologia.). Ci sono molti punti lontani dalla linea rossa, indicando che ci sono altri fattori importanti oltre alla gestazione che influenzano il peso (es. lunghezza,sesso ecc.).Osserviamo un chiaro trend crescente: all’aumentare delle settimane di gestazione, il modello prevede un peso più elevato. Questo conferma che la durata della gravidanza è una delle variabili più significative per la stima del peso neonatale.

Relazione Fumo/peso nascituro

Graficamente non sembra ci siano evidenze che il fatto che la madre fumi abbia incidenze importanti sul peso.Le fumatrici potrebbero avere neonati con peso inferiore ma non abbiamo abbastanza fattori per determinarlo con iù precisione. Ciò supporta il nostro assunto precedente di non considerarla rilevante ai fini della scelta del modello ottimale.

Fonti - ISTAT. (Anno). Indicatori demografici nazionali. - WHO. (Anno). Neonatal Health Reports.