Являются ли мои реальные и синтетические наборы данных случайными выборками из одного и того же родительского распределения?
Делиться

При генерации синтетических данных мы обычно создаём модель для наших реальных (или «наблюдаемых») данных, а затем используем её для генерации синтетических данных. Эти наблюдаемые данные обычно собираются из реального опыта, например, из измерений физических характеристик радужных оболочек глаз или информации о людях, допустивших дефолт по кредиту или получивших какое-либо заболевание. Можно представить себе, что наблюдаемые данные происходят из некоего «родительского распределения» — истинного базового распределения, случайной выборкой из которого являются наблюдаемые данные. Конечно, мы никогда не знаем это родительское распределение — его необходимо оценить, и в этом и заключается цель нашей модели.
Но если наша модель способна генерировать синтетические данные, которые можно считать случайной выборкой из того же исходного распределения, то мы сорвали куш: синтетические данные будут обладать теми же статистическими свойствами и закономерностями, что и наблюдаемые данные (точность); они будут столь же полезны для решения таких задач, как регрессия или классификация (полезность); и, поскольку это случайная выборка, нет риска, что она идентифицирует наблюдаемые данные (конфиденциальность). Но как мы можем узнать, достигли ли мы этой труднодостижимой цели?
В первой части этой истории мы проведём несколько простых экспериментов, чтобы лучше понять проблему и найти решение. Во второй части мы оценим производительность различных генераторов синтетических данных на основе набора известных наборов данных.
Часть 1 — Несколько простых экспериментов
Рассмотрим следующие два набора данных и попытаемся ответить на этот вопрос:
Являются ли наборы данных случайными выборками из одного и того же родительского распределения или один был получен из другого путем применения небольших случайных возмущений?

Эти наборы данных явно демонстрируют схожие статистические свойства, такие как маргинальные распределения и ковариации. Они также будут вести себя схожим образом при решении задачи классификации, в которой классификатор, обученный на одном наборе данных, тестируется на другом.
Но предположим, что мы хотим отобразить точки данных из каждого набора на одном графике. Если наборы данных представляют собой случайные выборки из одного и того же исходного распределения, мы интуитивно ожидаем, что точки из одного набора будут перемежаться с точками из другого таким образом, что в среднем точки из одного набора будут так же близки (или «настолько же похожи») к своим ближайшим соседям в этом наборе, как и к своим ближайшим соседям в другом наборе. Однако, если один набор данных представляет собой небольшое случайное возмущение другого, то точки из одного набора будут больше похожи на своих ближайших соседей в другом наборе, чем на своих ближайших соседей в том же наборе. Это приводит к следующему тесту.
Тест на максимальное сходство
Для каждого набора данных вычислите сходство между каждым экземпляром и его ближайшим соседом в том же наборе данных. Назовите это «максимальным внутринаборным сходством». Если наборы данных имеют одинаковые характеристики распределения, то распределение внутринаборного сходства должно быть аналогичным для каждого набора данных. Теперь вычислите сходство между каждым экземпляром одного набора данных и его ближайшим соседом в другом наборе данных и назовите это «максимальным межнаборным сходством». Если распределение максимального межнаборного сходства совпадает с распределением максимального внутринаборного сходства, то наборы данных можно считать случайными выборками из одного и того же родительского распределения. Для корректности теста каждый набор данных должен содержать одинаковое количество примеров.

Поскольку все наборы данных, с которыми мы имеем дело в этой статье, содержат смесь числовых и категориальных переменных, нам нужна мера сходства, которая учитывает это. Мы используем показатель сходства Гауэра¹.
Таблица и гистограммы ниже показывают средние значения и распределения максимального внутри- и межнаборного сходства для наборов данных 1 и 2.


В среднем, экземпляры в одном наборе данных больше похожи на своих ближайших соседей в другом наборе данных, чем на своих ближайших соседей в том же наборе данных. Это указывает на то, что наборы данных с большей вероятностью являются возмущениями друг друга, чем случайными выборками из одного и того же родительского распределения. И действительно, это возмущения! Набор данных 1 был сгенерирован на основе модели гауссовой смеси; набор данных 2 был сгенерирован путём выбора (без замены) экземпляра из набора данных 1 и применения небольшого случайного возмущения.
В конечном счёте, мы будем использовать тест максимального сходства для сравнения синтетических и наблюдаемых наборов данных. Самая большая опасность, связанная с тем, что точки синтетических данных расположены слишком близко к наблюдаемым, — это конфиденциальность, то есть возможность идентифицировать точки наблюдаемого набора по точкам синтетического набора. Более того, если внимательно изучить наборы данных 1 и 2, можно обнаружить несколько таких пар. И это в случае, когда среднее максимальное сходство между наборами данных всего на 0,3% превышает среднее максимальное сходство внутри набора!
Моделирование и синтез
В завершение первой части истории давайте создадим модель для набора данных и используем её для генерации синтетических данных. Затем мы сможем сравнить синтетические и наблюдаемые наборы с помощью теста максимального сходства.
Набор данных слева на рисунке 4 ниже — это просто набор данных 1, показанный выше. Набор данных справа (набор данных 3) — это синтетический набор данных. (Мы оценили распределение как гауссовскую смесь, но это неважно).

Вот средние значения сходства и гистограммы:


Три средних значения идентичны до трёх значащих цифр, а три гистограммы очень похожи. Следовательно, согласно тесту на максимальное сходство, оба набора данных можно обоснованно считать случайными выборками из одного и того же исходного распределения. Наш эксперимент по генерации синтетических данных увенчался успехом, и мы достигли трёх главных целей: точности, полезности и конфиденциальности.
[Код Python, использованный для создания наборов данных, графиков и гистограмм из части 1, доступен по адресу https://github.com/a-skabar/TDS-EvalSynthData]
Часть 2 — Реальные наборы данных, реальные генераторы
Набор данных, использованный в части 1, прост и может быть легко смоделирован с помощью простого сочетания гауссовских распределений. Однако большинство реальных наборов данных гораздо сложнее. В этой части мы применим несколько генераторов синтетических данных к некоторым популярным реальным наборам данных. Основное внимание мы уделим сравнению распределений максимального сходства внутри наблюдаемых и синтетических наборов данных, а также между ними, чтобы понять, в какой степени их можно считать случайными выборками из одного и того же исходного распределения.
Шесть наборов данных взяты из репозитория Калифорнийского университета в Ирвайне² и представляют собой популярные наборы данных, которые уже несколько десятилетий широко используются в литературе по машинному обучению. Все они относятся к смешанному типу и были выбраны, поскольку различаются по балансу категориальных и числовых признаков.
Шесть генераторов представляют основные подходы, используемые для генерации синтетических данных: на основе копул, на основе генеративно-ассоциативных сетей (GAN), на основе виртуальных автономных вычислений (VAE) и подходы, использующие последовательную импутацию. CopulaGAN³, GaussianCopula, CTGAN³ и TVAE³ доступны в библиотеках Synthetic Data Vault⁴, synthpop⁵ доступен в виде пакета R с открытым исходным кодом, а UNCRi — это инструмент генерации синтетических данных, разработанный в рамках фреймворка Unified Numeric/Categorical Representation and Inference (UNCRi)⁶. Все генераторы использовались с настройками по умолчанию.
В таблице 1 показаны средние максимальные внутри- и межсетевые сходства для каждого генератора, примененного к каждому набору данных. Записи, выделенные красным, — это те, в которых конфиденциальность была нарушена (т. е. среднее максимальное межсетевое сходство превышает среднее максимальное внутрисетевое сходство на наблюдаемых данных). Записи, выделенные зеленым, — это те, у которых среднее максимальное межсетевое сходство (не включая выделенные красным). В последнем столбце показан результат выполнения теста «Обучение на синтетических, тестирование на реальных» (TSTR), где классификатор или регрессор обучается на синтетических примерах и тестируется на реальных (наблюдаемых) примерах. Набор данных Boston Housing — это задача регрессии, и выводится средняя абсолютная ошибка (MAE); все остальные задачи — задачи классификации, и выводится значение площади под ROC-кривой (AUC).

На рисунках ниже для каждого набора данных показаны распределения максимального внутри- и межсетевого сходства, соответствующие генератору, который достиг наивысшего среднего максимального межсетевого сходства (за исключением тех, которые выделены красным выше).






Из таблицы видно, что для генераторов, не нарушавших конфиденциальность, среднее максимальное сходство между наборами данных очень близко к среднему максимальному сходству внутри набора данных для наблюдаемых данных. Гистограммы показывают нам распределения этих максимальных сходств, и мы видим, что в большинстве случаев распределения явно схожи — поразительно для таких наборов данных, как набор данных Census Income. Таблица также показывает, что генератор, достигший наибольшего среднего максимального сходства между наборами данных для каждого набора данных (за исключением выделенных красным), также продемонстрировал наилучшие результаты на тесте TSTR (снова за исключением выделенных красным). Таким образом, хотя мы никогда не можем утверждать, что обнаружили «истинное» базовое распределение, эти результаты показывают, что наиболее эффективный генератор для каждого набора данных уловил важнейшие особенности базового распределения.
Конфиденциальность
Только два из семи генераторов выявили проблемы с конфиденциальностью: синтипоп и TVAE. Каждый из них нарушил конфиденциальность в трёх из шести наборов данных. В двух случаях, а именно в TVAE по Cleveland Heart Disease и TVAE по Credit Approval, нарушение было особенно серьёзным. Гистограммы для TVAE по Credit Approval, представленные ниже, демонстрируют, что синтетические примеры слишком похожи друг на друга, а также на своих ближайших соседей в наблюдаемых данных. Модель крайне плохо отражает исходное распределение. Причина этого может заключаться в том, что набор данных Credit Approval содержит несколько числовых характеристик с чрезвычайно высокой степенью асимметрии.

Другие наблюдения и комментарии
Два генератора на основе GAN — CopulaGAN и CTGAN — стабильно оказывались среди самых худших. Это несколько удивительно, учитывая огромную популярность GAN.
Производительность GaussianCopula оказалась посредственной на всех наборах данных, за исключением Wisconsin Breast Cancer, для которого она достигла равного по величине среднего максимального сходства между наборами. Её невыразительная производительность на наборе данных Iris оказалась особенно удивительной, учитывая, что это очень простой набор данных, который легко моделируется с помощью смеси гауссианов и который, как мы ожидали, будет хорошо согласовываться с методами, основанными на Copula.
Генераторы synthpop и UNCRi, которые демонстрируют наиболее стабильно хорошую производительность на всех наборах данных, работают по принципу последовательного импутирования. Это означает, что им требуется только оценивать и делать выборки из одномерного условного распределения (например, P(x₇|x₁, x₂, …)), что, как правило, гораздо проще, чем моделировать и делать выборки из многомерного распределения (например, P(x₁, x₂, x₃, …)), что (неявно) и делают генеративно-состязательные сети (GAN) и виртуальные арифметические сети (VAE). В то время как synthpop оценивает распределения с помощью деревьев решений (которые являются источником переобучения, к которому склонен synthpop), генератор UNCRi оценивает распределения, используя подход на основе ближайшего соседа, с гиперпараметрами, оптимизированными с помощью процедуры кросс-валидации, предотвращающей переобучение.
Заключение
Генерация синтетических данных — это новая и развивающаяся область, и хотя стандартных методов оценки пока нет, существует консенсус, что тесты должны охватывать точность, полезность и конфиденциальность. Но хотя каждый из этих показателей важен, они не равноценны. Например, синтетический набор данных может показывать хорошую производительность по точности и полезности, но не проходить тест на конфиденциальность. Это не дает ему оценку «два из трех»: если синтетические примеры слишком близки к наблюдаемым примерам (и, таким образом, не проходят тест на конфиденциальность), модель была переобучена, что делает тесты на точность и полезность бессмысленными. Некоторые поставщики программного обеспечения для генерации синтетических данных имеют тенденцию предлагать единые показатели производительности, объединяющие результаты множества тестов. Это по сути основано на той же логике «два из трех».
Если синтетический набор данных можно считать случайной выборкой из того же родительского распределения, что и наблюдаемые данные, то лучшего и придумать нельзя — мы достигли максимальной точности, полезности и конфиденциальности. Тест максимального сходства позволяет оценить, в какой степени два набора данных можно считать случайными выборками из одного и того же родительского распределения. Он основан на простом и интуитивно понятном представлении: если наблюдаемый и синтетический наборы данных представляют собой случайные выборки из одного и того же родительского распределения, то экземпляры должны быть распределены таким образом, чтобы синтетический экземпляр был в среднем настолько же похож на свой ближайший наблюдаемый экземпляр, насколько наблюдаемый экземпляр в среднем похож на свой ближайший наблюдаемый экземпляр.
Мы предлагаем следующую однобалльную меру качества синтетического набора данных:

Чем ближе это отношение к 1 (но не превышает 1), тем выше качество синтетических данных. Конечно, это должно сопровождаться проверкой гистограмм на корректность.
Ссылки
[1] Гауэр, Дж. К. (1971). Общий коэффициент сходства и некоторые его свойства. Биометрия, 27(4), 857–871.
[2] Дуа, Д. и Графф, К. (2017). Репозиторий машинного обучения Калифорнийского университета в Ирвайне, доступно по адресу: http://archive.ics.uci.edu/ml.
[3] Сюй Л., Скулариду М., Куэста-Инфанте А. и Вирамачанени К. Моделирование табличных данных с использованием условной GAN. НейрИПС, 2019.
[4] Патки, Н., Ведж, Р. и Веерамачанени, К. (2016). Синтетическое хранилище данных. Международная конференция IEEE по науке о данных и передовой аналитике (DSAA) 2016 г. (стр. 399–410). IEEE.
[5] Nowok, B., Raab GM, Dibben, C. (2016). «synthpop: индивидуальное создание синтетических данных в R». Журнал статистического программного обеспечения, 74 (11), 1–26.
[6] http://skanalytix.com/uncri-framework
[7] Харрисон, Д. и Рубинфельд, Д.Л. (1978). Boston Housing Dataset. Kaggle. https://www.kaggle.com/c/boston-housing. Лицензировано для коммерческого использования по лицензии CC: Public Domain.
[8] Кохави, Р. (1996). Доходы от переписи населения. Репозиторий машинного обучения Калифорнийского университета в Ирвайне. archive.ics.uci.edu/dataset/20/census+income. Лицензировано для коммерческого использования по лицензии Creative Commons Attribution 4.0 International (CC BY 4.0).
[9] Яноси, А., Штайнбрунн, В., Пфистерер, М. и Детрано, Р. (1988). Болезни сердца. Репозиторий машинного обучения Калифорнийского университета в Ирвайне. archive.ics.uci.edu/dataset/45/heart+disease. Лицензировано для коммерческого использования по лицензии Creative Commons Attribution 4.0 International (CC BY 4.0).
[10] Куинлан, Дж. Р. (1987). Утверждение кредита. Репозиторий машинного обучения Калифорнийского университета в Ирвайне. archive.ics.uci.edu/dataset/27/credit+approval. Лицензировано для коммерческого использования по лицензии Creative Commons Attribution 4.0 International (CC BY 4.0).
[11] Фишер, Р.А. (1988). Iris. Репозиторий машинного обучения Калифорнийского университета в Ирвайне. archive.ics.uci.edu/dataset/53/iris. Лицензировано для коммерческого использования по лицензии Creative Commons Attribution 4.0 International (CC BY 4.0).
[12] Вольберг, У., Мангасарян, О., Стрит, Н. и Стрит, У. (1995). Рак молочной железы в Висконсине (диагностика). Репозиторий машинного обучения Калифорнийского университета в Ирвайне. archive.ics.uci.edu/dataset/17/breast+cancer+wisconsin+diagnostic. Лицензировано для коммерческого использования по лицензии Creative Commons Attribution 4.0 International (CC BY 4.0).
Источник: towardsdatascience.com



























