Как сделать экспоненциальную нормировку excel

Добавил пользователь Дмитрий К.
Обновлено: 05.10.2024

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

В диалоговых окнах данных режимов (рисунок 2 и 3) задаются следующие параметры:

2. Флажок Метки – устанавливается активное состояние, если первая строка (столбец) во входном диапазоне содержит заголовки. Если заголовки отсутствуют, флажок следует деактивизировать. В этом случае будут автоматически созданы стандартные названия для данных выходного диапазона.

3. Интервал (только в диалоговом окне Скользящее среднее) – вводится размер окна сглаживания р. По умолчанию р=3.


Рисунок 2 – Диалоговое окно скользящего среднего

4. Фактор затухания (только в диалоговом окне Экспоненциальное сглаживание) – вводится значение коэффициента экспоненциального сглаживания p. По умолчанию, p=0,3.

6. Вывод графика – устанавливается в активное состояние для автоматической генерации на рабочем листе графиков фактических и теоретических уровней динамического ряда.

7. Стандартные погрешности – устанавливаются в активное состояние, если требуется включить в выходной диапазон столбец, содержащий стандартные погрешности.


Рисунок 3 – Диалоговое окно экспоненциального сглаживания

Пример 1.

Данные о реализации (млн. руб.) продуктов сельскохозяйственного производства магазинами потребительской кооперации города приведены в таблице, сформированной на рабочем листе Microsoft Excel (рисунок 4). В указанном периоде (2009 – 2012 гг.) требуется выявить основную тенденцию развития данного экономического процесса.


Рисунок 4 – Исходные данные


Рисунок 5 – Заполнение диалогового окна


Рисунок 6 – Результаты анализа


Рисунок 7– Скользящее среднее

В столбце D (рисунок 5) вычисляются значения сглаженных уровней. Например, значение первого сглаженного уровня рассчитывается в ячейке D5 по формуле =СРЗНАЧ(С2:С5), значение второго сглаженного уровня – в ячейке D6 по формуле =СРЗНАЧ(С5:С8) и т.д.

В столбце E вычисляются значения стандартных погрешностей с помощью формулы =КОРЕНЬ (СУММАКВРАЗН (блок фактических значений; блок прогнозных значений) / размер окна сглаживания).

Например, значение в ячейке Е10 рассчитывается по формуле =КОРЕНЬ(СУММКВРАЗН(С7:С10;О7:В10)/4).

Вместе с тем, как отмечалось выше, если размер окна сглаживания является четным числом (р=2m), то рассчитанное усредненное значение нельзя сопоставить какому-либо определенному моменту времени t, поэтому необходимо применять процедуру центрирования.

Для рассматриваемого примера р=4, поэтому процедура центрирования необходима. Так, первый сглаженный уровень (265,25) записывается между II и III кв. 2009 г. и т.д. Применяя процедуру центрирования (для этого используем функцию СРЗНАЧ), получаем сглаженные уровни с центрированием. Для III кВ. 2009 г. определяется серединное значение между первым и вторым сглаженными уровнями: (265,25 + 283,25)/2 = 274,25; для IV кв. 2009 г. центрируются второй и третий сглаженные уровни: (283,25 + 292,00)/2 = 287,6 и т.д. Рассчитанные значения представлены в таблице 1. Скорректированный график скользящей средней представлен на рисунке 8.

Таблица 1 – Динамика сглаженных уровней реализации продукции

Год Квартал Размер реализации, млн. руб. Сглаженные уровни с центрированием
274,25
287,63
297,00
307,50
334,63
374,13
402,88
421,00
429,00
430,75
435,38
446,63


Рисунок 8 – Скорректированный график скользящего среднего

Пример 2.



Рисунок 10 – Результаты анализа


Рисунок 11 – Экспоненциальное сглаживание

В столбце D (рисунок 10) вычисляются значения сглаженных уровней на основе рекуррентных соотношений.

В столбце E рассчитываются значения стандартных погрешностей с помощью формулы =КОРЕНЬ(СУММКВРАЗН (блок фактических значений; блок прогнозных значений) / 3). Как легко заметить (сравните рисунок 8 и 11), при использовании метода простого экспоненциального сглаживания, в отличие от метода простой скользящей средней, сохраняются мелкие волны.

Расчет скользящего среднего в Excel (простой, взвешенный и экспоненциальный)

Как и многие из моих руководств по Excel, это также вдохновлено одним из вопросов, которые я получил от друга. Она хотела рассчитать скользящее среднее в Excel, и я попросил ее поискать его в Интернете (или посмотреть видео на YouTube об этом).

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

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

Если вы хотите перейти к той части, где я покажу, как рассчитать скользящее среднее в Excel, щелкните здесь.

Примечание. Я не являюсь экспертом в области статистики, и в этом руководстве я не собираюсь описывать все, что касается скользящих средних. Я лишь хочу показать вам, как рассчитывать скользящие средние в Excel (с кратким описанием значений скользящих средних).

Что такое скользящая средняя?

Я уверен, что вы знаете, каково среднее значение.

Если у меня есть данные о температуре за три дня, вы можете легко сказать мне среднее значение за последние три дня (подсказка: для этого вы можете использовать функцию СРЕДНЕЕ в Excel).

Скользящее среднее (также называемое скользящим средним или скользящим средним) - это когда вы сохраняете временной период среднего одинаковым, но продолжает двигаться по мере добавления новых данных.

Например, в день 3, если я спрошу вас о 3-дневной скользящей средней температуре, вы дадите мне среднее значение температуры для дней 1, 2 и 3. А если в день 4 я спрошу вас о 3-дневной скользящей средней температуре. , вы дадите мне среднее значение для дней 2, 3 и 4.

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

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


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

Типы скользящих средних

Есть три типа скользящих средних:

  • Простая скользящая средняя (SMA)
  • Взвешенная скользящая средняя (WMA)
  • Экспоненциальная скользящая средняя (EMA)

Простая скользящая средняя (SMA)

Это простое среднее значение точек данных за заданный период времени.

В нашем примере дневной температуры, когда вы просто берете среднее значение за последние 10 дней, оно дает 10-дневное простое скользящее среднее.

Это может быть достигнуто путем усреднения точек данных за заданную продолжительность. В Excel это легко сделать с помощью функции СРЕДНЕЕ (она рассматривается далее в этом руководстве).

Взвешенное скользящее среднее (WMA)

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

Температура дня 10, скорее всего, будет лучшим индикатором тенденции по сравнению с днем ​​1 (поскольку температура падает с каждым днем).

Итак, нам будет лучше, если мы будем больше полагаться на ценность 10-го дня.

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

Это называется взвешенной скользящей средней.

Экспоненциальная скользящая средняя (EMA)

Экспоненциальная скользящая средняя - это тип взвешенной скользящей средней, в которой больший вес придается последним данным и экспоненциально уменьшается для более старых точек данных.

Его также называют экспоненциально-взвешенной скользящей средней (EWMA).

Разница между WMA и EMA заключается в том, что с WMA вы можете назначать веса на основе любых критериев. Например, в 3-точечном скользящем среднем вы можете присвоить возраст 60% веса последней точке данных, 30% средней точке данных и 10% самой старой точке данных.

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

Хватит лекции по статистике.

Теперь давайте углубимся и посмотрим, как рассчитать скользящие средние в Excel.

Расчет простой скользящей средней (SMA) с использованием пакета инструментов анализа данных в Excel

В Microsoft Excel уже есть встроенный инструмент для расчета простых скользящих средних.

Это называется Пакет инструментов для анализа данных.

Прежде чем вы сможете использовать набор инструментов для анализа данных, вам сначала нужно проверить, есть ли он у вас на ленте Excel или нет. Есть большая вероятность, что вам нужно сделать несколько шагов, чтобы сначала включить его.


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


