- PVSM.RU - https://www.pvsm.ru -
Как и обещал, начинаю цикл статей по «машинному обучению». Эта будет посвящена таким понятиям из статистики, как корреляция случайных величин и линейная регрессия. Рассмотрим, как реальные данные, так и модельные (симуляцию Монте-Карло).
Чтобы было интереснее, рассказ построен на примерах, причем в качестве данных (и в этой, и в следующих, статьях) я буду стараться брать статистику прямо отсюда, с Хабра. А именно, неделю назад я написал свою первую статью на Хабре [1] (про Mathcad Express, в котором и будем все считать). И вот теперь статистику по ее просмотрам за 10 дней и предлагаю в качестве исходных данных. На графике это ряд Views, синяя линия. Второй ряд данных (Regs, с коэффициентом 100) показывает число читателей, выполнивших после прочтения определенное действие (регистрацию и скачивание дистрибутива Mathcad Prime).
Так уж получилось, что у меня, кроме статистики просмотра статьи (с Хабра), был доступ к статистике скачиваний Mathcad (по ссылке, которую я дал внутри текста статьи). Таким образом, у нас все есть для того, чтобы разобраться с таким понятием интернет-маркетинга, как конверсия [2]. Конверсией обычно называют отношение числа посетителей сайта, выполнивших на нём покупку, регистрацию или т.п. к общему числу посетителей. Например: в первый день публикации мою статья была просмотрена 5 тыс. раз, а скачиваний было 20, т.е. конверсия составила 0.4%.
Все картинки — это скриншоты Mathcad Express (сами расчеты можете взять здесь [3], повторить, а при желании изменить и использовать для своих нужд). Исходные данные (три вектора) я ввел руками:
Вот расчеты конверсии (в %): «мгновенной» (для каждого дня) и «средней» (за 10 дней). Любопытно, что значение конверсии немного «плывет» со временем (от 0.4% в первый день до квази-стационарного 1% в последние дни), что, само по себе, достойно обсуждения (которое отложим до следующих статей — про случайные процессы и время корреляции).
Тот очевидный факт, что число целевых действий (скачиваний) зависит от числа просмотров, наглядно продемонстрирует график Regs(Views). Мы видим, что, хотя и число просмотров, и число скачиваний — случайные, тем не менее они связаны между собой (почти) линейной зависимостью.
Теперь немного «школьной» статистики: вычисление (по определению) среднего значения, дисперсии и коэффициента корреляции двух выборок Views и Regs.
Последняя формула — это вычисление коэффициента корреляции — меры того, насколько зависимыми являются две случайные величины (точнее, меры линейной зависимости). Получается, что выборочное значение коэффициента корреляции равно 0.97. Это очень много (что, впрочем, и неудивительно, по самой постановке задачи).
Наконец, решим задачу математической регрессии — приближения, в общем случае, выборки данных (x,z) определенной функцией f(x), определенным образом минимизирующей совокупность ошибок f(x)-z. Самый простой и наиболее часто используемый вид регрессии — линейная, когда f(x)=A*x+B. Еще линейную регрессию часто называют методом наименьших квадратов, поскольку коэффициенты A и B вычисляются обычно из условия минимизации суммы квадратов ошибок:
К слову, метод наименьших квадратов (минимизация суммы квадратов ошибок) — не единственно возможный вариант построения регрессии. Например, иногда применяется медиан-медианная линейная регрессия.
Наконец, о том, для чего нужна регрессия в нашей задаче. Если принять линейный характер зависимости скачиваний от просмотров, то коэффициент А как раз и будет характеризовать конверсию. Судя по нему, конверсия равна 0.005=0.5%, т.е., если, к примеру, у нас есть маркетинговая цель — достичь показателя 100 скачиваний, то, исходя из модели линейной регрессии, нам надо «залить» на сайт 100/0.005=20 тыс. просмотров.
В то время как в прошлой части мы оперировали случайными данными, полученными в ходе эксперимента, в заключение повторим те же расчеты при помощи датчика псевдослучайных чисел. В методах Монте-Карло часто требуется создавать случайные числа с определенной корреляцией. Для начала сгенерируем три псевдослучайных массива: х и y — независимые, а z — зависящий от х (с «генеральным» значением коэффициента корреляции r):
На графике слева показана зависимость некоррелированых случайных значений х и y, а справа — зависимость коррелированых z и х.
Используя те же формулы, что в прошлом разделе, получим статистические характеристики выборок х, y и z (в том числе, выборочное значение коэффициента корреляции):
Ну, и, наконец, по формуле метода наименьших квадратов построим линейную регрессию z=A*x+B:
Заинтересовавшимся читателям оставляю поэкспериментировать с параметром r и посмотреть, как его изменение будет влиять на зависимость z(x). Еще любопытно, изменяя объем выборки N, следить за результатом расчета статистических характеристик.
Ссылки:
Автор: polybook
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/matematika/82997
Ссылки в тексте:
[1] свою первую статью на Хабре: http://habrahabr.ru/company/nerepetitor/blog/247999/
[2] конверсия: https://ru.wikipedia.org/wiki/%CA%EE%ED%E2%E5%F0%F1%E8%FF_%28%E2_%E8%ED%F2%E5%F0%ED%E5%F2-%EC%E0%F0%EA%E5%F2%E8%ED%E3%E5%29
[3] здесь: http://nerepetitor.ru/habr/2.zip
[4] Видеокурс «Машинное обучение»: http://shad.yandex.ru/lectures/machine_learning.xml
[5] An Introduction to Statistical Learning in R (PDF): http://www-bcf.usc.edu/~gareth/ISL/
[6] The Elements of Statistical Learning (PDF): http://statweb.stanford.edu/~tibs/ElemStatLearn/
[7] Источник: http://habrahabr.ru/post/250633/
Нажмите здесь для печати.