(Я не маю реальної ідеї, з чим позначити це, тому що я не статистик, і я не знаю, у яке поле це потрапляє. Сміливо додайте більш підходящі теги.)
Я працюю в компанії, яка виробляє програмне забезпечення для аналізу даних, і нам потрібен гідний набір даних для тестування та демонстрації нашого останнього продукту. Ми не можемо просто заповнити базу даних висновком генератора випадкових чисел, оскільки результати програми стануть безглуздими. Один з найпростіших способів отримання таких даних - від клієнта; у нас є велика кількість даних із проведеного нами випробування. Тепер, очевидно, ми не можемо опублікувати фактичні дані клієнта, тому нам потрібно їх трохи змінити, але нам все одно потрібно, щоб вони поводилися як реальні дані.
Мета полягає в тому, щоб взяти їх набір даних і застосувати до них "нечіткість", щоб вони не могли бути розпізнані як конкретно їхні. Моя пам’ять про статистичну теорію сама по собі трохи нечітка, тому я хотів би це виконати вами:
По суті, дані, які ми маємо (від клієнта), є самими зразками всіх даних, що існують (у країні чи світі). Мені хотілося б знати, який тип операцій можна застосувати, щоб вибірка більше не була репрезентативною для вибіркової сукупності клієнта, при цьому вона залишається приблизно репрезентативною для світового населення.
Для довідки, наскільки нам відомі дані, ми, як правило, дотримуємось нормальних (гауссових) розподілів.
Оригінальний набір даних не є широко доступним, але теоретично його можна розпізнати за деякими регіональними особливостями (ми не знаємо, що це за характеристики, і сумнівно, чи хтось робить на достатньому рівні, але ми знаємо, що варіанти існують з місця до місця). У будь-якому разі мене більше цікавить теорія цього, ніж практика - я хочу знати, чи операція робить неможливою (або принаймні складною) ідентифікацію вихідного набору даних за параметром X, чи хтось має чи міг би розробити параметр X в першу чергу.
Підхід, який я придумав, - це розділити показання на різні типи (не віддаючи багато, скажімо, для групи може бути "довжина" або "час, необхідний для виконання X"). Для кожного з них обчисліть значення стандартне відхилення. Потім до кожного значення додайте випадкове значення між позитивним та негативним значеннями (n * stddev), де n - деяка частка, яку я можу використовувати для налаштування результату, поки дані не будуть достатньо «розмиті». Я не хотів просто застосовувати статичний діапазон (скажімо, випадковий від 90% до 110% від початкового значення), оскільки деякі значення змінюються набагато більше або менше, ніж інші - у деяких вимірах бути 10% над середнім ледь помітно , але в інших це робить вас серйозним чужим.
Чи достатньо цього для маскування джерела вихідних даних? Якщо ні, то за допомогою яких статистичних заходів можна було б ідентифікувати дані, і як я маскую їх, зберігаючи отримані дані невиразно реалістичними?