Ниже приведены шаги по использованию анализа данных для расчета простого скользящего среднего:

Вышеупомянутые шаги дадут вам результат скользящего среднего, как показано ниже.

Вы также заметите, что весь этот пакет инструментов анализа данных применяет к ячейкам формулу СРЕДНЕГО. Так что, если вы хотите сделать это вручную без инструментария анализа данных, вы, безусловно, можете это сделать.

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

Расчет скользящих средних (SMA, WMA, EMA) с использованием формул в Excel

Вы также можете рассчитать скользящие средние по формуле СРЕДНИЙ.

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

Кроме того, Data analysis Toolpak дает только простую скользящую среднюю (SMA), но если вы хотите рассчитать WMA или EMA, вам нужно полагаться только на формулы.

Расчет простой скользящей средней с использованием формул

Предположим, у вас есть набор данных, показанный ниже, и вы хотите рассчитать 3-точечный SMA:


В ячейке C4 введите следующую формулу:

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


Помните: при вычислении SMA с использованием формул необходимо убедиться, что ссылки в формуле являются относительными. Это означает, что формула может быть = СРЕДНЕЕ (B2: B4) или = СРЕДНЕЕ ($ B2: $ B4), но не может быть = СРЕДНЕЕ ($ B $ 2: $ B $ 4) или = СРЕДНЕЕ (B $ 2: B $ 4. ). Часть ссылки с номером строки должна быть без знака доллара. Вы можете узнать больше об абсолютных и относительных ссылках здесь.

Поскольку мы вычисляем 3-точечное простое скользящее среднее (SMA), первые две ячейки (для первых двух дней) пусты, и мы начинаем использовать формулу с третьего дня и далее. При желании вы можете использовать первые два значения как есть и использовать значение SMA, начиная с третьего.

Расчет взвешенного скользящего среднего с использованием формул

Для WMA вам необходимо знать веса, которые будут присвоены значениям.

Например, предположим, что вам нужно рассчитать 3-точечный WMA для приведенного ниже набора данных, где 60% веса дается последнему значению, 30% - предыдущему и 10% - предыдущему.


Для этого введите следующую формулу в ячейку C4 и скопируйте для всех ячеек.


Поскольку мы вычисляем 3-точечное взвешенное скользящее среднее (WMA), первые две ячейки (для первых двух дней) пусты, и мы начинаем использовать формулу с третьего дня и далее. При желании можно использовать первые два значения как есть и использовать значение WMA, начиная с третьего.

Расчет экспоненциальной скользящей средней с использованием формул

Экспоненциальная скользящая средняя (EMA) придает больший вес последнему значению, а веса продолжают экспоненциально снижаться для более ранних значений.

Ниже приведена формула для расчета EMA для трехточечной скользящей средней:

… Где N будет 3 в этом примере (поскольку мы вычисляем трехточечную EMA)

Примечание. Для первого значения EMA (если у вас нет предыдущего значения для расчета EMA) просто возьмите значение как есть и считайте его значением EMA. Затем вы можете использовать это значение в будущем.

Предположим, у вас есть следующий набор данных и вы хотите рассчитать трехпериодную EMA:


В ячейке C2 введите то же значение, что и в B2. Это потому, что нет предыдущего значения для расчета EMA.

В ячейке C3 введите приведенную ниже формулу и скопируйте для всех ячеек:


В этом примере я сохранил простоту и использовал последнее значение и предыдущее значение EMA для вычисления текущей EMA.

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

Добавление линии тренда скользящего среднего на столбчатый график

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

Предположим, у вас есть набор данных, как показано ниже:

Ниже приведены шаги по созданию гистограммы с использованием этих данных и добавлению линии тренда скользящего среднего из трех частей на эту диаграмму:

Вот и все! Вышеупомянутые шаги добавят движущуюся линию тренда к вашей столбчатой ​​диаграмме.


Если вы хотите вставить более одной линии тренда скользящего среднего (например, одну для 2 периодов и одну для 3 периодов), повторите шаги с 5 по 8).

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

Форматирование линии тренда скользящего среднего

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

Вот несколько вещей, которые вы можете отформатировать на линии тренда:

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


Во-первых, в подавляющем большинстве книг, интернет-ресурсов и уроков по Data Science нюансы, изъяны разных типов нормализации данных и их причины либо не рассматриваются вообще, либо упоминаются лишь мельком и без раскрытия сути.

И, в-третьих, мне всегда хотелось получить универсальный метод учитывающий проблемные места.

Повторение — мать учения

Нормализация — это преобразование данных к неким безразмерным единицам. Иногда — в рамках заданного диапазона, например, [0..1] или [-1..1]. Иногда — с какими-то заданным свойством, как, например, стандартным отклонением равным 1.

Ключевая цель нормализации — приведение различных данных в самых разных единицах измерения и диапазонах значений к единому виду, который позволит сравнивать их между собой или использовать для расчёта схожести объектов. На практике это необходимо, например, для кластеризации и в некоторых алгоритмах машинного обучения.

Аналитически любая нормализация сводится к формуле

где — текущее значение,
— величина смещения значений,
— величина интервала, который будет преобразован к “единице”

По сути всё сводится к тому, что исходный набор значений сперва смещается, а потом масштабируется.

Минимакс (MinMax). Цель — преобразовать исходный набор в диапазон [0..1]. Для него:
= , минимальное значение исходных данных.
= — , т.е. за “единичный” интервал берется исходный диапазон значений.

Стандартизация. Цель — преобразовать исходный набор в новый со средним значением равным 0 и стандартным отклонением равным 1.
= , среднее значение исходных данных.
— равен стандартному отклонению исходного набора.

Для других методов всё аналогично, но со своими особенностями.

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

Представим, что у Вас есть какой-то набор данных с несколькими признаками. Признаки отличаются и по типу распределения, и по диапазону. Чтобы можно было с ними работать, сравнивать, их нужно нормализовать. Причём так, чтобы ни у какого из них не было преимуществ перед другими. По крайней мере, по умолчанию — любые такие предпочтения Вы должны задавать сами и осознанно. Не должно быть ситуации, когда алгоритм втайне от Вас сделал, например, цвет глаз менее важным, чем размер ушей*

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

Итого, главное условие правильной нормализации — все признаки должны быть равны в возможностях своего влияния.

Шаг 1 — определяем смещение

Чаще всего данные центрируют — т.е. определяют, значение, которое станет новым 0 и “сдвигают” данные относительно него.

Здесь проявляется проблема № 1 — различные типы распределений не позволяют применять к ним методы, созданные для нормального распределения.

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

Вот, например, различия между медианой и средним арифметическим значением для экспоненциального распределения.


А вот так выглядят эти различия при добавлении выброса:


В отличии от среднего значения медиана практически не чувствительна к выбросам и асимметрии распределения. Поэтому её оптимально использовать как “нулевое” значение при центрировании.

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

Шаг 2 — масштабируем

Мы определили нужные величины смещения для всех признаков. Теперь нужно сделать признаки сравнимыми между собой.

Степень возможного влияния признаков определяется величиной их диапазонов после масштабирования. Если оба признака распределены в одинаковых интервалах, например, [-1..1], то и влиять они могут одинаково. Если же изначально один из признаков лежит в диапазоне [-1..1], а второй — в [-1..100], то очевидно, что изменения второго могут оказывать существенно большее влияние. А значит он будет в привилегированном положении по сравнению с первым.

Стандартное отклонение

Вернёмся к примеру стандартизации. В её случае новый диапазон определяется величиной стандартного отклонения. Чем оно меньше, тем диапазон станет “шире”.

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


Для второго признака (бимодальное распределение) стандартное отклонение будет больше, чем у первого.


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


Итог — стандартное отклонение не удовлетворяет начальным требованиям по одинаковому влиянию признаков (величине интервала). Даже не говоря о том, что и наличие выбросов может исказить “истинную” величину стандартного отклонения.

Межквартильный интервал

Другим часто используемым кандидатом является разница между 75-м и 25-м процентилями данных — межквартильный интервал. Т.е. интервал, в котором находятся “центральные” 50% данных набора. Эта величина уже устойчива к выбросам и не зависит от “нормальности” распределения наличия/отсутствия асимметрии.

Но и у неё есть свой серьезный недостаток — если у распределения признака есть значимый “хвост”, то после нормализации с использованием межквартильного интервала он добавит “значимости” этому признаку в сравнении с остальными.

Проблема № 2 — большие “хвосты” распределений признаков.

Пример — два признака с нормальным и экспоненциальным распределениями. Интервалы значений одинаковы


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


В итоге интервал у признака с экспоненциальным распределением из-за большого “хвоста” стал больше. А, следовательно, и сам признак стал “влиятельнее”.

Размах значений

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

И здесь максимально проявляется, наверное, самая частая проблема в подготовке данных, проблема № 3 — выбросы. Присутствие одного или нескольких аномальных (существенно удалённых) значений за пределами диапазона основных элементов набора может ощутимо повлиять на его среднее арифметическое значение и фиктивно увеличить его размах.

Это, пожалуй, самый наглядный пример из всех. К уже использовавшемуся выше набору из 2-х признаков добавим немного выбросов для одного признака


После нормализации по размаху


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

Работаем с выбросами

Решением проблемы влияния выбросов при использовании размаха является его замена на интервал, в котором будут располагаться “не-выбросы”. И дальше — масштабировать по этому интервалу.

Искать и удалять выбросы вручную — неблагодарное дело, особенно когда количество признаков ощутимо велико. А иногда выбросы и вовсе нельзя удалять, поскольку это приведёт к потере информации об исследуемых объектах. Вдруг, это не ошибка в данных, а некое аномальное явление, которое нужно зафиксировать на будущее, а не отбрасывать без изучения? Такая ситуация может возникнуть при кластеризации.

Пожалуй, самым массово применяемым методом автоматического определения выбросов является межквартильный метод. Его суть заключается в том, что выбросами “назначаются” данные, которые более чем в 1,5 межквартильных диапазонах (IQR) ниже первого квартиля или выше третьего квартиля.*

* — в некоторых случаях (очень большие выборки и др.) вместо 1,5 используют значение 3 — для определения только экстремальных выбросов.

Схематично метод изображен на рисунке снизу.


Вроде бы все отлично — наконец-то есть инструмент, и можно приступать к работе.

Но и здесь есть своя ложка дёгтя. В случае наличия длинных хвостов (как, например, при экспоненциальном распределении) слишком много данных попадают в такие “выбросы” — иногда достигая значений более 7%. Избирательное использование других коэффициентов (3 * IQR) опять приводит к необходимости ручного вмешательства — не для каждого признака есть такая необходимость. Их потребуется по отдельности изучать и подбирать коэффициенты. Т.е. универсальный инструмент опять не получается.

Ещё одной существенной проблемой является то, что этот метод симметричный. Полученный “интервал доверия” (1,5 * IQR) одинаков как для малых, так и для больших значений признака. Если распределение не симметричное, то многие аномалии-выбросы с “короткой” стороны просто будут скрыты этим интервалом.


Скорректированный интервал

Красивое решение этих проблем предложили Миа Хаберт и Елена Вандервирен (Mia Hubert and Ellen Vandervieren) в 2007 г. в статье “An Adjusted Boxplot for Skewed Distributions”.

Их идея заключается в вычислении границ “интервал доверия” с учетом асимметрии распределения, но чтобы для симметричного случая он был равен всё тому же 1,5 * IQR.

Для определения некоего “коэффициента асимметрии” они использовали функцию medcouple (MC), которая определяется так:



