Жизнь в режиме отладки — страница 6 из 62

— Справлюсь, конечно, — сказал я, стараясь, чтобы голос звучал уверенно. — Когда приступать?

— Да хоть прямо сейчас! — обрадовался Влад. — Данные они нам уже передали — на нескольких внешних дисках. Катя сейчас все подготовит, создаст тебе отдельную папку на сервере. И КанцПарк как раз запросил отложить встречу — у них там какие-то пертурбации, смена управляющего состава. Так что, как говорится, вперед, на покорение геофизических вершин! Я в тебя верю, Стаханов! Не подведи!

Он снова хлопнул меня по плечу, и на этот раз я даже не поморщился.

Наоборот, я почувствовал какой-то давно забытый прилив энтузиазма. Как будто мне снова было восемнадцать, и я только что поступил в ИТМО, полный радужных надежд и веры в безграничные возможности науки.

«Государственная Геофизическая Экспедиция Северо-Запада». Звучит солидно. И загадочно.

Ну что ж, посмотрим, какие тайны скрываются в их «аномальных данных».

По крайней мере, это точно будет интереснее, чем оптимизировать логистику для продажи скрепок.

И уж точно поможет мне не думать о Маше.

Хотя бы на какое-то время.

* * *

Доступ к данным от «ГГЭСЗ» я получил ближе к обеду.

Катя, наша незаменимая офис-менеджер, притащила мне стопку внешних жестких дисков, общим объемом действительно внушающим уважение. Несколько петабайт — это вам не шуточки. Это как если бы каждый житель Санкт-Петербурга решил написать по паре увесистых романов и сдать их все мне на рецензию. Я присвистнул.

— Удачи, Стаханов, — хихикнула Катя, водружая последний диск на мой стол. — Если что, зови. Принесу еще кофе. Или валерьянки.

— Катюш, спасибо! — усмехнулся я. — Но постараюсь обойтись кофе. Хотя… кто знает, что там внутри этих «геофизических» сокровищ.


Первые несколько часов ушли на то, чтобы просто разобраться, что к чему.

Данные были представлены в самых разных форматах — от бинарных файлов с непонятной структурой до гигантских текстовых логов, которые, казалось, не имели ни начала, ни конца. Все это было свалено в одну кучу, без какой-либо внятной документации или описания. Как будто кто-то просто скопировал содержимое всех своих компьютеров за последние двадцать лет и отправил нам со словами: «Ну, вы там сами разберитесь».

Я вздохнул.

Похоже, «интересная задача» начиналась с банальной, но очень трудоемкой работы по приведению этого хаоса в хоть какой-то удобоваримый вид. Пришлось писать кучу скриптов для парсинга файлов, конвертации форматов, очистки от «мусора» — пропущенных значений, ошибочных записей, дублирующихся данных. Мозг скрипел, как несмазанная телега, но я упорно двигался вперед, сантиметр за сантиметром продираясь сквозь эти информационные джунгли.


К вечеру первого дня я более-менее разобрался со структурой данных и смог загрузить первую порцию в нашу аналитическую систему.

На экране замелькали графики, таблицы, диаграммы. Сейсмическая активность, электромагнитные колебания, температура на разных глубинах, химический состав проб воздуха и воды… На первый взгляд — ничего необычного. Стандартный набор параметров, которые могли бы регистрировать на любой геофизической станции. Я начал проводить первичный статистический анализ, искать какие-то общие тренды, сезонные колебания, корреляции между разными показателями.

Но чем глубже я погружался в эти данные, тем сильнее становилось какое-то смутное беспокойство.

Что-то здесь было… не так.

Во-первых, некоторые значения выглядели откровенно странными.

Например, были зафиксированы резкие, кратковременные скачки температуры в определенных точках, которые не могли быть объяснены никакими известными природными процессами. Или внезапные изменения электромагнитного фона, которые возникали как будто из ниоткуда и так же внезапно исчезали. Я сначала списывал это на ошибки датчиков — при таком объеме данных и таком длительном периоде наблюдений это было бы неудивительно. Но таких «ошибок» было слишком много, и они, как мне показалось, имели какую-то… систему.


Во-вторых, некоторые параметры, которые, по идее, должны были быть независимыми друг от друга, демонстрировали странные, необъяснимые корреляции.

Например, всплеск сейсмической активности в одной точке мог почти синхронно сопровождаться изменением ионного состава атмосферы за сотни километров от этого места. Или фазы луны почему-то влияли на частоту появления каких-то непонятных низкочастотных вибраций, регистрируемых глубинными датчиками. Я проверял и перепроверял свои расчеты, искал возможные ошибки в алгоритмах, но результат оставался тем же. Связь была. Слабая, не всегда очевидная, но статистически значимая.

Я показал пару таких «странных» графиков Владу.

Он посмотрел на них, почесал в затылке.

— Ну, да, интересно, — сказал он. — Наверное, какие-то помехи. Или аппаратура у них там барахлит. Ты это, Лёш, сильно не закапывайся в эти дебри. Нам главное — общую картину дать, основные тренды. А эти их… флуктуации… ну, упомянешь в отчете как «необъяснимые аномалии», и хватит с них. Не наша это головная боль — разбираться, почему у них там датчики глючат.

Я кивнул, но слова Влада меня не убедили.

«Необъяснимые аномалии». Что-то в этом словосочетании зацепило меня. Я вспомнил ту статью из интернета, которую читал пару дней назад. Там тоже говорилось про «аномальные энергетические всплески» и «необъяснимые явления». Конечно, это было чистой воды совпадение. Но…


Я продолжал работать.

Дни сливались в недели. Я почти не вылезал из офиса, задерживался допоздна, иногда даже приходил по выходным. Маша несколько раз звонила, спрашивала, как у меня дела, предлагала встретиться. Но я под разными предлогами отказывался. Мне было не до нее. Да и о чем нам было говорить? О том, что я нашел в каких-то геофизических данных странные корреляции, которые не могу объяснить? Она бы просто не поняла. Или решила бы, что я окончательно свихнулся на своих «циферках».

Я выполнил основную часть технического задания.

Подготовил все отчеты, которые требовал Влад. Построил графики «основных трендов», рассчитал «сезонные колебания», выявил «наиболее вероятные зоны риска». В общем, сделал все, чтобы «Государственная Геофизическая Экспедиция Северо-Запада» осталась довольна работой «ДатаСтрим Солюшнс».

Но загадка этих данных не давала мне покоя.

Я чувствовал, что за этими «ошибками датчиков» и «необъяснимыми аномалиями» скрывается что-то еще. Что-то важное. Что-то, что я просто обязан был понять.

И я решил копать дальше.

Уже не для Влада. Не для «ГГЭСЗ». А для себя.

Потому что это было чертовски интересно.

Потому что это был вызов моему интеллекту, моим знаниям, моей способности видеть то, чего не видят другие.

Потому что, в конце концов, я был не просто «спецом по базам данных».

Я был исследователем.

И я не мог просто так пройти мимо тайны, которая сама плыла мне в руки.

* * *

Решение копать дальше пришло само собой, как нечто естественное и единственно возможное в данной ситуации.

Влад был доволен — официальная часть работы по заказу «ГГЭСЗ» близилась к завершению, отчеты формировались, графики рисовались. Он уже мысленно подсчитывал прибыль и строил планы на новые «интересные проекты» (скорее всего, связанные с очередным «КанцПарком»). Моя же голова была занята совсем другим. Те «необъяснимые аномалии», которые Влад советовал просто упомянуть в отчете и забыть, для меня стали настоящей навязчивой идеей. Это было как детективная загадка, как сложный шифр, который во что бы то ни стало нужно было разгадать.


Я оставался в офисе после окончания рабочего дня, когда коллеги уже расходились по домам, а Влад уезжал на очередную «важную встречу».

Тишина пустого офиса, прерываемая лишь гудением серверов да редкими звуками с улицы, настраивала на нужный лад. Я снова и снова возвращался к этим странным данным, прогоняя их через различные алгоритмы, пытаясь найти хоть какую-то зацепку.

Первым делом я решил более тщательно подойти к вопросу «ошибок датчиков».

А действительно ли это были ошибки? Я начал строить карты распределения этих «аномалий» по времени и по географическим координатам (благо, привязка у данных была). И вот тут обнаружилась первая интересная закономерность: «ошибки» возникали не хаотично, а как бы группировались в определенных зонах и в определенные временные интервалы. Причем эти зоны не всегда совпадали с местами наибольшей сейсмической или электромагнитной активности. Иногда «аномалии» вспыхивали там, где, по идее, должно было быть полное затишье.

Я начал применять более сложные методы статистического анализа, не те, что требовались для официального отчета.

Использовал кластеризацию, чтобы сгруппировать аномальные события по каким-то общим признакам. Пробовал различные методы фильтрации, чтобы отделить «полезный сигнал» от «шума». И чем больше я работал, тем сильнее крепла уверенность, что это не просто «глюки» аппаратуры. Это было что-то другое. Что-то, что имело свою собственную, пока непонятную мне логику.


Потом я решил подключить свой любимый инструмент — нейросети.

У меня были кое-какие наработки еще со времен учебы в ИТМО, да и в «ДатаСтрим» я периодически экспериментировал с ними на досуге. Я взял одну из своих моделей, обученную на распознавание скрытых паттернов в больших временных рядах, и скормил ей очищенные данные от «ГГЭСЗ». Процесс обучения был долгим и мучительным — объемы информации были колоссальными, а мой рабочий компьютер, хоть и был довольно мощным по офисным меркам, явно не предназначался для таких задач. Приходилось запускать расчеты на ночь, а утром с замиранием сердца проверять результаты.

И вот однажды утром нейросеть выдала то, от чего у меня волосы на голове зашевелились.

Она нашла корреляцию. Очень слабую, на грани статистической погрешности, но все же корреляцию между всплесками тех самых «неизвестных энергетических аномалий» и… фазами луны. И не просто фазами, а какими-то сложными сочетаниями лунных циклов, положения Луны относительно определенных созвездий и еще чего-то, что я сначала даже не понял. Бред какой-то. Астрология в чистом виде. Я сначала решил, что это просто артефакт обучения, что нейросеть «переобучилась» и нашла закономерность там, где ее нет.