(Je ne sais pas vraiment avec quoi étiqueter cela parce que je ne suis pas un statisticien et je ne sais pas dans quel domaine cela se situe. N'hésitez pas à ajouter des étiquettes plus appropriées.)
Je travaille pour une entreprise qui produit un logiciel d'analyse de données, et nous avons besoin d'un ensemble de données décent pour tester et faire la démonstration de notre dernier produit. Nous ne pouvons pas simplement remplir la base de données avec la sortie d'un générateur de nombres aléatoires car les sorties du programme deviendraient absurdes. L'un des moyens les plus simples d'obtenir de telles données est à partir d'un client; nous avons un grand nombre de données provenant d'un essai que nous avons mené. Maintenant, évidemment, nous ne pouvons pas publier les données réelles d'un client, nous devons donc les modifier un peu, mais nous en avons toujours besoin pour se comporter comme de vraies données.
Le but ici est de prendre leur ensemble de données, et d'y appliquer un "fuzz" afin qu'il ne puisse pas être reconnu comme spécifiquement le leur. Ma mémoire de la théorie statistique est elle-même un peu floue, donc j'aimerais faire ça par vous les gars:
Essentiellement, les données que nous avons (du client) sont elles-mêmes un échantillon de toutes les données qui existent (dans le pays ou dans le monde). Ce que j'aimerais savoir, c'est quel type d'opérations peut être appliqué pour que l'échantillon ne soit plus fortement représentatif de la population de l'échantillon du client, tout en le gardant à peu près représentatif de la population mondiale.
Pour référence, pour autant que nous sachions, les données que nous avons suivent généralement des distributions normales (gaussiennes) approximatives.
L'ensemble de données d'origine n'est pas largement disponible, mais pourrait théoriquement être reconnu à partir de certaines caractéristiques régionales (nous ne savons pas quelles sont ces caractéristiques, et il est douteux que quelqu'un le fasse à un niveau suffisant, mais nous savons que des variations existent d'un endroit à l'autre) placer). Quoi qu'il en soit, je suis plus intéressé par la théorie que par la pratique - je veux savoir si une opération rend impossible (ou du moins difficile) d'identifier l'ensemble de données source par le paramètre X, que quelqu'un ait ou puisse travailler paramètre X en premier lieu.
L'approche que j'ai trouvée consiste à séparer les lectures en différents types, (sans en dire beaucoup, disons qu'un groupe peut être «longueur» ou «temps nécessaire pour faire X».) Pour chacun d'entre eux, calculez le écart-type. Ensuite, à chaque valeur, ajoutez une valeur aléatoire entre les valeurs positives et négatives de (n * stddev) où n est une fraction que je peux utiliser pour régler le résultat jusqu'à ce que les données soient suffisamment "floues". Je ne voulais pas simplement appliquer une plage statique (disons aléatoire entre 90% et 110% de la valeur d'origine) parce que certaines valeurs varient beaucoup plus ou moins que d'autres - dans certaines mesures, être 10% au-dessus de la moyenne est à peine perceptible , mais dans d'autres, cela fait de vous une valeur aberrante grave.
Est-ce suffisant pour masquer la source des données d'origine? Sinon, par quelles mesures statistiques les données seraient-elles toujours identifiables et comment les masquerais-je tout en gardant les données résultantes vaguement réalistes?