Imagesforyou.ru

IMG FOR YOU — ИНТЕРЬЕРНАЯ ФОТОСТУДИЯ
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Математика за оптимизаторами нейронных сетей

Математика за оптимизаторами нейронных сетей

В этой статье мы поговорим о математике градиентного спуска, почему при обучении нейронных сетей применяется стохастический градиентный спуск и о вариации SGD (Stochastic Gradient Descent) с использованием скользящего среднего (SGD с momentum и Nesterov Accelerated Gradient).

Градиентный спуск

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

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

где — это номер шага, — размер шага обучения (learning rate). В результате шага оптимизации веса нейронной сети принимают новые значения.

Виды градиентного спуска

    Пакетный градиентный спуск (batch gradient descent).

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

imageИсточник

В общем случае, при работе с нейронными сетями, веса оптимизируют стохастическим градиентным спуском или его вариацией. Поговорим о двух модификациях, использующих скользящее среднее градиентов.

SGD с импульсом и Nesterov Accelerated Gradient

Следующие две модификации SGD призваны помочь в решении проблемы попадания в локальные минимумы при оптимизации невыпуклого функционала.

Гладкая выпуклая функция

Функция с множеством локальных минимумов (источник)

Первая модификация

При SGD с импульсом (или SGD with momentum) на каждой новой итерации оптимизации используется скользящее среднее градиента. Движение в направлении среднего прошлых градиентов добавляет в алгоритм оптимизации эффект импульса, что позволяет скорректировать направление очередного шага, относительно исторически доминирующего направления. Для этих целей достаточно использовать приближенное скользящее среднее и не хранить все предыдущие значения градиентов, для вычисления «честного среднего».
Запишем формулы, задающие этот подход:

— это накопленное среднее градиентов на шаге , коэфициент требуется для сохранения истории значений среднего (обычно выбирается близким к .

Вторая модификация

Nesterov accelerated gradient отличается от метода с импульсом, его особенностью является вычисление градиента при обновлении в отличной точке. Эта точка берётся впереди по направлению движения накопленного градиента:

На картинке изображены различия этих двух методов.

image
источник

Красным вектором на первой части изображено направление градиента в текущей точке пространства параметров, такой градиент используется в стандартном SGD. На второй части красный вектор задает градиент сдвинутый на накопленное среднее. Зелеными векторами на обеих частях выделены импульсы, накопленные градиенты.

Заключение

В этой статье мы детально рассмотрели начала градиентного спуска с точки зрения оптимизации нейронных сетей. Поговорили о трёх разновидностях спуска с точки зрения используемых данных, и о двух модификациях SGD, использующих импульс, для достижения лучшего качества оптимизации невыпуклых и негладких функционалов ошибки. Дальнейшее изучение темы предполагает разбор адаптивных к частоте встречающихся признаков подходов таких как Adagrad, RMSProp, ADAM.

Данная статья была написана в преддверии старта курса «Математика для Data Science» от OTUS.

Приглашаю всех желающих записаться на demo day курса, в рамках которого вы сможете подробно узнать о курсе и процессе обучения, а также познакомиться с экспертами OTUS

Мониторинг: Урок 9. Эквализация и измерения мониторных систем

Наверное, всем проектировщикам студий приходилось время от времени слышать от персонала студий просьбы создать громкоговоритель, комнату или мониторную систему, идентичные уже существующим по звучанию, или по крайней мере хотя бы повторить некоторые из основных параметров. Обычно считается, что корректировка частотной характеристики приведет два непохожих по звучанию устройства в состояние подобия. Несомненно, это заблуждение, иначе дешевую скрипку можно было бы «эквализировать» и заставить звучать как скрипку Страдивари, а это, как мы знаем, невозможно.
Если мы хотим, чтобы две акустические системы звучали одинаково, одинаковой должна быть не только их конструкция, необходимы еще и одинаковые условия прослушивания. То же условие подобия применимо и к комнатам: для получения похожих звуковых характеристик помещения должны быть похожей конструкции. Согласно классической акустике общее качество звучания любого громкоговорителя или системы всецело определяется частотной характеристикой амплитуды звукового давления, фазово-частотной характеристикой и уровнем нелинейных искажений в данной системе. Но ключевой вопрос в том, насколько близки должны быть характеристики двух систем для того, чтобы они показались нам, в общем-то, близкими по звучанию.
Графики амплитудно-частотных характеристик, публикуемые большинством производителей оборудования, являются «подслащенной» версией реального положения вещей – во многих случаях детализированные реальные графики просто не проходят «цензуру» маркетинговых отделов компаний. Ирония в том, что, даже если бы никто не «сглаживал» графики, немногое изменилось бы – просто каждый использовал бы в своих суждениях более чувствительную шкалу оценки графиков. С другой стороны, такая система оценки более наглядно показала бы, насколько мы далеки от совершенства.
Как и многие другие проектировщики студий, я отказался от идеи «эквализации мониторов для выравнивания звучания комнаты» еще в конце 1970-х. В обществе ходит еще много «сказок» на эту тему даже сейчас, хотя правда уже давно установлена. Судя по числу людей, спрашивающих всегда и везде, когда я делаю установку мониторов: «А какой графический эквалайзер Вы используете?» или «На каком этапе Вы приводите в действие анализатор спектра?», миф об использовании эквализации мониторов в «профессиональных» студиях живет и процветает.
Не подумайте, что эквализация как таковая противопоказана в мониторных системах, но существует всего лишь три общих набора обстоятельств, когда она применима. Ее нельзя использовать для коррекции проблем реверберации в помещениях, происходящих во временной области, поскольку такое действие является попыткой междоменной (частотно-временной) коррекции, последствия которой всегда весьма плачевны. Довольно забавно, но именно в этом состояла основная функция эквализации в 1970-е годы.
Уже сама идея эквализации мониторной системы может обернуться коварной, как минное поле, стороной. Ведь даже если существуют веские причины для использования графического эквалайзера, то третьоктавная эквализация редко способна скорректировать характеристики под реально необходимую картину, разве что применяемая коррекция очень плавная и неглубокая. Для примера предположим, что мониторная система имеет нежелательный подъем на частоте, скажем, 58 Гц, что на третьоктавном анализаторе спектра выглядит как подъем на 63 Гц. Поскольку ближайшая полоса на эквалайзере находится на 63 Гц, ею попытаются воспользоваться с целью «поставить на место» частоту 58 Гц по анализатору (т.е. опять же по столбику 63 Гц на анализаторе). В результате получается провал на следующей ближайшей частоте, которую захочется «приподнять» следующим движком эквалайзера. Это, в свою очередь, приведет к подъему на следующей, более высокой, частоте, которую придется «подрезать», и так далее. Исправляя один подъем на 58 Гц, мы рано или поздно получим прямую на анализаторе, но для этого придется нарисовать перекати-поле на графическом эквалайзере. А ведь мы начинали всего лишь с небольшого подъема на 58 Гц. Картинку, нарисованную на графическом эквалайзере, нельзя назвать инверсией нашей исходной характеристики, а значит, она не имеет права на жизнь. В конце концов, когда играет музыка, то подразумевается, что мы будем слушать ее, а не смотреть на график достаточно грубого анализатора.
Несмотря на хорошие показания анализатора, акустически звучание в комнате вовсе не покажется нам таким уж равномерным. Я еще не видел в жизни мониторный графический эквалайзер, который бы осуществлял инверсию частотной характеристики комбинации «комната плюс громкоговоритель». За исключением, возможно, редких и крайних случаев, легко услышать, насколько чище и естественнее становится звучание после его отключения. Отключив мониторные эквалайзеры, вы отчетливо услышите, не переэквализированы ли треки на микшерном пульте, ведь теперь они не замаскированы неестественным звучанием мониторной системы. Еще эквалайзеры склонны вносить нежелательные фазовые сдвиги, особенно, когда выставлены подъем и провал на близких частотах. Такое иногда делают в неудачной попытке устранить неминимально-фазовый сдвиг в кроссовере или в любом другом звене системы.
Когда в Лондоне в 1978 году была окончена постройка новой студии, с самого начала там были установлены 27-полосные графические эквалайзеры. Их проверяли каждые полмесяца, но после нескольких месяцев были замечены странные вещи со звуком. Техники перепроверили еще и еще раз, но заданная кривая по-прежнему красовалась на экране анализатора. Стало очевидно, что постепенная перестройка компенсации, выполняемая каждые пару недель, привела к совершенно иным установкам эквалайзера, чем первоначальные, выставленные сразу после запуска студии. В результате вышесказанного две или более различные установки графического эквалайзера могут привести к одинаковой прямой характеристике на экране анализатора. Очевидно, все они не могут быть правильными, и, по всей вероятности, ни одна из них не правильная! Они просто не могут точно соответствовать реальному положению вещей. В довершение вышесказанного добавлю, что даже разные выпуски анализаторов и микрофонов не всегда соответствуют друг другу, да и в используемых микрофонах есть различия – поверхностные, свободного поля, всенаправленные и кардиоидные. Какой микрофон использовать, зависит от того, что вы измеряете, но слишком часто встречается использование микрофонов, не адекватных для данной задачи.

Читайте так же:
Веб камера настройка на компьютер

Уместность эквализации

Взаимность времени и частоты

(а) переходная функция (функция Хевисайда), (мгновенный скачок уровня), изображенная на экране осциллографа (непрерывна по частоте, одна точка во времени).
(b) (i) Импульс, как он выглядит на осциллографе (непрерывен по частоте, одна точка во времени) или (ii) синусоида, как она выглядит на анализаторе спектра (непрерывна во времени, одна точка на оси частот).
(с) Синусоида на экране осциллографа (непрерывна во времени, одна точка на оси частот)">
Рис. 1.

(а) переходная функция (функция Хевисайда), (мгновенный скачок уровня), изображенная на экране осциллографа (непрерывна по частоте, одна точка во времени).

(b) (i) Импульс, как он выглядит на осциллографе (непрерывен по частоте, одна точка во времени) или (ii) синусоида, как она выглядит на анализаторе спектра (непрерывна во времени, одна точка на оси частот).

(с) Синусоида на экране осциллографа (непрерывна во времени, одна точка на оси частот)

(а) фазовый сдвиг на — 90 град. заставляет максимум (ii) сдвинуться по отношению к (i), но весь промежуток времени все еще заполнен сигналом. Только форма движется вдоль оси.
(b) временной сдвиг импульса – это движение вдоль оси времени. Импульс занимает другой промежуток времени">
Рис. 2.

(а) фазовый сдвиг на — 90 град. заставляет максимум (ii) сдвинуться по отношению к (i), но весь промежуток времени все еще заполнен сигналом. Только форма движется вдоль оси.

(b) временной сдвиг импульса – это движение вдоль оси времени. Импульс занимает другой промежуток времени

Практически применимые измерительные сигналы

О заметных отличиях звучания громкоговорителей

(а) — Электростатический излучатель
(b) — Двухполосная мониторная система.
Обе системы ведут себя достойно в пределах ± 2_ дБ почти во всем рабочем диапазоне">
Рис. 3.

(а) — Электростатический излучатель

(b) — Двухполосная мониторная система.

Обе системы ведут себя достойно в пределах ± 2_ дБ почти во всем рабочем диапазоне

Несглаженный, некорректированный график амплитуды и фазового сдвига на основе 2000-точечного БПФ, измеренный на расстоянии 2 м от излучателя">
Рис. 4.

Несглаженный, некорректированный график амплитуды и фазового сдвига на основе 2000-точечного БПФ, измеренный на расстоянии 2 м от излучателя

Характеристики комбинации «помещение + громкоговоритель»

Импульсная функция. Идеальный громкоговоритель будет воспроизводить такую форму волны в герметичной безэховой камере">
Рис. 5.

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

Импульсная функция. Характеристика мониторной системы, в которой используется рупор АХ2">
Рис. 6.

Импульсная функция. Характеристика мониторной системы, в которой используется рупор АХ2

Импульсная функция. Характеристика электростатического громкоговорителя – быстро затухает из-за слабой передачи низких частот">
Рис. 7.

Импульсная функция. Характеристика электростатического громкоговорителя – быстро затухает из-за слабой передачи низких частот

Импульсная функция. Характеристика мониторной системы Tannoy Dual-Concentric">
Рис. 8.

Импульсная функция. Характеристика мониторной системы Tannoy Dual-Concentric

Импульсная функция. Характеристика двухполосной мониторной системы, получившей широкое распространение во многих студиях">
Рис. 9.

Импульсная функция. Характеристика двухполосной мониторной системы, получившей широкое распространение во многих студиях

Как обсуждалось в предыдущей статье, цифровая обработка сигналов делает возможным управление временем, фазовым сдвигом и амплитудой как одним целым. Внесением моделирующей задержки между источником сигнала и громкоговорителем, затем пропусканием опережающего сигнала через эту задержку можно обнаружить проблемы в характеристиках, инвертировать их, опередить, приложить к исходному сигналу прежде, чем истечет время задержки корректирующей системы. Такое управление вполне может оказаться шагом вперед в точности воспроизведения импульса. Несомненным остаётся одно: учитывая всю сложность описанных взаимосвязей, анализатор спектра, измерительный микрофон и графический эквалайзер – это слишком упрощенная система оценки и коррекции. За исключением разве что некоторых специфических случаев, с их помощью за многие годы принесено больше вреда, чем пользы. Ведь если все, что вам нужно, – это широкий подъем низов или верхов, немногие эквалайзеры способны звучать естественнее, чем простой регулятор тембра «низкие/высокие» типа Baxendall!

Редакция благодарит автора
за любезно предоставленные материалы.

Литература:
P. R. Newell, K. R. Holland, `Impulse Testing of Monitor Loudspeakers`.
Proceedings of the Institute of Acoustics, Reproduced Sound 5 Conference,
Windermere UK. Vol 1, Part 7, pp. 269-275 (1989).

Алгоритм Грэхема

Алгоритм Грэхема — это оптимизация алгоритма Джарвиса, основанная на следующем наблюдении: если отсортировать все точки по полярному углу относительно точки (p_0) , то выпуклая оболочка будет какой-то подпоследовательностью такого отсортированного массива точек.

Алгоритм последовательно строит выпуклые оболочки для каждого префикса этого отсортированного масива. При добавлении (i) -й точки в оболочку нужно удалить сколько-то последних добавленных точек, которые не будут входить в новую оболочку. Чтобы это делать эффективно, мы можем хранить выпуклую оболочку в стеке и в цикле while смотреть на три последние точки и проверять, образуют ли они правый поворот. Если это так, то среднюю следует удалить — мы нашли треугольник ((p_0, p_i, p_)) , который содержит (p_) , значит её можно удалить.

alt textalt text

Каждая точка будет добавлена один раз удалена не более одного раза, что занимает константное количество операций. Соответственно, время работы будет упираться во время работы сортировки, то есть (O(n log n)) .

Зачем визуализировать данные?

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

Анализировать большой набор данных и делать статистику/отчеты. Чаще всего визуализацию используют именно здесь. Например, чтобы посчитать прибыль компании за год. Гораздо проще прийти к логичному заключению, глядя на график, где один из столбцов находится выше всех остальных, чем пролистать несколько страниц статистики в Google Sheets или Excel.

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

Множественная реализация интерфейсов

В C# нет поддержки множественного наследования — унаследовать класс можно только от одного класса. Благодаря тому, что в C# класс может реализовать сразу несколько интерфейсов (implement interface в C#), ограничение с невозможностью множественного наследования можно обойти.

Все интерфейсы в class обычно указываются через запятую.

Здесь реализованы интерфейсы IAccount (определяет свойство CurrentSum и методы Put — поступление суммы на счет, Withdraw — изъятие суммы) и IClient (определяет свойство Name ).

Client class реализует оба интерфейса, после чего применяется в программе.

Многопараметрическая оптимизация с помощью целевой функции метода наименьших квадратов

Author Image

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

Использование нескольких наборов данных

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

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

Многопараметрическая оптимизация задачи переноса

Эта задача оптимизации основана на модели переходных процессов, которую можно построить с помощью программного пакета COMSOL Multiphysics® и интерфейса Перенос растворенных веществ. Для перехода к этапу оптимизации обязательным условием является наличие полной модели. Рассматриваемая здесь модель строится в одном измерении и содержит геометрию колонки длиной 1 м.

Для работы со свойствами переноса можно задать скорость потока, которая равна расходу, умноженному на ширину прохода колонки. Затем можно назначить граничные условия Inflow (Входной поток) и Outflow (Выходной поток), а также граничное условие Dirichlet (Дирихле) для впуска, соответствующее постоянной концентрации.

Снимок экрана, на котором показано, как настроить задачу многопараметрической оптимизации в COMSOL Multiphysics®.

Настройка физической задачи перед оптимизацией.

Хотя истинная скорость в этой задаче неизвестна, можно перезаписать ее в виде произведения u_in*tuning . Здесь u_in обозначает установленный расход, а tuning — глобальный поправочный коэффициент, который получается непосредственно из u_in=Q/(A*tuning) . Таким образом, tuning учитывает изменение площади в системе.

Говоря на языке оптимизации, u_in является экспериментальным параметром, определяющим отдельные эксперименты. Полученная концентрация — это и есть наша целевая функция метода наименьших квадратов, которая сопоставляется с измеренными данными, а tuning является управляющей переменной.

Настройка оптимизации

Начав с полной физической модели, можно добавить два элемента, чтобы преобразовать ее в модель оптимизации. Во-первых, в нашем примере в интерфейсе Optimization (Оптимизация) имеется два узла: Objective (Целевая функция) и Control Variable (Управляющая переменная). Для любого оптимизационного исследования эти узлы являются обязательными.

В то время как существует много подходящих целевых функций оптимизации, целевая функция метода наименьших квадратов вполне определена и имеет вид Sum_i(u_obs_i-u_sim_i) 2 . Таким образом, она минимизирует сумму расстояний между всеми заданными точками данных.

При строго формальном подходе нет необходимости в выражении целевой функции. Однако потребуется файл данных, содержащий всю необходимую информацию для целевой функции метода наименьших квадратов.

Важно отметить, что данные в файле должны быть организованы в столбцы. Отдельные столбцы можно назначить в подузлах. Отметим, что порядок узлов в дереве Построителя моделей (сверху вниз) соответствует порядку столбцов в файле данных (слева направо). Важно также и то, что каждый столбец в файле данных определяется соответствующим подузлом.

Снимок экрана с окном настроек для целевой функции метода наименьших квадратов.

Назначьте узлы в целевой функции метода наименьших квадратов (сверху вниз) столбцам в файле данных, разделенным точкой с запятой (слева направо).

Для примера оптимизации переноса требуется четыре столбца:

Столбец Parameter (Параметр)

В этом примере в столбце параметров установлен идентификатор u_in . Он обозначает расход насоса, используемый для различения экспериментов, и является тем же параметром, что назначен в разделе Global Definitions > Parameters (Глобальные определения > Параметры). Этот параметр также используется для свойств переноса в интерфейсе Transport of Diluted Species (Перенос растворенных веществ).

Столбец Time (Время)

Значения времени, указываемые в файле, должны быть в единицах СИ — в секундах. Однако в целом они не обязательно должны точно совпадать с хранимыми выходными значениями времени. Тем не менее, рекомендуется обеспечить хороший уровень точности.

Столбец Value (Значение)

В столбце со значениями необходимо указать выражение, которое рассчитывается из результата численной модели. Его необходимо ввести в том виде, в котором оно отражает точную метрику регистрируемых данных. Variable Name (Имя переменной) относится к измеренным данным, которые можно проанализировать в ходе постобработки, используя это имя.

Столбец Coordinate (Координата)

Указанная в файле координата обозначает целевое местоположение, в котором выполняются измерения. Следует также учесть одну важную особенность: Количество столбцов с координатами в файле данных должно соответствовать размерности геометрии, даже если выбрана функция Least-Squares Objective (Целевая функция метода наименьших квадратов) меньшей размерности. В этом случае выражения модели рассчитываются в ближайших точках заданной выборки.

Добавление узла Optimization Study (Оптимизационное исследование)

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

Правильный временной шаг и параметрические исследования распознаются непосредственно из файла данных, и нет необходимости настраивать их отдельно в настройках Step 1: Time dependent (Шаг 1: зависящее от времени исследование). В итоге, используя эти настройки, решатель суммирует все квадраты отклонений для всех временных шагов и параметров, а полученные суммы минимизируются путем нахождения соответствующего глобального поправочного коэффициента для всех отдельных экспериментов.

Снимок экрана с настройками для оптимизационного исследования.

Настройки шага исследования Optimization (Оптимизация).

Заключение

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

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

График с результатами решения задачи многопараметрической оптимизации.

Результаты многопараметрического подбора на основе трех отдельных измерений (символы) с моделированным и оптимизированным результатом (линии).

Кейс. Модели атрибуции

Благодаря модели атрибуции можно обоснованно оценить вклад каждого канала в достижение конверсии. Давайте попробуем посчитать две разных модели атрибуции с помощью оконных функций.

У нас есть таблица с id посетителя (им может быть Client ID, номер телефона и тп.), датами и количеством посещений сайта, а также с информацией о достигнутых конверсиях.

Демо данные

Первый клик

В Google Analytics стандартной моделью атрибуции является последний непрямой клик. И в данном случае 100% ценности конверсии присваивается последнему каналу в цепочке взаимодействий.

Попробуем посчитать модель по первому взаимодействию, когда 100% ценности конверсии присваивается первому каналу в цепочке при помощи функции FIRST_VALUE.

Первый клик

Рядом со столбцом «Medium» появился новый столбец «First_Click», в котором указан канал в первый раз приведший посетителя к нам на сайт и вся ценность зачтена данному каналу.

Произведем агрегацию и получим отчет.

First_Click

С учетом давности взаимодействий

В этом случае работает правило: чем ближе к конверсии находится точка взаимодействия, тем более ценной она считается. Попробуем рассчитать эту модель при помощи функции DENSE_RANK.

С учетом давности взаимодействий

Рядом со столбцом «Medium» появился новый столбец «Ranks», в котором указан ранг каждой строки в зависимости от близости к дате конверсии.

Теперь используем этот запрос для того, чтобы распределить ценность равную 1 (100%) по всем точкам на пути к конверсии.

С учетом давности взаимодействий

Рядом со столбцом «Medium» появился новый столбец «Time_Decay» с распределенной ценностью.

И теперь, если сделать агрегацию, можно увидеть как распределилась ценность по каналам.

С учетом давности взаимодействий

Из получившегося отчета видно, что самым весомым каналом является канал «cpc», а канал «cpa», который был бы исключен при применении стандартной модели атрибуции, тоже получил свою долю при распределении ценности.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector