Аппроксимация функции одной переменной

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

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

Если не ввести значения x, калькулятор примет, что значение x меняется от 0 с шагом 1.

PLANETCALC, Аппроксимация функции одной переменной

Аппроксимация функции одной переменной

Знаков после запятой: 4
Линейная регрессия
 
Коэффициент линейной парной корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Квадратичная регрессия
 
Коэффициент корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Кубическая регрессия
 
Коэффициент корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Степенная регрессия
 
Коэффициент корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Показательная регрессия
 
Коэффициент корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Логарифмическая регрессия
 
Коэффициент корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Гиперболическая регрессия
 
Коэффициент корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Экспоненциальная регрессия
 
Коэффициент корреляции
 
Коэффициент детерминации
 
Средняя ошибка аппроксимации, %
 
Результат
Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Линейная регрессия

Уравнение регрессии:
\widehat{y}=ax+b

Коэффициент a:
a&=\frac{\sum x_i \sum y_i- n\sum x_iy_i}{\left(\sum x_i\right)^2-n\sum x_i^2}

Коэффициент b:
b&=\frac{\sum x_i \sum x_iy_i-\sum x_i^2\sum y_i}{\left(\sum x_i\right)^2-n\sum x_i^2}

Коэффициент линейной парной корреляции:
r_{xy}&=\frac{n\sum x_iy_i-\sum x_i\sum y_i}{\sqrt{\left(n\sum x_i^2-\left(\sum x_i\right)^2\right)\!\!\left(n\sum y_i^2-\left(\sum y_i\right)^2 \right)}}

Коэффициент детерминации:
R^2=r_{xy}^2

Средняя ошибка аппроксимации:
\overline{A}=\dfrac{1}{n}\sum\left|\dfrac{y_i-\widehat{y}_i}{y_i}\right|\cdot100\%

Квадратичная регрессия

Уравнение регрессии:
\widehat{y}=ax^2+bx+c

Система уравнений для нахождения коэффициентов a, b и c:
\begin{cases}a\sum x_i^2+b\sum x_i+nc=\sum y_i\,,\\[2pt] a\sum x_i^3+b\sum x_i^2+c\sum x_i=\sum x_iy_i\,,\\[2pt] a\sum x_i^4+b\sum x_i^3+c\sum x_i^2=\sum x_i^2y_i\,;\end{cases}

Коэффициент корреляции:
R= \sqrt{1-\frac{\sum(y_i-\widehat{y}_i)^2}{\sum(y_i-\overline{y})^2}},
где
\overline{y}= \dfrac{1}{n}\sum y_i

Коэффициент детерминации:
R^2

Средняя ошибка аппроксимации:
\overline{A}=\dfrac{1}{n}\sum\left|\dfrac{y_i-\widehat{y}_i}{y_i}\right|\cdot100\%

Кубическая регрессия

Уравнение регрессии:
\widehat{y}=ax^3+bx^2+cx+d

Система уравнений для нахождения коэффициентов a, b, c и d:
\begin{cases}a\sum x_i^3+b\sum x_i^2+c\sum x_i+nd=\sum y_i\,,\\[2pt] a\sum x_i^4+b\sum x_i^3+c\sum x_i^2+d\sum x_i=\sum x_iy_i\,,\\[2pt] a\sum x_i^5+b\sum x_i^4+c\sum x_i^3+d\sum x_i^2=\sum x_i^2y_i\,,\\[2pt] a\sum x_i^6+b\sum x_i^5+c\sum x_i^4+d\sum x_i^3=\sum x_i^3y_i\,;\end{cases}

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

Степенная регрессия

Уравнение регрессии:
\widehat{y}=a\cdot x^b

Коэффициент b:
b=\dfrac{n\sum(\ln x_i\cdot\ln y_i)-\sum\ln x_i\cdot\sum\ln y_i }{n\sum\ln^2x_i-\left(\sum\ln x_i\right)^2 }

Коэффициент a:
a=\exp\!\left(\dfrac{1}{n}\sum\ln y_i-\dfrac{b}{n}\sum\ln x_i\right)

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

Показательная регрессия

Уравнение регрессии:
\widehat{y}=a\cdot b^x

Коэффициент b:
b=\exp\dfrac{n\sum x_i\ln y_i-\sum x_i\cdot\sum\ln y_i }{n\sum x_i^2-\left(\sum x_i\right)^2 }

Коэффициент a:
a=\exp\!\left(\dfrac{1}{n}\sum\ln y_i-\dfrac{\ln b}{n}\sum x_i\right)

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

Гиперболическая регрессия

Уравнение регрессии:
\widehat{y}=a + \frac{b}{x}

Коэффициент b:
b=\dfrac{n\sum\dfrac{y_i}{x_i}-\sum\dfrac{1}{x_i}\sum y_i }{n\sum\dfrac{1}{x_i^2}-\left(\sum\dfrac{1}{x_i}\right)^2 }

Коэффициент a:
a=\dfrac{1}{n}\sum y_i-\dfrac{b}{n}\sum\dfrac{1}{x_i}

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

Логарифмическая регрессия

Уравнение регрессии:
\widehat{y}=a + b\ln x

Коэффициент b:
b=\dfrac{n\sum(y_i\ln x_i)-\sum\ln x_i\cdot \sum y_i }{n\sum\ln^2x_i-\left(\sum\ln x_i\right)^2 }

Коэффициент a:
a=\dfrac{1}{n}\sum y_i-\dfrac{b}{n}\sum\ln x_i

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

Экспоненциальная регрессия

Уравнение регрессии:
\widehat{y}=e^{a+bx}

Коэффициент b:
b=\dfrac{n\sum x_i\ln y_i-\sum x_i\cdot\sum\ln y_i }{n\sum x_i^2-\left(\sum x_i\right)^2 }

Коэффициент a:
a=\dfrac{1}{n}\sum\ln y_i-\dfrac{b}{n}\sum x_i

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

Вывод формул

Сначала сформулируем задачу:
Пусть у нас есть неизвестная функция y=f(x), заданная табличными значениями (например, полученными в результате опытных измерений).
Нам необходимо найти функцию заданного вида (линейную, квадратичную и т. п.) y=F(x), которая в соответствующих точках принимает значения, как можно более близкие к табличным.
На практике вид функции чаще всего определяют путем сравнения расположения точек с графиками известных функций.

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

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

Таким образом, нам требуется найти функцию F, такую, чтобы сумма квадратов S была наименьшей:
S=\sum\limits_i(y_i-F(x_i))^2\rightarrow min

Рассмотрим решение этой задачи на примере получения линейной регрессии F=ax+b.
S является функцией двух переменных, a и b. Чтобы найти ее минимум, используем условие экстремума, а именно, равенства нулю частных производных.

Используя формулу производной сложной функции, получим следующую систему уравнений:
\begin{cases} \sum [y_i - F(x_i, a, b)]\cdot F^\prime_a(x_i, a, b)=0 \\ \sum [y_i - F(x_i, a, b)]\cdot F^\prime_b(x_i, a, b)=0 \end{cases}

Для функции вида F(x,a,b)=ax+b частные производные равны:
F^\prime_a=x,
F^\prime_b=1

Подставив производные, получим:
\begin{cases} \sum (y_i - ax_i-b)\cdot x_i=0 \\ \sum (y_i - ax_i-b)=0 \end{cases}

Далее:
\begin{cases} \sum y_ix_i - a \sum x_i^2-b\sum x_i=0 \\ \sum y_i - a\sum x_i - nb=0 \end{cases}

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

Ссылка скопирована в буфер обмена
PLANETCALC, Аппроксимация функции одной переменной

Комментарии