Quali sono alcune pratiche standard per la creazione di set di dati sintetici?


26

Come contesto: quando si lavora con un set di dati molto grande, a volte mi viene chiesto se è possibile creare un set di dati sintetico in cui "conosciamo" la relazione tra predittori e la variabile di risposta o le relazioni tra predittori.

Nel corso degli anni, mi sono imbattuto in set di dati sintetici una tantum, che sembrano essere stati elaborati in modo ad hoc, o in set di dati più strutturati che sembrano particolarmente favorevoli al metodo di modellazione proposto dal ricercatore.

Credo che sto cercando metodi standard per la creazione di set di dati sintetici. Sebbene il ricampionamento bootstrap sia un metodo comune per la creazione di set di dati sintetici, non soddisfa la condizione che conosciamo a priori la struttura . Inoltre, lo scambio di campioni bootstrap con altri richiede essenzialmente lo scambio di dati, piuttosto che un metodo di generazione dei dati.

Se possiamo adattare una distribuzione parametrica ai dati o trovare un modello parametrico sufficientemente vicino, questo è un esempio in cui possiamo generare set di dati sintetici.

Quali altri metodi esistono? Sono particolarmente interessato a dati ad alta dimensione, dati sparsi e dati di serie temporali. Per dati ad alta dimensione, cercherei metodi in grado di generare strutture (ad esempio struttura di covarianza, modelli lineari, alberi, ecc.) Di interesse. Per i dati di serie temporali, dalle distribuzioni su FFT, modelli AR o vari altri modelli di filtro o previsione sembra un inizio. Per dati sparsi, la riproduzione di un modello di sparsità sembra utile.

Credo che questi graffino solo la superficie: si tratta di pratiche euristiche, non formali. Ci sono riferimenti o risorse per la generazione di dati sintetici che dovrebbero essere conosciuti dai professionisti?


Nota 1: mi rendo conto che questa domanda si rivolge alla letteratura su come si possono generare dati come un particolare modello di serie storiche. La distinzione qui è sulle pratiche, in particolare per indicare una struttura nota (la mia domanda), rispetto alla somiglianza / fedeltà a un set di dati esistente. Nel mio caso non è necessario avere la somiglianza, tanto quanto la struttura nota, sebbene la somiglianza sia molto preferita alla dissomiglianza. Un set di dati sintetici esotici per cui un modello mostra promessa è meno preferito di una simulazione realistica.

Nota 2: La voce di Wikipedia per i dati sintetici sottolinea che luminari come Rubin e Fienberg hanno affrontato questo problema, anche se non ho trovato riferimenti sulle migliori pratiche. Sarebbe interessante sapere cosa sarebbe accaduto, per esempio, con gli Annals of Applied Statistics (o l'AOS), o in rassegna i lavori su queste o altre riviste. In termini semplici e stravaganti, ci si può chiedere dove esiste la soglia tra "(accettabilmente) cotto" e "troppo cotto"?

Nota 3: sebbene non influisca sulla domanda, lo scenario di utilizzo è la modellazione di vari set di dati di grandi dimensioni e ad alta dimensione, in cui l'agenda di ricerca è quella di apprendere (sia dall'uomo che dalla macchina ;-)) la struttura dei dati. A differenza di scenari univariati, bivariati e altri scenari di bassa dimensione, la struttura non è facilmente deducibile. Mentre avanziamo verso una migliore comprensione della struttura, è in grado di generare insiemi di dati con proprietà simili per vedere come un metodo di modellazione interagisce con i dati (ad esempio per esaminare la stabilità dei parametri). Tuttavia, le guide più vecchie sui dati sintetici a bassa dimensione possono essere un punto di partenza che può essere esteso o adattato a serie di dati a dimensione superiore.

Risposte:


7

Io non sono sicuro che ci sono pratiche standard per la generazione di dati sintetici - è usato così pesantemente in tanti diversi aspetti della ricerca che i dati appositamente costruito sembra essere un approccio più comune e forse più ragionevole.

