В новом выпуске «Черной археологии датамайнинга» мы немного поиграемся в шпионов. Увидим, что может узнать обычный Data Specialist на основе открытых в сети данных.

Всё началось со статьи на хабре, о том, что некий анонимный хакер делился слитыми в сеть данными агентов ФБР. Я получил эти данные, и стал смотреть, что с ними можно сделать? В данных есть только фамилия, имя, и служебные мейлы и телефон – немного информации.



Получив эти данные, я увидел, что они заканчиваются буквой J. То есть, датасет не полон. Интресено, каков его полный размер? Чтобы узнать его, надо построить статистику частоты встречаемости фамилий.

Для этого я начал искать наборы американских фамилий, и тут меня ждало открытие – в Америке можно найти открытые данные по, скажем, избирателям штата – как я понял, совершенно легально. Например, я за полчаса без проблем получаю данные всех избирателей штата Юта.



Это уже намного интереснее! Если в первом датасете у нас были лишь фамилия, имя и одна буква «отчества» (здесь я называю middle name отчеством, хотя это немного не так), то теперь мы можем найти гораздо больше информации по агенту ФБР – например, почтовый адрес, полное имя, возраст, политические предпочтения. Итак, приступим.

Для начала, оценим полноту датасета (с чего и начались мои изыскания). Строим статистику встречаемости фамилий в штате Юта, затем суммируем, и смотрим – какую долю составляют фамилии до букву J. Оказывается, у нас примерно половина всех данных, точнее 43%. Полный список агентов составил бы 50 тысяч записей. Да, если кому-то надо, вот частотное распределение американских фамилий:
Заголовок спойлера
Буква Всего записей Частота
A 128934 0.030
B 401048 0.093
C 298668 0.069
D 197078 0.046
E 80467 0.019
F 152500 0.035
G 200349 0.046
H 325591 0.075
I 17765 0.004
J 121452 0.028
K 184007 0.043
L 183266 0.042
M 399768 0.093
N 73607 0.017
O 53166 0.012
P 199195 0.046
Q 5802 0.001
R 224124 0.052
S 456642 0.106
T 147229 0.034
U 10559 0.002
V 52085 0.012
W 272087 0.063
X 371 0.000
Y 28468 0.007
Z 27642 0.006



Далее, найдём агентов в списке избирателей. Сначала мы попробуем найти пересечения по фамилии, имени, и первой букве отчества (это вся информация, которая у нас есть по агентам). Датасет избирателей очень большой, и этим действием мы его значительно уменьшим, чтобы он хотя бы помещался в памяти моего очень древнего компьютера.

Нахожу пересечения – и тут меня ожидает первый сюрприз. Их очень много – почти 15 тысяч из 22 тысяч по файлу агентов. Вряд ли всё ФБР живёт в одном штате, просто в Америке встречаются очень популярные фамилии, и совпадений Фамилия-Имя-Первая буква отчества слишком много. Что же, будем фильтровать дальше.

Находим фамилии, встречающиеся лишь один раз. Это редкие фамилии, и скорее всего совпадения Фамилия-Имя будет вполне достаточно, чтобы идентифицировать человека. Вряд ли нам встретится ещё одна Serine Hovhannisyan. Выполнив фильтрацию, получаем датасет из 193 уникальных записей. Есть!

С большой вероятностью, это и есть наши агенты, с полными данными – почтовый адрес, полное имя, дата рождения, политические предпочтения (у нас ведь список избирателей, и в нём есть данные о том, как голосовал этот человек, начиная с 2002 года). На всякий случай, результат публиковать не буду, вдруг у Агентства действительно длинные руки :)

Лучше подсчитаем статистику по этим данным. Например, гистограмма возраста:



Минимальный возраст: 21 год (с этого возраста можно голосовать)
Максимальный: 90 лет

Политические предпочтения. Принадлежность к партии я определял либо по заявленной принадлежности (такая информация есть в датасете, либо если человек постоянно голосует за одну из партий.
Из 193 людей 43 республиканца и 32 демократа.
Интересная информация, я думал республиканцев будет заметно больше.

Насколько правдивы эти данные? В указанной выше ссылке на reddit в комментариях есть ссылки на датасеты большинства штатов. Можно было бы также собрать информацию из соцсетей, и…. нет, спасибо. Мне совсем не хочется провести остаток жизни в посольстве Эквадора.
О, кто-то звонит в дверь — одну секунду, гляну кто там. А потом напишу про то, как сохра

Комментарии (21)


  1. ctapnep
    29.03.2016 19:11

    Минимальный возраст: 21 год (с этого возраста можно голосовать)

    В Шататах можно голосовать с 18-и лет.