Аппроксимация
Аппроксимация функций
Аппроксимация — это процесс замены функции \(f(x)\) другой функцией \(F(x)\) из более простого или удобного класса, такой, чтобы ошибка между ними была минимальной по какому-либо критерию.
Главная цель: упростить вычисления, предсказать значения, когда исходная функция сложная или неизвестна.
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 \]
-
Полиномиальная аппроксимация
Функция аппроксимируется полиномом степени \(n\):\[ F(x) = a_0 + a_1 x + a_2 x^2 + \dots + a_n x^n \]Коэффициенты \(a_i\) выбираются по МНК или другим критериям.
-
Аппроксимация рациональными функциями
Используются дробно-рациональные функции:\[ F(x) = \frac{P_m(x)}{Q_n(x)} \]где \(P_m\) и \(Q_n\) — полиномы степени \(m\) и \(n\).
Подходит, когда функция имеет асимптоты или быстро меняется. -
Аппроксимация кусочно-функциями (сплайны)
Функция заменяется кусочными полиномами, обычно степени 3 (кубические сплайны).
Гладкость достигается через совпадение значений и производных на стыках интервалов.
2. Критерии качества аппроксимации
-
Наименьшая абсолютная ошибка
\[ E_\infty = \max_i |f(x_i) - F(x_i)| \] -
Наименьшая среднеквадратичная ошибка (МНК)
\[ E_2 = \sqrt{\frac{1}{N} \sum_i (f(x_i) - F(x_i))^2} \] -
Относительная ошибка
\[ \delta_i = \frac{|f(x_i) - F(x_i)|}{|f(x_i)|} \]
3. Линейная аппроксимация по МНК
Для \(y_i = f(x_i)\) и линейной функции \(F(x) = a x + b\):
-
Сумма квадратов ошибок:
\[ S(a, b) = \sum_{i=1}^{N} (y_i - a x_i - b)^2 \] -
Уравнения нормалей (находим минимум):
\[ \frac{\partial S}{\partial a} = 0, \quad \frac{\partial S}{\partial b} = 0 \] -
Решение:
\[ 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\):
Сумма квадратов отклонений:
Уравнения для коэффициентов (уравнения нормалей):
Решение даёт коэффициенты \(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. Физический и практический смысл
- Аппроксимация нужна, когда исходная функция сложная или неизвестна.
- Позволяет предсказывать значения, вычислять производные, интегралы, использовать для численных методов.
- Применяется в инженерии, экономике, науке: моделирование данных, расчет траекторий, анализ экспериментов.