- Что такое тренд
- Как найти линию тренда
- Какой бывает тренд
- Как понять, что линия тренда хорошо описывает данные
- Как построить линию тренда в Google Sheets
- Выводы
Аналитические задачи в бизнесе далеко не всегда ограничиваются выводами на текущих данных. Например, мы можем не только выяснить, сколько пользователей ежедневно заходило на сайт в этом месяце или прошлом месяце. Еще мы можем предсказать, какой будет посещаемость сайта через месяц — это тоже задача аналитика. Прогноз помогает бизнесу понять, будут ли перемены и нужно ли к ним готовиться.
В этом уроке мы изучим, что такое тренд и как он помогает строить прогнозы. Мы рассмотрим, какими бывают линии тренда и каким может быть качество прогноза. В конце урока построим линию тренда с помощью Google Sheets.
Что такое тренд
Представим, что в нашем городе недавно открылась кофейня. Руководство кофейни заметило, что с каждым днем количество проданных чашек кофе только растет. Нам нужно понять, на какой день чашек будет продано столько, что придется докупать зерно:
Если посмотреть на график количества проданных чашек от времени, то зависимость наглядна. Ее можно описать таким уравнением:
, где — количество проданных чашек, а — номер дня с момента открытия
Мы видим, что на третий день было продано 17 чашек, а на четвертый — 18. По этому уравнению можно построить линию и понять, сколько чашек кофе будет продано в каждый конкретный день, если зависимость сохранится.
Другими словами, используя исторические данные, мы нашли зависимость и на ее основе сделаем прогноз:
Ориентируясь на этот график, мы можем сделать вывод: если кофе будет продаваться с той же скоростью, то на десятый день после открытия будет продано 24 чашки, что в 1,6 раз больше, чем в первый день. Такой прогноз поможет понять не только, когда может закончиться имеющееся зерно, но и сколько зерна необходимо на следующие периоды в принципе.
Уравнение, которое мы нашли для описания зависимости наших данных, и называется трендом. Это уравнение, выражающее зависимость показателя от времени. Другими словами, тренд — это тенденция изменения временного ряда.
Как найти линию тренда
Таких наглядных зависимостей, как мы привели выше, очень мало в реальной практике. Согласитесь, очень маловероятна ситуация, при которой кофейня ежедневно будет продавать на одну чашку кофе больше, чем в предыдущий день.
Однако это не очень большое препятствие к построению тренда. Можно найти такое уравнение, которое будет близким к описанию наших данных с какой-то допустимой погрешностью.
Такое уравнение можно найти разными способами, например, с помощью метода наименьших квадратов. Объяснение этого метода требует определенных знаний математики, поэтому его мы подробнее рассмотрим в других курсах.
Сейчас нам не нужно погружаться в эту тему, потому что в Google Sheets и Excel линию тренда можно построить всего по одной кнопке — способы ее расчета зашиты внутри программы.
Какой бывает тренд
Тренд может быть линейным и нелинейным.
Линейный тренд — это уравнение прямой линии. Однако не любая зависимость данных может быть линейной.
Посмотрим картинку ниже:
На первом графике зависимость выстраивается в прямую линию — это линейный тренд. А на втором графике зависимость можно описать кривой линией — это нелинейный тренд.
Во многих программах по умолчанию строится именно линейный тренд, который недостаточно наглядно покажет данные с нелинейной зависимостью. Поэтому важно знать разницу между линейным и нелинейным трендом и отличать их на графике.
Как понять, что линия тренда хорошо описывает данные
Правильный выбор типа тренда еще не гарантирует точного описания данных и точного прогноза. Например, на картинке ниже сложно увидеть, какая линия более точно описывает данные:
Есть метрики, которые помогают определить, насколько уравнение ближе к нашим данным. Одна из таких метрик — коэффициент детерминации или .
Метрика показывает, насколько хорошо построенная линия описывает зависимость имеющихся данных:
-
Чем ближе значение к , тем точнее линия описывает данные
-
Если , то линия тренда идеально описывает данные (все точки наблюдений лежат точно на линии тренда)
-
Если , то связь между данными отсутствует
В Google Sheets такой показатель можно рассчитать по кнопке.
Таким образом, можно строить несколько линий тренда и выбирать наилучшую по значению коэффициента детерминации.
Как построить линию тренда в Google Sheets
Шаг 1. Для начала откроем таблицу с данными. Как это сделать можно прочитать в официальной справке.
Шаг 2. Проверяем, что наши данные отобразились корректно. Нажимаем на пункт «Вставка» в верхней панели для того, чтобы вставить элемент поверх таблицы. Далее выбираем пункт «Диаграмма»:
Шаг 3. Видим, что на правой панели появился редактор диаграмм. В «Тип диаграммы» находим раздел «Точечные» и выбираем «Точечная диаграмма»:
Шаг 4. Нажимаем на значок диапазона данных и выделяем всю таблицу, включая заголовки столбцов. Нажимаем «Ок»:
Шаг 5. Нажимаем чекбоксы «Заголовки — значения строки 1» и также проверяем, что в Оси X и параметрах указаны верные столбцы:
Шаг 6. Чтобы построить линию тренда, заходим в раздел «Дополнительные» в редакторе диаграмм. Далее переходим в «Серии» и нажимаем на чекбокс «Линия тренда». Видим, что Google Sheets построил по умолчанию линейный тренд:
Шаг 7. Построенная линия тренда плохо описывает данные — скорее всего, связь нелинейная. Под чекбоксом «Линия тренда» находим «Тип» и меняем его с «Линейный» на «Полиномиальный». Нажимаем на «Показать », чтобы убедиться, что построенный тренд хорошо описывает данные.
На графике видим, что коэффициент детерминации составил 0.77 — это считается неплохим результатом. Но можно попробовать изменить порядок многочлена и добиться более высокого значения. Правда, увеличение порядка многочлена на практике не всегда ведет к более точному прогнозу.
Подробнее о построении тренда в Google Sheets можно почитать в официальной справке.
Выводы
В этом уроке мы познакомились с понятием «тренд» и узнали, как он помогает решать задачи предсказания данных. Теперь вы знаете, какими бывают тренды и каким образом можно оценить качество нашего прогноза.
Вспомним ключевые моменты урока:
-
Тренд показывает тенденцию изменения временного ряда
-
Если данные можно описать прямой линией, то тренд называется линейным, в ином случае — нелинейным. Важно знать типы трендов, потому что во многих программах по умолчанию строится линейный тренд, что подходит не во всех случаях
-
Оценить качество линии тренда можно с помощью специальных метрик. Одна из них — коэффициент детерминации или . В Google Sheets его можно рассчитать автоматически по одной кнопке
-
Чем ближе к 1, тем точнее построенная линия тренда описывает данные
Самостоятельная работа
Представьте, что вы заходите в интернет-магазин. Вы смотрите подборки, читаете описания. Наконец вы находите подходящий товар, добавляете его в корзину, переходите на страницу оплаты и оплачиваете.
Чаще всего переходы между этими действиями длятся доли секунд, поэтому вы можете быстро и удобно совершать покупки. Но вы не единственный пользователь этого сайта. Кроме вас, другие пользователи совершают еще тысячи запросов к тому же сайту в секунду.
Если сайт не рассчитан на такое активное использование, то пользователи сталкиваются с медленной загрузкой или сообщениями об ошибках. Клиенты остаются недовольны, и уходят за покупками к конкурентам.
Сайты, которые могут обрабатывать большое количество запросов в секунду, называются высоконагруженными сайтами или хайлоад-проектами. Чтобы сайт мог выдержать высокую нагрузку, нужно немалое количество вычислительных и человеческих ресурсов. Поэтому компании серьезно относятся к этому вопросу и стараются предсказать, какой будет нагрузка на сайт.
В этом задании мы научимся предсказывать нагрузку. Для примера возьмем АвиаХекслет — вымышленный сервис по продаже авиабилетов.
Представим, что разработчик сайта АвиаХекслет пришел к руководителю с таким запросом — нужно выделить ресурсы на поддержку высокой нагрузки, потому что месяц назад на сайте впервые было около 1000 пользователей одновременно.
Руководитель видит, что сегодня на сайт зашло 202 пользователя на текущий день. Чтобы принять правильное решение, он отдал эту задачу аналитику — то есть нам.
Нам нужно спрогнозировать, действительно ли нужно ожидать высокой нагрузки на сайт. Для этого мы изучим исторические данные сервиса и предскажем, сколько пользователей будет на сайте через неделю.
Нажмите, чтобы увидеть тестовые данные
Чтобы решить эту задачу, мы изучим тестовые данные по ссылке.
Тестовые данные
Здесь мы видим данные о количество пользователей на сайте за последний месяц в сервисе. Можно выделить такие признаки:
-
Дата — порядковый номер дня в месяце
-
Количество пользователей на сайте — максимальное число пользователей на сайте в день
Шаг 1. Как думаете, какой тренд лучше всего описывает эти данные — линейный или нелинейный? Визуализируйте данные с помощью точечной диаграммы и выберите правильный тип тренда.
Нажмите, чтобы увидеть диаграммы
Данные в этой задаче показывают нелинейный тренд — сначала идет резкое снижение аудитории сайта, а дальше — более плавное снижение.
Это видно и на графике:
В этой задаче вид тренда определить довольно просто, но так происходит не всегда. В более сложных случаях можно сначала попробовать линейный тренд и оценить его качество, а уже затем — пробовать нелинейный.
Шаг 2. Постройте линию тренда. Ее качество по коэффициенту детерминации должно быть не менее 0.7.
Нажмите, чтобы увидеть возможный ответ
Линия тренда выглядит так:
Нелинейный тренд описывает данные с качеством 0.85 — это нам подходит. Если бы мы строили линейный тренд, то коэффициент был бы равен 0.5, что считается неудовлетворительным качеством.
Шаг 3. Изучите полученные данные еще раз. Попробуйте предсказать ожидаемую нагрузку через семь дней. Сделайте вывод, нужно ли АвиаХекслету выдерживать высокую нагрузку или пользователей будет не так много.
Нажмите, чтобы увидеть возможный ответ
Посмотрим на линию тренда еще раз:
Чтобы предсказать количество пользователей через семь дней, можно взять уравнение тренда и подставить в него интересующий нас день. В нашем случае это 37 день — то есть через семь дней после последней точки.
Подставим значения в уравнение:
Проведем вычисления:
Таким образом, количество пользователей через неделю будет примерно равно 572.
Получившееся число выше, чем значение последнего дня исторических данных. При этом оно не выше 1000 — то есть высокая нагрузка не ожидается.
Еще нужно учитывать, что количество пользователей зависит не только от времени. Например, отдел маркетинга может запустить новую рекламную кампанию — тогда новые пользователи придут и действительно увеличат нагрузку на сайт. В таком случае, к высокой нагрузке готовиться нужно.
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.