Поиск подходящей формулы для определения границ “интервала доверия” производился с целью сделать долю, приходящуюся на выбросы, не превышающей такую же, как у нормального распределения и 1,5 * IQR — приблизительно 0,7%

В конечном итоге они получили такой результат:



Более подробно про этот метод и его эффективность лучше прочитать в самой статье. Найти ее по названию не составляет труда.

Универсальный инструмент

Теперь, объединяя все найденные плюсы и учитывая проблемы, мы получаем оптимальное решение:

  1. Центрирование, если оно требуется, производить по медиане.
  2. Масштабировать набор данных по величине скорректированного интервала.
  3. (Опционально) — если центрирование не требуется, то смещать масштабированные данные так, чтобы границы скорректированного интервала приходились на [0..1]

Назовем его методом… скорректированного интервала — по названию статьи Mia Hubert и Ellen Vandervieren

Теперь сравним результаты обычных методов с новым. Для примера возьмем уже использовавшиеся выше три распределения с добавлением выбросов.


Сравнивать новый инструмент будем с методами стандартизации, робастной нормализации (межквартильный интервал) и минимакса (MinMax — с помощью размаха).

Ситуация № 1 — данные необходимо центрировать. Это используется в кластеризации и многих методах машинного обучения. Особенно, когда необходимо определять меру “близости” объектов.


Робастная нормализация (по межквартильному интервалу):



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

Ситуация № 2 — данные необходимо вписать в заданный интервал. Обычно это [0..1]. Это используется, например, при подготовке данных для входов нейронной сети.

MinMax (по размаху):



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

То, что только “нормальные” данные попадают в единичный диапазон [0..1], а выбросы не удаляются, но пропорционально выносятся за его пределы — это крайне полезное свойство, которое сильно поможет при кластеризации объектов со смешанными признаками, как числовыми, так и категорийными. Подробно об этом я напишу в другой статье.

Напоследок, для возможности пощупать руками этот метод, Вы можете попробовать демонстрационный класс AdjustedScaler из моей библиотеки AdjDataTools.

Он не оптимизирован под работу с очень большим объемом данных и работает только с pandas DataFrame, но для пробы, экспериментов или даже заготовки под что-то более серьезное вполне подойдет. Пробуйте.


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

Вычисление экспоненты в Эксель

Экспонента является числом Эйлера, возведенным в заданную степень. Само число Эйлера приблизительно равно 2,718281828. Иногда его именуют также числом Непера. Функция экспоненты выглядит следующим образом:

где e – это число Эйлера, а n – степень возведения.

Для вычисления данного показателя в Экселе применяется отдельный оператор – EXP. Кроме того, эту функцию можно отобразить в виде графика. О работе с этими инструментами мы и поговорим далее.

Способ 1: вычисление экспоненты при помощи ручного ввода функции

Для того чтобы рассчитать в Экселе величину экспоненты для значения e в указанной степени, нужно воспользоваться специальным оператором EXP. Его синтаксис является следующим:

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

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



Способ 2: использование Мастера функций

Хотя синтаксис расчета экспоненты предельно прост, некоторые пользователи предпочитают применять Мастер функций. Рассмотрим, как это делается на примере.






Способ 3: построение графика

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



Как видим, рассчитать экспоненту в Экселе при помощи функции EXP элементарно просто. Эту процедуру легко произвести как в ручном режиме, так и посредством Мастера функций. Кроме того, программа предоставляет инструменты для построения графика на основе этих расчетов.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Excel работает за вас


Excel works!

Thanks for Visiting


Экспонента в Excel. Что такое экспонента и как применять?

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

Экспонента. Что это такое?

Мы знаем, что наш мир описан точными науками — т.е. набором правил и законов более-менее точно описывающих происходящее. Для этого в большинстве случаев помогают функции/формулы. В природе довольно часто встречаются экспоненциальные явления (описываем экспонентой) формулой с числом e, а у = e в степени x уже будет экспоненциальной функцией:

Число e — это т.н. число Эйлера, приблизительно равное 2,72. Примечательно оно тем, что производная от этой функции равна самой функции exp(x)` = exp(x).

Что это вообще такое, и что для нас означает?

Лучше всего, действие экспоненты показывают графики ниже:

Две функции: y = 2 в степени x и y = e в степени x , где x = время, к примеру. Мы видим, что скорость роста экспоненциального графика увеличивается быстрее. А все почему? Потому, что производная (скорость роста или уменьшения) функции равна самой функции, т.е. скорость увеличения функции равна значению функции.

Если грубо, то в природе, это действительно встречается часто — чем больше клеток делятся, тем быстрее их становиться больше. Чем больше у вас денег в банке, тем большую прибыль они приносят. Например:

Вы вложили 1 000 руб. в банк, через год они принесли свои 100 руб. процентами, еще через год на вас работают уже 2 работника 1 000 руб. и 100 руб. и так далее пока вы не заберете деньги или не случится банковский кризис.

Кстати население на планете Земля тоже растет по экспоненте;)

Принцип Парето и экспонента

20% любителей пива употребляют 80% всего пива

На принципе Парето построен и ABC анализ запасов, например.

Этот принцип Парето — еще один пример экспоненты.

Экспонента в Excel

Когда по смыслу функции более-менее объяснил, напишу как считать ее и есть ли функция экспонента в Excel. Само собой есть.

В Эксель все посчитать несложно:

или можно число возвести в степень

Дополнение. Как запомнить 15 знаков числа е?

В качестве отвлечения привожу способ, как запомнить число e c точностью до 15 знаков

  • запишите 2,7,
  • затем дважды год рождения Льва Толстого – 1828,
  • затем величины углов равнобедренного прямоугольного треугольника – 45°, 90°, 45°,
  • в итоге получается: 2,718281828459045.

Как фанат Льва Николаевича, я не смог забыть этот способ 🙂 Кстати отличная книга о том как запоминать много информации и как работает память здесь .

Метод наименьших квадратов (МНК) основан на минимизации суммы квадратов отклонений выбранной функции от исследуемых данных. В этой статье аппроксимируем имеющиеся данные с помощью экспоненциальной функции.

Метод наименьших квадратов (англ. Ordinary Least Squares, OLS) является одним из базовых методов регрессионного анализа в части оценки неизвестных параметров регрессионных моделей по выборочным данным. Основная статья про МНК – МНК: Метод Наименьших Квадратов в MS EXCEL.

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

y=a*m x =a*(e ln(m) ) x = a*e x*ln(m) =a*e bx , где b= ln(m))

В свою очередь экспоненциальную зависимость y=a*EXP(b*x) при a>0 можно свести к случаю линейной зависимости с помощью замены переменных (см. файл примера ).

После замены переменных Y=ln(y) и A=ln(a) вычисления полностью аналогичны линейному случаю Y=b*x+A. Для нахождения коэффициента a необходимо выполнить обратное преобразование a= EXP(A) .


Следствием замены Y=ln(y) и A=ln(a) являются дополнительные ограничения: a>0 и y>0. При уменьшении х (в сторону больших по модулю отрицательных чисел) соответствующее значение y асимптотически стремится к 0. Именно такую линию тренда и строит инструмент диаграммы Линия тренда. Если среди значений y есть отрицательные, то с помощью инструмента Линия тренда экспоненциальную линию тренда построить не удастся.

Чтобы обойти это ограничение используем другое уравнение экспоненциальной зависимости y=a*EXP(b*x)+с, где по прежнему a>0, т.е. при росте х значения y также будут увеличиваться. В качестве с можно взять некую заранее известную нижнюю границу для y, ниже которой у не может опускаться, т.е. у>с. Далее заменой переменных Y=ln(y-c) и A=ln(a) опять сведем задачу к линейному случаю (см. файл примера лист Экспонента2 ).


Если при росте х значения y уменьшаются по экспоненциальной кривой, т.е. a файл примера лист Экспонента3 ).

Функция РОСТ()

Еще одним способом построить линию экспоненциального тренда является использование функции РОСТ() , английское название GROWTH.

Синтаксис функции следующий:

РОСТ(известные_значения_y; [известные_значения_x]; [новые_значения_x]; [конст])

Для работы функции нужно просто ввести ссылки на массив значений переменной Y (аргумент известные_значения_y) и на массив значений переменной Х (аргумент известные_значения_x). Функция рассчитает прогнозные значения Y для Х, указанных в аргументе новые_значения_x. Если требуется, чтобы экспоненциальная кривая y=a*EXP(b*x) имела a=1, т.е. проходила бы через точку (0;1), то необязательный аргумент конст должен быть установлен равным ЛОЖЬ (или 0).

Если среди значений y есть отрицательные, то с помощью функции РОСТ() аппроксимирующую кривую построить не удастся.

Безусловно, использование функции РОСТ() часто удобно, т.к. не требуется делать замену переменных и сводить задачу к линейному случаю.

Наконец, покажем как с помощью функции РОСТ() вычислить коэффициенты уравнения y=a*EXP(b*x).

Примечание: В MS EXCEL имеется специальная функция ЛГРФПРИБЛ() , которая позволяет вычислить коэффициенты уравнения y=a*EXP(b*x). Об этой функции см. ниже.

Чтобы вычислить коэффициент a (значение Y в точке Х=0) используйте формулу =РОСТ(C26:C45;B26:B45;0) . В диапазонах C26:C45 и B26:B45 должны находиться массивы значений переменной Y и X соответственно.

Чтобы вычислить коэффициент b используйте формулу:

= LN(РОСТ(C26:C45;B26:B45;МИН(B26:B45))/
РОСТ(C26:C45;B26:B45;МАКС(B26:B45)))/
(МИН(B26:B45)-МАКС(B26:B45))

Функция ЛГРФПРИБЛ()

Функция ЛГРФПРИБЛ() на основе имеющихся значений переменных Х и Y подбирает методом наименьших квадратов коэффициенты а и m уравнения y=a*m^x.

Используя свойство степеней a mn =(a m ) n приведем уравнение экспоненциального тренда y=a*EXP(b*x)=a*e b *x = a*(e b ) x к виду y=a*m^x, сделав замену переменной m= e b =EXP(b).

Чтобы вычислить коэффициенты уравнения y=a*EXP(b*x) используйте следующие формулы:

= LN(ЛГРФПРИБЛ(C26:C45;B26:B45)) – коэффициент b

= ИНДЕКС(ЛГРФПРИБЛ(C26:C45;B26:B45);;2) – коэффициент a

Примечание: Функция ЛГРФПРИБЛ() , английское название LOGEST, является формулой массива, возвращающей несколько значений. Поэтому, например, для вывода коэффициентов уравнения необходимо выделить 2 ячейки в одной строке, в Строке формул ввести = ЛГРФПРИБЛ(C26:C45;B26:B45) , затем для ввода формулы вместо обычного ENTER нажать CTRL+SHIFT+ENTER.

Функция ЛГРФПРИБЛ() имеет линейный аналог – функцию ЛИНЕЙН() , которая рассмотрена в статье про простую линейную регрессию. Если 4-й аргумент этой функции (статистика) установлен ИСТИНА, то ЛГРФПРИБЛ() возвращает регрессионную статистику: стандартные ошибки для оценок коэффициентов регрессии, коэффициент детерминации, суммы квадратов: SSR, SSE и др.

Примечание: Особой нужды в функции ЛГРФПРИБЛ() нет, т.к. с помощью логарифмирования и замены переменной показательную функцию y=a*m^x можно свести к линейной ln(y)=ln(a)+x*ln(m)=> Y=A+bx. То же справедливо и для экспоненциальной функции y=a*EXP(b*x).

Читайте также: