Экспоненциальная регрессия описывает рост, который умножает, а не прибавляет
Прямая прибавляет одну и ту же величину на каждый шаг x. Многое вместо этого умножается на один и тот же множитель: деньги под сложные проценты, колония бактерий, заряд, оставшийся в батарее, разница температур между остывающим напитком и комнатой. Такая закономерность записывается как y = a·bˣ, где a означает значение при x = 0, а b множитель, применяемый на каждом шаге. Если b больше 1, величина растёт, если b между 0 и 1, она убывает, а (b минус 1) в процентах даёт темп за шаг.
Стандартный способ подбора: взять натуральный логарифм каждого y. Если y = a·bˣ, то ln y = ln a + x·ln b, а это прямая по x. Поэтому метод строит обычную прямую наименьших квадратов по точкам (x, ln y), считывает ln b из её углового коэффициента и ln a из свободного члена и убирает логарифмы. Так работают команда ExpReg на TI-84 и экспоненциальная линия тренда в Excel, а эта страница показывает каждый этап: столбец ln y, построенную прямую и две экспоненты, которые возвращают a и b.
Логарифмы иррациональны, поэтому это единственный калькулятор регрессии в наборе, чьи ответы являются округлёнными десятичными дробями, а не точными дробями, и он сообщает об этом рядом с результатом. Ещё ему нужно, чтобы каждое y было больше 0, так как логарифма нуля или отрицательного числа не существует. Показанный r² относится к линейному приближению для ln y: именно это число выдаёт графический калькулятор.
Что стоит заметить в кривой
b означает множитель за шаг, а (b минус 1) означает темп. b ≈ 0,8195 значит, что каждый шаг сохраняет около 81,95% предыдущего значения, то есть убывание примерно на 18,05% за шаг.
a равно значению кривой при x = 0, а не обязательно первой точке данных. Для y = 100, 82, 67, 55, 45, 37 при x = 0 до 5 приближение даёт a ≈ 99,9517.
Ту же кривую можно записать как y = a·eᵏˣ с k = ln b. Положительное k означает рост, отрицательное убывание, а ln 2 / |k| даёт время удвоения или период полураспада.
Метод наименьших квадратов применяется к ln y, а не к y. Он одинаково оценивает промах в 10% при y = 5 и при y = 5000, что подходит для данных, растущих в процентах.
Высокий r² в логарифмическом масштабе не доказывает, что рост экспоненциальный. Линейные данные 5, 4, 3, 2, 1 всё равно дают r² ≈ 0,9473 для экспоненциального приближения.
Как выполнить экспоненциальную регрессию вручную
1
Возьмите логарифм каждого y
Замените каждое y на ln y. Для x = 0, 1, 2, 3, 4 и y = 3, 6, 12, 24, 48 новый столбец примерно равен 1,0986; 1,7918; 2,4849; 3,1781 и 3,8712.
2
Постройте прямую по точкам (x, ln y)
Примените обычные формулы наименьших квадратов для углового коэффициента и свободного члена к точкам (x, ln y). Здесь угловой коэффициент около 0,6931, а свободный член около 1,0986.
3
Уберите логарифмы
Угловой коэффициент равен ln b, а свободный член ln a, поэтому b равно e в степени углового коэффициента, а a равно e в степени свободного члена. Здесь b ≈ e^0,6931 = 2 и a ≈ e^1,0986 = 3.
4
Запишите кривую и найдите темп
y ≈ 3·2ˣ, или y ≈ 3e^(0,6931x) по основанию e. b = 2 значит, что каждый шаг умножает y на 2: рост на 100% за шаг и время удвоения ровно в один шаг.
Экспоненциальные приближения для небольших наборов данных
Каждая строка содержит один набор данных, введённый в калькулятор выше. Все значения округлены до четырёх знаков после запятой.
Значения x
Значения y
Кривая регрессии
Изменение за шаг
r² для ln y
0, 1, 2, 3, 4
3, 6, 12, 24, 48
y ≈ 3 · 2ˣ
+100%
1
0, 1, 2, 3, 4, 5
100, 82, 67, 55, 45, 37
y ≈ 99.9517 · 0.8195ˣ
-18.05%
1.0000
1, 2, 3, 4, 5
2.1, 4.3, 8.9, 17.5, 36
y ≈ 1.0413 · 2.0313ˣ
+103.13%
0.9999
0, 1, 2, 3, 4
1000, 1050, 1102.5, 1157.625, 1215.50625
y ≈ 1000 · 1.05ˣ
+5%
1
0, 1, 2, 3, 4
5, 4, 3, 2, 1
y ≈ 5.6968 · 0.6762ˣ
-32.38%
0.9473
Разобранные примеры
Удвоение на каждом шаге
plain
x: 0, 1, 2, 3, 4; y: 3, 6, 12, 24, 48
Каждое y вдвое больше предыдущего, поэтому точки лежат ровно на y = 3·2ˣ, и калькулятор возвращает a ≈ 3 и b ≈ 2, рост на 100% за шаг, при r² = 1. По основанию e та же кривая записывается как y ≈ 3e^(0,6931x), и 0,6931 равно ln 2. Если продолжить до x = 6, она предсказывает 3·2⁶ = 192.
Убывание: остывающая чашка кофе
plain
x: 0, 1, 2, 3, 4, 5; y: 100, 82, 67, 55, 45, 37
Считайте y разницей температур с комнатой, измеренной каждые пять минут. Приближение y ≈ 99,9517 · 0,8195ˣ, или y ≈ 99,9517e^(-0,1991x): за каждый шаг исчезает около 18,05% разницы, а период полураспада равен ln 2 / 0,1991, около 3,48 шага. Логарифмическое приближение почти идеально: r² равен 0,99999 с точностью до пяти знаков, и калькулятор округляет его до 1.
Рост с шумом
plain
x: 1, 2, 3, 4, 5; y: 2.1, 4.3, 8.9, 17.5, 36
Значения примерно удваиваются на каждом шаге, но не ровно. Приближение y ≈ 1,0413 · 2,0313ˣ, рост около 103,13% за шаг, при r² ≈ 0,9999 в логарифмическом масштабе. По основанию e k ≈ 0,7087, поэтому время удвоения равно ln 2 / 0,7087, около 0,98 шага.
Остаток 1000 под 5% годовых. Калькулятор восстанавливает y ≈ 1000 · 1,05ˣ, изменение +5% за шаг, при r² = 1. Узнать процентную ставку по списку остатков на счёте как раз и есть задача этого приближения.
Когда данные не экспоненциальные
plain
x: 0, 1, 2, 3, 4; y: 5, 4, 3, 2, 1
Эти точки убывают на одну и ту же величину за шаг, поэтому лежат на прямой y = -x + 5. Экспоненциальное приближение всё равно возвращает y ≈ 5,6968 · 0,6762ˣ при r² ≈ 0,9473 в логарифмическом масштабе, что выглядит прилично. Нарисуйте кривую рядом с точками, и она промахнётся на обоих концах: правильная модель здесь прямая, и линейная регрессия находит её точно.
Частые ошибки
Оставлять y, равное 0 или меньше. Там логарифм не определён, поэтому метод не сработает. Если данные действительно доходят до 0, они не экспоненциальные.
Читать b как процент. b = 1,05 означает рост на 5% за шаг, а b = 0,82 означает убывание на 18% за шаг, а не на 82%.
Путать a с первым значением y. a равно значению кривой при x = 0; оно совпадает с первой точкой данных, только если приближение точное и данные начинаются с x = 0.
Брать десятичный логарифм на одном шаге и основание e на другом. Подходит любое основание, если одно и то же основание используется и для логарифмирования, и для обратного перехода.
Считать r² в логарифмическом масштабе доказательством экспоненциального роста. Линейные данные могут набрать больше 0,9; нарисуйте кривую рядом с точками.
Экстраполировать далеко вперёд. Экспоненциальный рост рано или поздно упирается в предел, а построенная кривая не может знать, когда.
Вопросы об экспоненциальной регрессии
Как выполнить экспоненциальную регрессию вручную?
Возьмите натуральный логарифм каждого y, постройте обычную прямую наименьших квадратов по точкам (x, ln y), затем уберите логарифмы: b равно e в степени углового коэффициента, a равно e в степени свободного члена. Для y = 3, 6, 12, 24, 48 при x = 0 до 4 у прямой угловой коэффициент 0,6931 и свободный член 1,0986, что даёт b = 2 и a = 3, то есть y = 3·2ˣ.
Что означают a и b в y = a·bˣ?
a равно значению y при x = 0, а b означает множитель, на который умножается y при увеличении x на 1. b больше 1 означает рост, b между 0 и 1 означает убывание. Темп за шаг равен (b минус 1) в процентах: b = 1,05 даёт +5%, b = 0,8195 даёт около -18,05%.
Как найти темп роста по данным?
Постройте кривую и прочитайте b. Калькулятор печатает изменение за шаг x в процентах: +103,13% для примера с шумным удвоением на этой странице, -18,05% для остывающего кофе. Если x измеряется в годах, это годовой темп.
Чем y = a·bˣ отличается от y = a·eᵏˣ?
Только записью. Это одна и та же кривая с k = ln b, так что b = eᵏ. Запись по основанию e распространена в естественных науках, потому что k означает непрерывный темп, а ln 2 / |k| сразу даёт время удвоения или период полураспада.
Почему калькулятор даёт десятичные дроби, а не обыкновенные?
Потому что метод берёт логарифмы, а логарифм целого числа почти всегда иррационален. Калькуляторы линейной и квадратичной регрессии в этом наборе дают точные дроби; этот даёт значения, округлённые до четырёх знаков, и помечает их как приближённые.
Почему мой ответ немного отличается от Excel или графического калькулятора?
Он должен совпадать с ExpReg на TI-84 и с экспоненциальной линией тренда в Excel с точностью до округления: обе подбирают ln y методом наименьших квадратов. Программы, которые подбирают сам y нелинейным методом наименьших квадратов, минимизируют другую величину и дают немного другие a и b, потому что сильнее всего учитывают промахи при самых больших значениях.
Может ли y быть отрицательным или нулём в экспоненциальной регрессии?
Нет. Метод берёт логарифм каждого y, а ln 0 и логарифма отрицательного числа не существует. Кривая y = a·bˣ с положительным a и так всегда выше 0, поэтому данные, доходящие до 0, ей не следуют.