0

Étant donné un jeu de données avec une distribution non uniforme (très pointu), je souhaite rééchantillonner pour créer un nouveau jeu de données avec une distribution à peu près uniforme. Mon approche:Exemple de création d'une distribution uniforme à partir de données non uniformes

  1. Divisez les données en cases.
  2. Niveau de la cellule cible = Le plus petit nombre d'échantillons par casier, parmi tous les casiers.
  3. Supprimez de manière aléatoire des échantillons jusqu'à ce que chaque nombre de bacs soit égal au niveau de bac cible.

Y a-t-il une meilleure technique?

Répondre

1

Nous savons que pour une distribution uniforme, nous avons

moyenne = (a + b)/2

variance = (ba)^2/12

vous pouvez donc construire ces derniers et échantillon d'une distribution uniforme avec ces paramètres, où vous définissez a = min (données) et b = max (données) ou peut-être a = mean (lowest_bin) et b = mean (highest_bin) ou quelque chose comme ça. Comment vous voulez définir a et b dépend de vos données et de ce que vous voulez accomplir

+0

Par souci de simplicité, supposons que mes données ont une moyenne de 0 et vont de -1 à +1. Il semble que vous disiez de choisir des échantillons aléatoires d'une distribution uniforme entre -1 et +1. Mais ces échantillons ne correspondent pas aux échantillons de mes données. Voulez-vous choisir les échantillons aléatoires de la distribution uniforme et ensuite choisir des échantillons de mes données qui sont les plus proches des valeurs tirées de la distribution uniforme? –

+0

Hmm si vous voulez toujours les données d'origine échantillonnées alors il est probablement préférable de faire un peu comme vous l'avez fait. Imaginons que vous avez 3 bacs. Le premier contient 1 article, le second contient 2 articles et le troisième contient 3 articles. Ensuite, je ferais en sorte que chaque bin a une probabilité de 1/3 - donc l'élément dans bin1 a P = 1/3, les deux éléments dans bin2 a P = 1/6 (donc ensemble ils ont 1/3), et les éléments dans bin3 ont P = 1/9. De cette façon, vous n'avez pas besoin de supprimer des points de données, vous les pesez simplement de sorte que nous choisissons un objet de chaque bin avec la même probabilité qui devrait donner une distribution approximativement uniforme. –