Аппроксимация

Аппроксимация — это процесс замены функции $f(x)$ другой функцией $F(x)$ из более простого или удобного класса, такой, чтобы ошибка между ними была минимальной по какому-либо критерию.
Главная цель: упростить вычисления, предсказать значения, когда исходная функция сложная или неизвестна.

1. Основные виды аппроксимации

  1. Линейная аппроксимация
    Функция заменяется линейной (прямая) функцией:
\[ F(x) = a x + b \]

Параметры $a$ и $b$ подбираются так, чтобы сумма квадратов отклонений была минимальна (метод наименьших квадратов, МНК):

\[ S(a, b) = \sum_i \big(f(x_i) - (a x_i + b)\big)^2 \to \min \]
Локальная линейная (касательная)
  1. Полиномиальная аппроксимация
    Функция аппроксимируется полиномом степени $n$:
\[ F(x) = a_0 + a_1 x + a_2 x^2 + \dots + a_n x^n \]

Коэффициенты $a_i$ выбираются по МНК или другим критериям.

Локальная полиномиальная (парабола)
Глобальная полиномиальная аппроксимация
  1. Аппроксимация рациональными функциями
    Используются дробно-рациональные функции:
\[ F(x) = \frac{P_m(x)}{Q_n(x)} \]

где $P_m$ и $Q_n$ — полиномы степени $m$ и $n$.
Подходит, когда функция имеет асимптоты или быстро меняется.

  1. Аппроксимация кусочно-функциями (сплайны)
    Функция заменяется кусочными полиномами, обычно степени 3 (кубические сплайны).
    Гладкость достигается через совпадение значений и производных на стыках интервалов.

2. Критерии качества аппроксимации

  1. Наименьшая абсолютная ошибка
\[ E_\infty = \max_i |f(x_i) - F(x_i)| \]
  1. Наименьшая среднеквадратичная ошибка (МНК)
\[ E_2 = \sqrt{\frac{1}{N} \sum_i (f(x_i) - F(x_i))^2} \]
  1. Относительная ошибка
\[ \delta_i = \frac{|f(x_i) - F(x_i)|}{|f(x_i)|} \]

3. Линейная аппроксимация по МНК

Для $y_i = f(x_i)$ и линейной функции $F(x) = a x + b$:

  1. Сумма квадратов ошибок:
\[ S(a, b) = \sum_{i=1}^{N} (y_i - a x_i - b)^2 \]
  1. Уравнения нормалей (находим минимум):
\[ \frac{\partial S}{\partial a} = 0, \quad \frac{\partial S}{\partial b} = 0 \]
  1. Решение:
\[ a = \frac{N \sum x_i y_i - \sum x_i \sum y_i}{N \sum x_i^2 - (\sum x_i)^2}, \quad b = \frac{\sum y_i - a \sum x_i}{N} \]

4. Полиномиальная аппроксимация по МНК

Для полинома степени $n$:

\[ F(x) = a_0 + a_1 x + a_2 x^2 + \dots + a_n x^n \]

Сумма квадратов отклонений:

\[ S(a_0, a_1, ..., a_n) = \sum_{i=1}^{N} \big(f(x_i) - F(x_i)\big)^2 \]

Уравнения для коэффициентов (уравнения нормалей):

\[ \frac{\partial S}{\partial a_j} = 0, \quad j=0,1,\dots,n \]

Решение даёт коэффициенты $a_j$, минимизирующие суммарную ошибку.

5. Аппроксимация рациональными функциями

Функция $F(x) = P_m(x)/Q_n(x)$.

  • $P_m$ и $Q_n$ — полиномы степени $m$ и $n$.
  • Подбираются коэффициенты так, чтобы ошибка $ f(x) - F(x) $ была минимальна.
  • Используется, если функция имеет особенности, которые полином не может описать хорошо (асимптоты, резкие изменения).

6. Сплайны (кубическая аппроксимация)

  • Функция делится на $N-1$ интервалов $[x_i, x_{i+1}]$.
  • На каждом интервале строится кубический полином:
\[ S_i(x) = a_i + b_i(x-x_i) + c_i(x-x_i)^2 + d_i(x-x_i)^3 \]
  • Стыки интервалов обеспечивают непрерывность функции и её первых двух производных:
\[ S_i(x_{i+1}) = S_{i+1}(x_{i+1}), \quad S_i'(x_{i+1}) = S_{i+1}'(x_{i+1}), \quad S_i''(x_{i+1}) = S_{i+1}''(x_{i+1}) \]

7. Выбор метода аппроксимации

Метод Преимущества Ограничения
Линейная Простота, аналитическое решение Только для почти линейных данных
Полиномиальная Легко увеличивать точность Высокая степень → осцилляции (эффект Рунге)
Рациональная Хорошо аппроксимирует функции с асимптотами Сложнее решать систему для коэффициентов
Сплайны Гладкая функция, хорошая локальная аппроксимация Нужно строить несколько полиномов, система уравнений больше

8. Основные ошибки

  • Переподгонка (overfitting): высокая степень полинома точно проходит через точки, но плохо предсказывает новые значения.
  • Недоподгонка (underfitting): слишком простая модель, большая ошибка на исходных точках.
  • Локальные колебания: полином высокой степени может сильно колебаться между точками (эффект Рунге).

9. Физический и практический смысл

  • Аппроксимация нужна, когда исходная функция сложная или неизвестна.
  • Позволяет предсказывать значения, вычислять производные, интегралы, использовать для численных методов.
  • Применяется в инженерии, экономике, науке: моделирование данных, расчет траекторий, анализ экспериментов.