![](https://habrastorage.org/webt/ko/fe/zv/kofezvj0vhar94lasm_eyeeo_8o.png)
Считается, что большую часть процессов дата саентист выполняет с помощью готовых библиотечных решений. Но в реальности в типовых задачах нужно уметь проверить, насколько подходит выбранный метод и при необходимости модифицировать его под свои условия. Вместе с Петром Лукьянченко, преподавателем высшей математики для Data Science в OTUS, а в прошлом Team Lead Analytics в Lamoda, мы разбираем, как математика выручает в реальных бизнес-задачах.
Первая из трех частей этой темы посвящена регрессионному анализу.
Бизнес-задача: Каршеринговой компании нужно выявить зависимость, как серия факторов — стаж вождения, погода, состояние автомобиля и дорожного покрытия, трафик, населенность города и т.д — влияют на вероятность попадания в ДТП.
Для Data Scientist эта задача выглядит так: Вычислить уравнение зависимости одного набора наблюдений от набора других параметров.
Проблема типового решения: Модели, которые предлагают библиотеки, по умолчанию используют ошибку нормального распределения. Ее расчет довольно грубый, и редко когда подходит к полученной зависимости. При этом включение неточно выбранной ошибки в уравнение приводит к тому, что с каждым новым набором параметров предсказание становится все менее точным.
Как спасает математика
Начнем с описания зависимости для одного фактора — стажа вождения. В модели классической парной линейной регрессии задействуются два коэффициента. Первый коэффициент α (альфа) — безусловное значение, когда была бы просто общая вероятность ДТП вне зависимости от каких-либо параметров, просто по стечению обстоятельств. Второй коэффициент β (бета) определяет чувствительность фактора стажа вождения на вероятность ДТП. Коэффициент β также называется наклоном в уравнении зависимости. А так как всегда будут факторы, которые мы забыли или не смогли учесть, мы должны добавить в уравнение некую ошибку Ui.
Получаем уравнение: yi=α+βxi+Ui.
![](https://habrastorage.org/webt/qr/xw/z2/qrxwz2mrlxfgp2brv8hmtlle30y.jpeg)
Собственно, задачей аналитика является поиск таких коэффициентов, при которых ошибка Ui была наименьшей.
Разновидностей расчета ошибок довольно много. Самая популярная за счет своей простоты абсолютная ошибка — отклонение предсказанного значения от абсолютного значения. Общая ошибка в этом случае является суммой модулей. Проблема модуля заключается в том, что эта функция не дифференцируема на всем пространстве чисел. Тогда математики придумали взять непрерывную трансформацию, чтобы обобщить ошибку, и стали суммировать квадраты таких отклонений. Так как эта функция непрерывна, мы можем применить оптимизацию по Лагранжу (оптимизацию функции двух переменных). Вычислив производные функции по α и по β, находим точки экстремумов, потом классифицируем их через свойство Гессиана (по правилу Гессе). Образуется два коэффициента α’ и β’, соответствующие методу наименьших квадратов. Он лежит в основе теоремы Гаусса-Маркова, которая является самой оптимальной моделью парной регрессии. Полученные ей оценки являются лучшими и их результаты перебить никакими другими методами невозможно.
![](https://habrastorage.org/webt/wd/1u/0r/wd1u0r6nh5zfx2lmb4yzv5j7ubg.png)
Масштабируем процесс
Теперь мы переходим к тому, что на вероятность попадания в ДТП влияет множество других параметров, которые могут быть выражены в количественной оценке. Получается, что Y зависит от n-го числа переменных X. Чтобы не повторять однотипное вычисление всех коэффициентов α и β для каждого параметра, мы переходим к матричному уравнению зависимости. Аккуратно проведя дифференцирование, можно получить матрицу коэффициентов, таким образом, парное уравнение регрессии мы обобщаем до многомерного.
Ошибка — ключ к разгадке
Еще один важный момент решения задач регрессии связан с выбором ошибки. Часто, аналитики выбирают нормально распределенную ошибку. По факту это устаревший метод. Он все еще хорошо работает в теоретических условиях, но уже слишком примитивен для наших постоянно усложняющихся и стремящихся к истине алгоритмов. Для грамотного специалиста ошибка — предмет исследований, который помогает лучше понять саму суть регрессии. Построив одну регрессию, он смотрит, какие ошибки она породила, и исследует все облако ошибок. Например, если отклонения усиливаются — это признак гетероскедастичности, т.е. значит мы забыли учесть какие-то переменные Х и не посчитали их. Если он обнаруживает, что ошибки расположены по некоторому закону и замечает в них автокорреляцию, тогда это признак того, что мы ошиблись с моделью. В идеале нужно стремиться минимизировать отклонение ошибки от нуля.
Итак, какие знания высшей математики нам понадобились для построения сложной зависимости вероятности ДТП от набора факторов:
- Мат. анализ для оптимизации функции регрессии
- Линейная алгебра, т.е. определение, свойства и дифференцирование матриц, для перехода от парной регрессии к многомерной
- Анализ и подбор типа распределения ошибки. Например, специалист может взять распределение обобщенное нормально, бета-распределение или распределение Стьюдента. Особенно необходимо это в случаях, когда нет хорошей выборки и когда ее нельзя улучшить. А так же когда нарушается условие теоремы Гаусса-Маркова и появляется необходимость иначе строить уравнение регрессии или использовать другие методы классификации и оценки вероятности.
Умение работать с математическим аппаратом — важное преимущество Data Scientist, позволяющее ему проверять результаты и решать нетипичные задачи. В следующей статье мы поговорим про математические решения для рекомендательных сервисов. А пока приглашаем на курсы по математике для Data Science, которые стартуют уже на этой неделе.
Для базового курса — старт 29 января — достаточно знаний школьной программы, для продвинутого — старт 31 января — требуются знания 1-2 курсов института.
Успевайте записаться и пройти вступительное тестирование.