Перейти к содержимому

Калькулятор подгонки кривых

Вставьте значения x и y и подгоните линейную, полиномиальную (степени 2–6), экспоненциальную, логарифмическую и степенную кривые сразу. Вы получите каждое уравнение с R², скорректированным R², RMSE, AIC и AICc рядом, график со всеми кривыми, диагностику остатков, стандартные ошибки параметров и прогнозы для новых значений x. Бесплатно, без регистрации; всё работает в вашем браузере.

Ввод данных

0 значений

0 значений

Модели для подгонки
Экспоненциальная и степенная подгонки

Введите не меньше четырёх пар (x, y), среди которых есть не меньше трёх разных значений x.

Как пользоваться калькулятором подгонки кривых

  1. 1. Введите данные. Введите два списка в одинаковом порядке или по одной паре «x, y» в строке. Нужны четыре и более точки, среди которых есть не меньше трёх разных значений x; чем больше, тем лучше.
  2. 2. Выберите модели. Отметьте кривые для сравнения. Логарифмическая и степенная модели требуют, чтобы все x были больше 0; экспоненциальная и степенная — чтобы все y были больше 0. Модель, которую нельзя подогнать, сообщит причину.
  3. 3. Выберите метод подгонки для экспоненциальной и степенной кривых. Нелинейный метод наименьших квадратов по исходному y даёт лучшее соответствие вашим фактическим значениям. Преобразованный вариант проводит прямую через ln y, как это делают линии тренда в таблицах.
  4. 4. Сравните и проверьте. Прочитайте таблицу, затем график и остатки той модели, которую рассматриваете: лучшее число мало что значит, если форма кривой неверна. Используйте окно прогноза для новых значений x.

Кривые

МодельУравнениеТипичное применение
Линейнаяy = a₀ + a₁xРавномерное изменение
Полином степени dy = a₀ + a₁x + … + a_dx^dГладкая кривая с изгибами; не более d − 1 поворотных точек
Экспоненциальнаяy = a·e^(bx)Рост или убывание с постоянным процентом
Логарифмическаяy = a + b·ln xБыстрое изменение, которое затем выравнивается
Степеннаяy = a·x^bЗаконы масштабирования; b — эластичность

Каждый полином подгоняется разложением QR по центрированному и перемасштабированному x, поэтому подгонка полинома степени 6 по календарным годам (1990–2020) так же точна, как по диапазону от 0 до 1, а прогнозы используют эту устойчивую форму. Раскрытые коэффициенты в уравнении всё равно могут терять значащие цифры при большом x, далёком от нуля, и страница предупреждает об этом. Уравнения линий тренда в таблицах, которые округляют коэффициенты до нескольких знаков, по той же причине не воспроизводят полиномы высокой степени на значениях x в годах.

Почему метод важен для экспоненциальной и степенной подгонок

Преобразованная подгонка берёт ln y, находит прямую наименьших квадратов и переводит результат обратно. Это минимизирует ошибки на логарифмической шкале, которая сильно учитывает малые значения и слабо — большие. Нелинейная подгонка минимизирует квадраты ошибок в самом y, а обычно важно именно это. Для одних и тех же данных два метода дают разные параметры и разные значения R². Калькулятор сообщает R² по исходному y для каждой модели, поэтому их можно честно сравнивать, а для преобразованной подгонки — также R² на логарифмической шкале, который показала бы таблица.

Пример

В примере загружены классические 50 измерений тормозного пути автомобилей (набор cars из R): скорость в милях в час и тормозной путь в футах. Шесть моделей, подогнанных по исходной шкале:

МодельR²RMSEAICcΔ AICc
Степенная: y = 0,5897 x^1,54930,665415,06417,590
Экспоненциальная: y = 9,4045 e^(0,0917x)0,664915,07417,660,07
Квадратичная0,667315,18419,662,07
Линейная: y = −17,58 + 3,932x0,651115,38419,682,09
Кубическая0,673215,20421,253,66
Логарифмическая0,560717,26431,1913,61

