Handling of missing data in Estimators
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia esaminando il comportamento dello stimatore DerSimonianLaird e il percorso MetaEstimator.fit() menzionato nell’issue. Verifica come vengono attualmente gestiti i NaN e i valori zero in y e v. La definizione di Done deve includere l’ignorare gli studi con valori mancanti, la definizione del comportamento richiesto di avviso o errore per i valori zero e la restituzione di NaN quando tutti gli studi sono mancanti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Per @tyarkoni in https://github.com/neurostuff/PyMARE/issues/40#issuecomment-649137976:
I don't recommend treating voxels with missing data for studies as if the estimates and variances are 0. My naive expectation is that PyMARE estimators will always return a NaN value if you do that (if they don't, let me know!), which would be fine since you could just mask those voxels out. BUT even if that's true, I don't think you want to rely on PyMARE to do the right thing here. If you know you have missing data for at least one study at a voxel, I suggest either setting the estimates and variances for those studies to NaN or (better) just masking them out before you hand off to PyMARE in the first place.
Using DerSimonianLaird as an example estimator, here is the behavior I've found:
- Any NaNs in
y--> tau2 = NaN - All zeros in
y--> tau2 = 0 - Any NaNs in
v--> tau2 = NaN - Any zeros in
v--> tau2 = NaN
I think the behavior we want is to ignore any studies with NaNs in either y or v, and maybe raise an error when v is 0 (with the recommendation to fill missing data with NaNs instead of zeros) and raise a warning when y is 0. And of course, if all studies have NaN, then all parameters estimated by the estimator should be NaN.
It would then be the user's responsibility to ensure that missing data is represented with NaNs. On NiMARE's side, I can open an issue to do this automatically in MetaEstimator.fit(). I don't think masking is feasible for NiMARE, given that missing data may vary by both study and voxel, so we'd end up with varying numbers of studies contributing to each voxel's meta-analysis.
WDYT?
- Lingua principale
- Python
- Stelle
- 58
- Fork
- 16
- Merge medio
- 17h 8m
- PR unite (30g)
- 3
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di neurostuff/PyMARE
-
enhancement: adding to condaAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
neurostuff/PyMARE#122 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
neurostuff/PyMARE#115 ·
-
breaking-change enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
neurostuff/PyMARE#103 · 1 commento ·
-
help wanted question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
neurostuff/PyMARE#102 · 1 commento ·
-
breaking-change enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
neurostuff/PyMARE#101 ·
Tutte le issue di neurostuff/PyMARE
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
https://search.utilibre.orgApertainstance instance add
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
searxng/searx-instances#941 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
FluidNumerics/fluid-walk-blocker#89 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno