Зачем маркетологу считать коэффициент корреляции Спирмена
Это незаконченная статья про интернет-маркетинг, и я перепишу ее, как будет больше данных. Как обычно поводом послужило полное отсутствие материала на русском и английском языках приминительно к данным веб-аналитики.
Если вы еще не разобрались, как считать коэффициент корреляции в Эксцеле, то у меня есть об этом видео на Ютубе. Коэффициент корреляции принимает значения от -1 до 1и записывается буквой:
Если r = 1 это означает положительную линейную взаимосвязь. Если равен -1, то отрицательную линейную взаимосвязь. Если лежит в интервале от -0.3 до 0.3, то обычно считается, что никакой взаимосвязи нет или она очень слаба.
Тут Время на сайте в секундах я вычислил по формуле:
Иначе просто не считало, хотя вроде как должно все считать.
Как видим, между Визитами и Достижениями любой цели никакой взаимосвязи нет r=0,176384. Зато с Глубиной просмотра есть умеренная положительная связь, потому что лежит в диапазоне от 0,3 до 0,7. Или можно еще сказать, что взаимосвязь между Глубиной просмотра и достижением любой цели сильнее, чем с количеством визитов из соц. сетей.
А вот с Отказами никакой взаимосвязи обычно нет. Так, что если кто-то убеждает вашего начальника\клиента, что трафик на сайте не качественный, смело считайте ему коэффициент корреляции с Отказами и Числом визитом и предъявляйте, что чем больше на сайте визитов - тем больше конверсий (обычно это так).
А как быть с ситуацией, когда коэффициент корреляции то убывает, то возрастает? Например, что будет если посчитать его для синусойды:
Посмотрим, что происходит с корреляцией на синусоиде в долгосрочном периоде. Проведем симуляцию из 10 тыс. циклов:
Дальше можно было бы рассчитать коэффициент корреляции Спирмена в Эксцеле, но там это немного сложно реализовано, так что я возьму Питон:
Данные:
Коэффициент корреляции Пирсона рассчитывается по формуле:
Результат - корреляционная матрица:
Корреляция с самим собой всегда единица - образуется по диагонали. Т.е. между Визитами и Достижениями любой цели никакой взаимосвязи нет т.е. r=0.171775 (от значения r=0,176384 рассчитанного в Эксцеле это значение отличается тем, что данные по АПИ были выгружены немного иначе. Как выгрузить данные 1 в 1 немного выходит за рамки данной статьи).
Теперь рассчитаем коэфф. ранговой корреляции Спирмена, обычно обозначается буквой ρ (rho):
Получим значение ρ = 0.294311, что намекает на то, что нелинейная связь между переменными начинает нарастать. Воспользуемся лайфхаком, чтобы заполнить нулями пропущенные значения, т.е. добавим даты, в которых из соц. сетей не было кликов:
И снова посчитаем оба коэффициента корреляции:
Коэффициент Пирсона = 0.221396 (что говорит об отсутствии связи)
Коэффициент Спирмена = 0.470609 (что говорит об умеренной связи)
Не пора ли взглянуть, а что мы выгрузили за данные? На самом деле давно пора:
Если пройтись по данным скользящим окном, то взаимосвязь станет значительно сильнее. Но, я подумал, что хватит натягивать сову на глобус и пора объяснить, а что же именно я только что посчитал, и что такое нелинейная взаимосвязь.
В терминологии ранговой корреляции Спирмена под нелинейной подразумевается любая монотонная функция отличная от y = kx + b. Т.е. для квадратичной, логарифмической, экспоненциальной и т.д. функций.
Снова посчитаем Пирсона и Спирмена, но для 1/4 синусоиды:
Теперь для квадратичной функции y = x**2:
Для логарифмической y = np.log(x):
И корреляция для экспоненциальной функции y=e^x:
Как видим, чем круче возрастает функция, тем больше разница между коэффициентами корреляции.
Теперь рассмотрим еще один пример из Википедии:
Пример из Википедии я не проверял, пока поверим авторам на слово, но отмечу, что коэфф. Спирмена довольно чувствителен к зашумленности в данных, так что если он приобретает высокое значение, что-то там нелинейное видимо есть.
Выводы:
1. Если вам не интересные нелинейные зависимости в данных, то ранговый коэффициент корреляции Спирмена можете не считать. Мне показались интересными нелинейные связи и я 2 дня потратил на подготовку статьи об этом.
2. Тем более, что в Пандас эти корреляции считаются одной строкой кода, что невозможно в Excel:
3. В целом Pandas легко справляется с 1 миллионом строк в выгрузке данных, что делает его хорошей бесплатной альтернативной Эксцелью. И не нужно мучатся с конвертацией времени в секунды, т.к. по АПИ все это выгружается уже в секундах. Возможно, что эти факты вдохновит вас изучать Пандас.
4. Как я писал ранее, статья не является законченной. Надо бы еще изучить влияние заполнения пропусков и скользящие окна на коэффициенты корреляции.
5. Если корреляция Пирсона находится в дипазоне от -0.3 до 0.3, это не означает, что никакой корреляции нет, это значит, что линейная взаимосвязь не очень сильна.
6. Так же я рассмотрел довольно распространенную ситуацию, когда у вас корреляция может быть цикличной: то положительной, от отрицательной, как синусоида, что характерно для маркетинговых данных. Скользящие окна позволяют изучать такие случаи.