R² растёт с каждым членом полинома — кубическая модель получает 0,6732, а полином степени 6 — 0,6888, — но AICc, который штрафует за каждый параметр, ставит на первое место степенную и экспоненциальную кривые с двумя параметрами. У степенной кривой есть и понятный смысл: тормозной путь растёт примерно как скорость в степени 1,5 (b = 1,55, SE 0,19) — между линейной и квадратичной зависимостями, которые предсказывает физика. Лучшие модели отличаются примерно на 2 пункта AICc, поэтому данные не могут их разделить; выбирайте ту, которая имеет смысл. Если подогнать степенную кривую преобразованным методом, R² на логарифмической шкале равен 0,7331, но R² по исходной шкале падает до 0,6583.

Разумный выбор модели

  • Начните с графика, затем смотрите остатки. Закономерность в остатках означает, что форма кривой выбрана неверно.
  • Сравнивайте модели с разным числом параметров по AICc, а не по R². AICc сопоставим только для моделей, подогнанных к одним и тем же значениям y. Разницы меньше примерно 2 не значимы.
  • Опирайтесь на теорию. Если вы знаете процесс (сложный рост, закон масштабирования), используйте соответствующую модель, даже если другая набирает немного больше.
  • Держите степень полинома низкой. Выше степени 3 или 4 полином обычно подгоняет шум и резко уходит за пределы данных. Не экстраполируйте с его помощью.

Часто задаваемые вопросы

Как выбрать лучшую кривую?
Постройте данные и каждую кривую, проверьте, что остатки равномерно рассеиваются вокруг нуля, и сравните AICc между моделями. R² сам по себе всегда отдаёт предпочтение модели с наибольшим числом параметров. Затем спросите себя, имеет ли победитель смысл для изучаемого процесса и будете ли вы использовать его только между наименьшим и наибольшим x.
Почему мой R² для экспоненты отличается от Excel?
Линия тренда Excel для экспоненты проводит прямую через ln y и сообщает R² для этой логарифмической подгонки. Нелинейная подгонка методом наименьших квадратов минимизирует ошибки в самом y, и её R² измеряется по y. Калькулятор умеет оба варианта: для преобразованного метода показывает R² на логарифмической шкале, а для всех моделей — R² по исходной шкале, чтобы сравнение было честным.
Какую степень полинома использовать?
Берите наименьшую степень, которая передаёт видимую форму, обычно 2 или 3. Каждая добавленная степень позволяет кривой изгибаться ещё раз и подгонять шум: R² растёт, но прогнозы ухудшаются. Нужно не меньше степени + 2 точек данных, а для надёжной подгонки — гораздо больше.
Почему я не могу подогнать логарифмическую, степенную или экспоненциальную модель к своим данным?
Логарифм определён только для положительных чисел. Логарифмическая и степенная модели требуют, чтобы все x были больше 0, а экспоненциальная и степенная — чтобы все y были больше 0, потому что подгонка идёт через ln y или ln x. Сдвигайте данные (например, отсчитывайте время от 1, а не от 0), только если это имеет смысл в вашей задаче.
Что означают AIC и AICc?
AIC уравновешивает точность и сложность: это −2·ln L плюс удвоенное число параметров (с учётом дисперсии ошибки). AICc добавляет поправку, которая важна, когда n мало по сравнению с числом параметров. Меньше — лучше, и важны только разницы. Значения здесь вычисляются по определению, которое использует R, поэтому совпадают с AIC в R для той же модели.
Можно ли использовать уравнение для прогноза за пределами данных?
Только с большой осторожностью. Каждая кривая здесь — эмпирическое описание измеренного диапазона. Полиномы могут резко уходить сразу за пределы данных, а экспонента может взлететь. Окно прогноза предупреждает, если новое x лежит вне наблюдаемого диапазона.

Похожие инструменты

Ещё в разделе «Статистические калькуляторы»