Quelles sont les pratiques standard pour créer des ensembles de données synthétiques?

26

Comme contexte: lorsque je travaille avec un ensemble de données très volumineux, on me demande parfois si nous pouvons créer un ensemble de données synthétiques où nous «connaissons» la relation entre les prédicteurs et la variable de réponse, ou les relations entre les prédicteurs.

Au fil des ans, je semble rencontrer soit des ensembles de données synthétiques uniques, qui semblent avoir été préparés de manière ad hoc, soit des ensembles de données plus structurés qui semblent particulièrement favorables à la méthode de modélisation proposée par le chercheur.

Je crois que je recherche des méthodes standard pour créer des ensembles de données synthétiques. Bien que le rééchantillonnage bootstrap soit une méthode courante pour créer un ensemble de données synthétiques, il ne satisfait pas à la condition que nous connaissions la structure a priori . De plus, l'échange d'échantillons bootstrap avec d'autres nécessite essentiellement l'échange de données plutôt qu'une méthode de génération de données.

Si nous pouvons adapter une distribution paramétrique aux données ou trouver un modèle paramétré suffisamment proche, alors c'est un exemple où nous pouvons générer des ensembles de données synthétiques.

Quelles autres méthodes existent? Je m'intéresse particulièrement aux données de haute dimension, aux données clairsemées et aux données de séries chronologiques. Pour les données de grande dimension, je rechercherais des méthodes pouvant générer des structures (par exemple structure de covariance, modèles linéaires, arbres, etc.) intéressantes. Pour les données de séries chronologiques, des distributions sur des FFT, des modèles AR ou divers autres modèles de filtrage ou de prévision semblent être un début. Pour les données clairsemées, la reproduction d'un motif de rareté semble utile.

Je crois que cela ne fait qu'effleurer la surface - ce sont des pratiques heuristiques et non formelles. Existe-t-il des références ou des ressources pour générer des données synthétiques qui devraient être connues des praticiens?


Note 1: Je me rends compte que cette question aborde la littérature sur la façon dont on peut générer des données comme un modèle de série chronologique particulier. La distinction ici porte sur les pratiques, notamment pour indiquer une structure connue (ma question), par rapport à la similitude / fidélité à un ensemble de données existant. Il n'est pas nécessaire dans mon cas d'avoir une similitude, autant que la structure connue, bien que la similitude soit grandement préférée à la dissimilarité. Un ensemble de données synthétiques exotiques pour lequel un modèle est prometteur est moins préféré qu'une simulation réaliste.

