
Un modello con inflazione zero cattura efficacemente le sfumature dei set di dati caratterizzati da una preponderanza di zeri. Funziona distinguendo tra due processi distinti: 1) Determinare se il risultato è zero e 2) prevedere i valori per risultati diversi da zero. Questo duplice approccio è particolarmente adatto per porre domande del tipo: “Ci sono cellule presenti e, se sì, quante?”
Per gestire set di dati con abbondanza di zeri, utilizziamo modelli come hurdle_poisson()
E Zero_inflated_poisson
entrambi progettati per scenari in cui i modelli di conteggio standard come Poisson o i modelli binomiali negativi si rivelano inadeguati (3).In parole povere, una differenza fondamentale tra hurdle_poisson()
E Zero_inflated_poisson
è che questi ultimi incorporano una componente di probabilità aggiuntiva specifica per gli zeri, migliorando la loro capacità di gestire set di dati in cui gli zeri non sono semplicemente comuni ma significativi. Vedremo l'impatto che queste funzionalità hanno nella nostra strategia di modellazione utilizzando brms
.
Adattamento di un modello hurdle_poisson
Iniziamo utilizzando il hurdle_poisson()
distribuzione nel nostro schema di modellazione:
Hurdle_Fit1 <- brm(Cells ~ Hemisphere,
data = Svz_data,
family = hurdle_poisson(),
# seed for reproducibility purposes
seed = 8807,
control = list(adapt_delta = 0.99),
# this is to save the model in my laptop
file = "Models/2024-04-19_CountsZeroInflated/Hurdle_Fit1.rds",
file_refit = "never")# Add loo for model comparison
Hurdle_Fit1 <-
add_criterion(Hurdle_Fit1, c("loo", "waic", "bayes_R2"))
Vediamo i risultati utilizzando la funzione di riepilogo standard.
summary(Hurdle_Fit1)
Data questa distribuzione familiare, le stime sono riportate nella scala logaritmica (mu = log). In termini pratici, ciò significa che il numero di cellule nella zona subventricolare controlaterale (SVZ) può essere espresso come exp(1.11) = 3.03. Allo stesso modo, si stima che l'emisfero ipsilaterale abbia exp (1,07) = 2,91 volte il numero di cellule. Questi risultati si allineano bene con le nostre aspettative e offrono un’interpretazione coerente della distribuzione cellulare tra i due emisferi.
Inoltre, il hu
Il parametro all'interno dei “Parametri specifici della famiglia” fa luce sulla probabilità di osservare conteggi di cellule pari a zero. Indica una probabilità del 38% di zero occorrenze. Questa probabilità evidenzia la necessità di un approccio modello a inflazione zero e ne giustifica l’uso nella nostra analisi.
Per visualizzare meglio le implicazioni di questi risultati, possiamo sfruttare il conditional_effects
funzione. Questo strumento nel brms
Il pacchetto ci consente di tracciare gli effetti stimati di diversi predittori sulla variabile di risposta, fornendo una chiara rappresentazione grafica di come i predittori influenzano il conteggio delle cellule previsto.
Hurdle_CE <-
conditional_effects(Hurdle_Fit1)Hurdle_CE <- plot(Hurdle_CE,
plot = FALSE)((1))
Hurdle_Com <- Hurdle_CE +
Plot_theme +
theme(legend.position = "bottom", legend.direction = "horizontal")
Hurdle_CE_hu <-
conditional_effects(Hurdle_Fit1, dpar = "hu")
Hurdle_CE_hu <- plot(Hurdle_CE_hu,
plot = FALSE)((1))
Hurdle_hu <- Hurdle_CE_hu +
Plot_theme +
theme(legend.position = "bottom", legend.direction = "horizontal")
Hurdle_Com | Hurdle_hu
Questi grafici disegnano un quadro più logico rispetto al nostro primo modello. Il grafico a sinistra mostra le due parti del modello (“mu” e “hu”). Inoltre, se questo modello è adatto, dovremmo vedere previsioni più allineate durante l’utilizzo pp_check
:
pp_check(Hurdle_Fit1, ndraws = 100) +
labs(title = "Hurdle regression") +
theme_classic()
Come previsto, le previsioni del nostro modello hanno un limite inferiore pari a 0.
Modellazione della dispersione dei dati
Osservando i dati presentati nel grafico di destra di Figura 5 rivela una discrepanza tra i nostri risultati empirici e la nostra comprensione teorica dell’argomento. Sulla base delle conoscenze consolidate, ci aspettiamo una maggiore probabilità di conta cellulare diversa da zero nella zona subventricolare (SVZ) dell'emisfero ipsilaterale, soprattutto a seguito di un infortunio. Questo perché la SVZ ipsilaterale diventa tipicamente un centro di attività cellulare, con una significativa proliferazione cellulare dopo la lesione. I nostri dati, che indicano conteggi prevalenti diversi da zero in questa regione, supportano questa aspettativa biologica.
Tuttavia, le attuali previsioni del modello non sono completamente in linea con queste intuizioni. Questa divergenza sottolinea l’importanza di incorporare la conoscenza scientifica nei nostri modelli statistici. Affidarsi esclusivamente a test standard senza adattamento contestuale può portare a conclusioni fuorvianti.
Per risolvere questo problema, possiamo perfezionare il nostro modello modificando in modo specifico il hu
parametro, che rappresenta la probabilità di zero occorrenze. Ciò ci consente di riflettere in modo più accurato l'attività biologica prevista nella SVZ dell'emisfero ipsilaterale. Costruiamo quindi un secondo modello ad ostacoli:
Hurdle_Mdl2 <- bf(Cells ~ Hemisphere,
hu ~ Hemisphere)Hurdle_Fit2 <- brm(
formula = Hurdle_Mdl2,
data = Svz_data,
family = hurdle_poisson(),
# seed for reproducibility purposes
seed = 8807,
control = list(adapt_delta = 0.99),
# this is to save the model in my laptop
file = "Models/2024-04-19_CountsZeroInflated/Hurdle_Fit2.rds",
file_refit = "never")
# Add loo for model comparison
Hurdle_Fit2 <-
add_criterion(Hurdle_Fit2, c("loo", "waic", "bayes_R2"))
Vediamo prima se il grafico dei risultati è in linea con la nostra ipotesi:
Hurdle_CE <-
conditional_effects(Hurdle_Fit2)Hurdle_CE <- plot(Hurdle_CE,
plot = FALSE)((1))
Hurdle_Com <- Hurdle_CE +
Plot_theme +
theme(legend.position = "bottom", legend.direction = "horizontal")
Hurdle_CE_hu <-
conditional_effects(Hurdle_Fit2, dpar = "hu")
Hurdle_CE_hu <- plot(Hurdle_CE_hu,
plot = FALSE)((1))
Hurdle_hu <- Hurdle_CE_hu +
Plot_theme +
theme(legend.position = "bottom", legend.direction = "horizontal")
Hurdle_Com | Hurdle_hu
Questo approccio di modellazione rivisto sembra rappresentare un miglioramento sostanziale. Tenendo conto specificamente della maggiore probabilità di conteggi zero (~75%) nell’emisfero controlaterale, il modello ora si allinea più strettamente sia ai dati osservati che alle nostre conoscenze scientifiche. Questo aggiustamento non solo riflette l'attività cellulare inferiore prevista in questa regione, ma migliora anche la precisione delle nostre stime. Con questi cambiamenti, il modello offre ora un’interpretazione più sfumata della dinamica cellulare post-infortunio. Vediamo il riassunto e la TRASFORMAZIONE PER IL hu
parametri (non guardare gli altri) per visualizzarli in una scala di probabilità utilizzando il logit2prob
funzione abbiamo creato all'inizio.
logit2prob(fixef(Hurdle_Fit2))
Sebbene le stime per il numero di celle siano simili, il hu
parametri (nella scala logit) ci dicono che la probabilità di vedere degli zeri nell'emisfero controlaterale è:
Al contrario:
Rappresenta una drastica riduzione a circa lo 0,23% di probabilità di osservare una conta cellulare pari a zero nell'emisfero danneggiato (ipsilaterale). Si tratta di un cambiamento notevole nelle nostre stime.
Ora, esploriamo se a zero_inflated_poisson()
la famiglia di distribuzione modifica queste intuizioni.
Fonte: towardsdatascience.com