Per me, la mia migliore pratica standard non è quella di creare il set di dati, quindi funzionerà bene con il modello. Fa parte della fase di ricerca, non parte della fase di generazione dei dati. Invece, i dati dovrebbero essere progettati per riflettere il processo di generazione dei dati . Ad esempio, per gli studi di simulazione in epidemiologia, parto sempre da una vasta popolazione ipotetica con una distribuzione nota, e quindi simulo il campionamento degli studi da quella popolazione, piuttosto che generare direttamente "la popolazione dello studio".

Ad esempio, in base alla nostra discussione di seguito, ho fatto due esempi di dati simulati:

  • Un po 'simile al tuo esempio di modello SIR di seguito, una volta ho usato un modello matematico della diffusione della malattia su una rete per mostrarmi attraverso la simulazione che un particolare parametro costante non implicava necessariamente un rischio costante se trattavi i risultati come risultato di uno studio di coorte. È stata un'utile dimostrazione del concetto mentre cercavo una soluzione analitica.
  • Volevo esplorare l'impatto di un certo schema di campionamento per uno studio caso-controllo. Piuttosto che cercare di generare lo studio in modo definitivo, ho seguito ogni fase del processo. Una popolazione di 1.000.000 di persone, con una data prevalenza nota di malattia e un modello di covariata noto. Quindi da quello che simula il processo di campionamento - in questo caso, come casi e controlli sono stati disegnati dalla popolazione. Solo allora ho lanciato un vero modello statistico agli "studi simulati" raccolti.

Simulazioni come quest'ultima sono molto comuni quando si esamina l'impatto dei metodi di reclutamento dello studio, degli approcci statistici al controllo delle covariate, ecc.


Grazie per aver risposto. Tuttavia, sulla base di ciò che so sull'epidemiologia, è stato fatto molto di più nello sviluppo di modelli stocastici abbastanza utili, in particolare i modelli SIR. Questo non è vero in molti altri domini, sebbene essere in grado di sviluppare rapidamente modelli di dati stocastici accettabili è parte del mio intento.
Iteratore

@Iteratore Dipende enormemente da dove ti trovi e da quale aspetto dell'epidemiologia stai parlando. Un epidemiologo del cancro, ad esempio, sarebbe scioccato nel sentire che "molto di più" è stato fatto con i modelli SIR - probabilmente non ne hanno mai incontrato uno nel loro lavoro. Mentre i modelli di tipo SIR sono un aspetto di una parte particolare dell'epidemiologia (epi di malattie infettive e anche allora, nemmeno un ampio sottoinsieme di ID Epi), l'epidemiologia come campo fa un uso enorme di modelli statistici, in particolare modelli lineari generali, sopravvivenza analisi e serie storiche.
Fomite

Whoa. Senza offesa, ho solo affermato che i modelli SIR sono un ottimo esempio di un modello standard di generazione dei dati. Ovviamente sono consapevole che ci sono altre aree di epi che usano un intero spettro di metodi di modellazione. Se hai alcuni suggerimenti o riferimenti su altri metodi di generazione dei dati utilizzati in epidemiologia, sono abbastanza aperto a loro.
Iteratore

1
@Iteratore Scusate se ho dato l'impressione di essere offeso. Molto no;). È solo qualcosa che ottengo perché mi siedo quadrato nell'intersezione tra l'EPI matematica e l'epidemiologia osservativa, e le persone in un'area sono sbalordite dall'altra area. Modificherò la mia risposta con un esempio di tipo non SIR.
Fomite

2

Il pacchetto statistico R ha una funzione di simulazione che simulerà i dati basati su un modello adatto ai dati esistenti. Questo utilizza il modello adattato come relazione di popolazione "nota", quindi simula nuovi dati basati su quel modello. Esiste un metodo per questa funzione nel pacchetto lme4. Questi oggetti montati possono tenere conto degli effetti casuali e fissi e della correlazione (inclusa l'autocorrelazione per le serie temporali).

Questo potrebbe funzionare facendo quello che vuoi.


Grazie per il suggerimento Questa funzione è sicuramente utile, anche se il mio interesse è più in termini di pratiche statistiche e metodologia piuttosto che di codice per una soluzione particolare. Questo è simile a chiedere metodi di campionamento o analisi riproducibili, piuttosto che pacchetti particolari che implementano tali metodi e analisi. Tuttavia, i buoni metodi dovrebbero diventare pacchetti. :)
Iteratore
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.