Remarque 2: L' entrée Wikipedia pour les données synthétiques souligne que des sommités telles que Rubin et Fienberg ont résolu ce problème, bien que je n'ai trouvé aucune référence sur les meilleures pratiques. Il serait intéressant de savoir ce qui se passerait avec, disons, les Annals of Applied Statistics (ou l'AOS), ou dans les travaux de revue de ces revues ou d'autres. En termes simples et fantaisistes, on peut se demander où existe le seuil entre "(acceptablement) cuit" et "trop ​​cuit"?

Remarque 3: bien que cela n'affecte pas la question, le scénario d'utilisation consiste à modéliser des ensembles de données de grande taille et de grande taille, où le programme de recherche consiste à apprendre (à la fois par l'homme et par la machine ;-)) la structure des données. Contrairement aux scénarios univariés, bivariés et autres scénarios de faible dimension, la structure n'est pas facilement déduite. Alors que nous progressons vers une meilleure compréhension de la structure, il est intéressant de pouvoir générer des ensembles de données avec des propriétés similaires afin de voir comment une méthode de modélisation interagit avec les données (par exemple pour examiner la stabilité des paramètres). Néanmoins, les anciens guides sur les données synthétiques de faible dimension peuvent être un point de départ qui peut être étendu ou adapté pour des ensembles de données de dimension supérieure.

Itérateur
la source

Réponses:

7

Je ne suis pas sûr qu'il existe des pratiques standard pour générer des données synthétiques - elles sont tellement utilisées dans tant d'aspects différents de la recherche que les données spécialement conçues semblent être une approche plus courante et sans doute plus raisonnable.

Pour moi, ma meilleure pratique standard est de ne pas créer l'ensemble de données afin qu'il fonctionne bien avec le modèle. Cela fait partie de la phase de recherche, pas de la phase de génération des données. Au lieu de cela, les données doivent être conçues pour refléter le processus de génération de données . Par exemple, pour les études de simulation en épidémiologie, je pars toujours d'une grande population hypothétique avec une distribution connue, puis je simule un échantillonnage d'étude à partir de cette population, plutôt que de générer directement «la population d'étude».

Par exemple, sur la base de notre discussion ci-dessous, deux exemples de données simulées que j'ai faites:

  • Un peu similaire à votre exemple de modèle SIR ci-dessous, j'ai déjà utilisé un modèle mathématique de la propagation de la maladie sur un réseau pour me montrer par simulation qu'un paramètre constant particulier n'impliquait pas nécessairement un risque constant si vous traitez les résultats comme le résultat d'une étude de cohorte. C'était une preuve de concept utile pendant que je cherchais une solution analytique.
  • Je voulais explorer l'impact d'un certain schéma d'échantillonnage pour une étude cas-témoins. Plutôt que d'essayer de générer directement l'étude, j'ai parcouru chaque étape du processus. Une population de 1 000 000 de personnes, avec une prévalence connue donnée de la maladie et un modèle de covariable connu. Puis à partir de cela simulant le processus d'échantillonnage - dans ce cas, comment les cas et les témoins ont été tirés de la population. Ce n'est qu'alors que j'ai lancé un véritable modèle statistique sur les "études simulées" collectées.

Des simulations comme celle-ci sont très courantes lors de l'examen de l'impact des méthodes de recrutement des études, des approches statistiques pour contrôler les covariables, etc.

Fomite
la source
Merci de répondre. Cependant, d'après ce que je sais de l'épidémiologie, beaucoup plus a été fait pour développer des modèles stochastiques assez utiles, notamment des modèles SIR. Ce n'est pas vrai dans beaucoup d'autres domaines, bien que pouvoir développer rapidement des modèles de données stochastiques acceptables fasse partie de mon intention.
Iterator
@Iterator Cela dépend énormément de l'endroit où vous vous trouvez et de l'aspect de l'épidémiologie dont vous parlez. Un épidémiologiste du cancer, par exemple, serait choqué d'apprendre que «beaucoup plus» a été fait avec les modèles SIR - ils n'en ont probablement jamais rencontré dans leur travail. Alors que les modèles de type SIR sont un aspect d'une partie particulière de l'épidémiologie (épi des maladies infectieuses, et même alors, pas même un grand sous - ensemble de ID Epi), l'épidémiologie en tant que domaine utilise énormément les modèles statistiques, en particulier les modèles linéaires généraux, la survie analyse et séries chronologiques.
Fomite
Whoa. Aucune infraction prévue, j'ai seulement déclaré que les modèles SIR sont un très bon exemple d'un modèle standard de génération de données. Bien sûr, je suis conscient qu'il existe d'autres domaines de l'épi qui utilisent tout un éventail de méthodes de modélisation. Si vous avez des pointeurs ou des références sur d'autres méthodes de génération de données utilisées en épidémiologie, je suis assez ouvert à eux.
Iterator
1
@Iterator Désolé si j'ai donné l'impression d'être offensé. Pas du tout;). C'est juste quelque chose que je reçois parce que je suis assis à l'intersection entre l'épi mathématique et l'épidémiologie observationnelle, et les gens dans un domaine sont sidérés, l'autre domaine existe. Je vais modifier ma réponse avec un exemple de type non SIR.
Fomite
2

Le progiciel statistique R a une fonction de simulation qui simulera des données basées sur un modèle adapté aux données existantes. Celui-ci utilise le modèle ajusté comme relation de population «connue», puis simule de nouvelles données basées sur ce modèle. Il existe une méthode pour cette fonction dans le package lme4. Ces objets ajustés peuvent prendre en compte les effets aléatoires et fixes et la corrélation (y compris l'autocorrélation pour les séries chronologiques).

Cela peut fonctionner, faites ce que vous voulez.

Greg Snow
la source
Merci pour la suggestion. Cette fonction est certainement utile, bien que mon intérêt soit plus en termes de pratiques statistiques et de méthodologie plutôt que de code pour une solution particulière. Cela revient à poser des questions sur les méthodes d'échantillonnage ou les analyses reproductibles, plutôt que sur des packages particuliers qui mettent en œuvre lesdites méthodes et analyses. Néanmoins, les bonnes méthodes devraient devenir des packages. :)
Iterator