Интерполяция и аппроксимация: точно через точки или рядом с ними
Коротко: Данные точные, таблица конечная — интерполируйте: Лагранж и сплайны проходят через каждый узел. Данные зашумлены — приближайте: МНК гасит погрешность в сумме квадратов. Полиномиальную интерполяцию на многих равномерных узлах не применяйте вовсе — феномен Рунге; либо сгущённые к краям узлы и сплайны, либо простая модель. За границу данных не выходите дальше одного шага сетки.
Лабораторная по теплофизике: двенадцать точек с термопары, разброс ±0,3 градуса при перепаде в десять. Сосед прогнал через данные полином одиннадцатой степени: кривая проходит идеально через каждую точку — и дрожит между ними, как пила. Ваш вариант — прямая методом наименьших квадратов: сквозь точки не идёт, зато лежит ровно. Кто прав? Оба: «пройти точно через точки» и «лечь близко в среднем» — два разных контракта с данными, и выбор контракта определяет результат сильнее, чем выбор программы.
Сравним контракты по-честному: единственность полинома Лагранжа, нормальные уравнения МНК на числовом примере, феномен Рунге и правило выбора под тип данных. Техника интерполяции — в уроке интерполяция функций, техника приближения — в уроке метод наименьших квадратов; словарь — термины интерполяционный полином и метод наименьших квадратов.
| Критерий | Интерполяция | Аппроксимация |
|---|---|---|
| Контракт с данными | кривая обязана пройти через каждый узел точно | кривая проходит рядом, отклонения допустимы |
| Что минимизируется | ничего: совпадение в узлах — жёсткое требование | сумма квадратов отклонений Σ(yᵢ − f(xᵢ))² → min |
| Число точек | n + 1 узел задаёт полином степени ≤ n, причём один | точек сколько угодно, модель нарочно простая |
| Отношение к шуму | шум воспроизводится как собственный сигнал | шум усредняется и гасится |
| Типичные данные | точные таблицы, справочники, калибровки | зашумлённый эксперимент, ряды наблюдений |
| Классика | Лагранж, Ньютон, сплайны | МНК, регрессия |
Что значит «точно через точки»: полином Лагранжа?#
Контракт строгий: через n + 1 точку с различными абсциссами проходит ровно один полином степени не выше n. Единственность видна за одну строку: разность двух таких полиномов имеет n + 1 корень при степени не выше n — значит, это тождественный нуль. Формула Лагранжа собирает полином из базисных слагаемых, каждое из которых равно единице в «своём» узле и нулю во всех остальных:
Мини-пример: точки (0; 1), (1; 3), (2; 7). Три базисных слагаемых собираются в . Проверка в узлах: L(0) = 1, L(1) = 3, L(2) = 7 — контракт выполнен точно; промежуточное значение L(1,5) = 4,75. Тот же полином выходит из системы трёх линейных уравнений на коэффициенты — механика решения описана в уроке СЛАУ методом Гаусса.
Одна оговорка. С ростом числа узлов растёт и степень, а полином высоких степеней ведёт себя так, как его не просили: между узлами появляются волны, у краёв — обрывы. Интерполяция честна ровно настолько, насколько точны данные, — и ровно до того места, где начинается эффект Рунге.
Что значит «близко в среднем»: метод наименьших квадратов?#
Контракт другой: кривая не обязана попадать в точки, она обязана минимизировать суммарный квадрат промаха. Для прямой ищутся коэффициенты и , доставляющие минимум функции:
Приравниваем частные производные S по a и b к нулю — и получаем нормальные уравнения, систему из двух линейных уравнений:
- Шаг 1: собираем суммы — n = 4, Σxᵢ = 10, Σyᵢ = 24,0, Σxᵢ² = 30, Σxᵢyᵢ = 69,7.
- Шаг 2: выписываем нормальные уравнения: 4b + 10a = 24,0 и 10b + 30a = 69,7.
- Шаг 3: решаем — определитель 4·30 − 10·10 = 20, отсюда a = (4·69,7 − 10·24,0)/20 = 1,94 и b = (24,0 − 10·1,94)/4 = 1,15.
- Шаг 4: прямая y = 1,94x + 1,15. Прогнозы в узлах: 3,09; 5,03; 6,97; 8,91 — остатки +0,01; −0,13; +0,23; −0,11.
- Шаг 5: контроль — сумма остатков нулевая (общее свойство МНК), сумма их квадратов 0,082: вот цена компромисса за отказ от точного прохождения.
Почему именно квадраты, а не модули? Первый аргумент технический: квадрат дифференцируем всюду, и минимизация сводится к линейной системе; у модуля в нуле излом. Второй — статистический: если ошибки измерения нормальны, МНК-оценка совпадает с оценкой максимального правдоподобия. Мост к этому языку строится в уроке корреляция и регрессия.
Почему полиномиальная интерполяция ломается на многих точках?#
Классический подопытный — функция Рунге на отрезке , одиннадцать равноотстоящих узлов (n = 10). В узлах полином безупречен. Между ними — драма: у краёв, около , интерполянт взлетает до 5,79, тогда как сама функция заперта в полосе от 0,0016 до 1:
Хуже того: с ростом числа равномерных узлов ошибка не тает, а растёт — при n → ∞ интерполяция расходится. Лечение известно: узлы Чебышёва, сгущённые к краям, уже при n = 10 сбрасывают максимальную ошибку более чем в восемь раз; кусочные кубические сплайны держат невысокую степень локально и волн не порождают; а если данных много и они шумные — пора уходить в аппроксимацию. Механика эффекта — в уроке интерполяция функций.
Когда нужна интерполяция, а когда аппроксимация?#
Интерполяция — для точных таблиц. Справочники теплофизических свойств, калибровочные кривые приборов, табличные значения функций: там, где погрешность узлов пренебрежимо мала против интересующего масштаба, честно пройти через все точки — правильная стратегия. На интерполяции стоят и квадратуры: численное интегрирование — это интеграл от интерполяционного полинома, трапеции и Симпсон — его частные случаи. Подробности — в уроке численное интегрирование.
Аппроксимация — для зашумлённого эксперимента. Когда разброс точек сопоставим с искомым эффектом, воспроизводить шум кривой — работа против результата. Простая модель, пропущенная через облако точек, усредняет погрешность и вытаскивает тренд, а заодно остаётся предсказуемой за пределами узлов. Как ошибка измерений перетекает в ошибку результата — в уроке источники погрешностей.
Рабочее правило: данные точнее, чем нужная вам гладкость, — интерполируйте; данные шумнее эффекта — приближайте. Между полюсами лежит серая зона — сглаживающие сплайны и регуляризация, где требование «точно через точки» ослаблено штрафом за извилистость кривой.
Чем опасна экстраполяция — «интерполяция за забором»?#
Оба метода управляются данными только внутри их области; за её пределами начинается вера. Полином Лагранжа не знает, что живёт за последним узлом: скромный по трём точкам с отрезка [0; 2] уверенно сообщает, что при x = 10 будет 111, — данных, подтверждающих это, не было. У краёв отрезка ошибки растут быстрее всего: феномен Рунге именно там и обитает.
МНК-прямая экстраполируется линейно и потому хотя бы предсказуема: за границей облака точек она продолжит тренд. Но и это предположение, а не вывод — за забором реальный процесс может перегнуться. Практическое правило: выходить не дальше одного шага сетки, дальше — только с внешней моделью процесса. Осторожность добавляет и коэффициент корреляции: тесная связь внутри диапазона ничего не обещает за его пределами.
Что учить сначала и где тренироваться?#
Порядок диктуется сложностью счёта: сначала интерполяция на трёх точках — там виден весь механизм базиса, затем общая формула Лагранжа и сплайны, затем МНК, который опирается на частные производные и решение систем.
- Шаг 1: три точки (0; 1), (1; 3), (2; 7) — постройте полином Лагранжа в базисной форме и проверьте в узлах. Должно выйти x² + x + 1.
- Шаг 2: те же три точки отдайте МНК-прямой: нормальные уравнения дают y = 3x + 2/3 с суммой квадратов остатков 2/3 — сравните цену двух контрактов.
- Шаг 3: добавьте четвёртую точку с шумом: Лагранж подскочит до кубика и дрогнет между узлами, прямая лишь чуть сдвинется.
- Шаг 4: соберите Рунге — 11 равномерных узлов функции f(x) = 1/(1+25x²), полином 10-й степени: увидите краевые всплески до 5,79. Пересадите узлы на Чебышёва — всплески исчезнут.
- Шаг 5: финальный тест — ответьте на два вопроса: какой метод для точной таблицы из справочника и какой для шума с датчика, и объясните почему.
Двенадцать точек с термопары: погрешность измерения ±0,3 градуса, перепад температуры — 10 градусов. Какую модель выбрать?
МНК-прямая по точкам (1; 3,1), (2; 4,9), (3; 7,2), (4; 8,8) — какая?
Частые вопросы
Чем аппроксимация отличается от разложения в ряд Тейлора?
Разные источники информации. Ряд Тейлора строится по производным функции в одной точке и точно воспроизводит гладкую функцию в её окрестности — данные не нужны, нужна формула. Аппроксимация строится по измерениям в разных точках, когда формулы нет вовсе. Общая черта одна: обе заменяют сложную зависимость простой — полиномом или прямой.
Можно ли интерполировать не полиномом?
Да, и часто это разумнее. Кусочно-линейная интерполяция соединяет узлы отрезками — просто и без всплесков. Кубические сплайны склеивают многочлены третьей степени с гладкостью второго порядка: кривая выходит мягкой, а ошибка не растёт с числом узлов, в отличие от глобального полинома. Для периодических данных берут тригонометрическую интерполяцию на основе рядов Фурье.
Почему в МНК минимизируют квадраты отклонений, а не модули?
Три причины. Квадрат дифференцируем всюду — минимум находится из линейной системы, а модуль даёт негладкую задачу. Для нормального шума МНК-оценка совпадает с максимально правдоподобной. Наконец, квадраты штрафуют крупные промахи сильнее мелких — удобно, когда большие ошибки редки и аномальны. Если же выбросы часты, берут робастные варианты, например минимизацию суммы модулей.
Полином Лагранжа единственный или можно построить несколько?
Единственный при фиксированных узлах: два различных полинома степени не выше n, совпадающих в n + 1 точке, различались бы многочленом с n + 1 корнями, что невозможно. Разными бывают лишь формы записи — базис Лагранжа, схема Ньютона с разделёнными разностями, решение СЛАУ методом Гаусса, — но после раскрытия скобок получается один и тот же многочлен.
Следующий шаг: возьмите четыре любые точки — из лабораторного журнала, курса валют, времени сборки кубика — и прогоните обе технологии: полином Лагранжа и прямую по нормальным уравнениям. Сравните поведение между узлами и за границей данных. Теория — в уроках интерполяция функций и метод наименьших квадратов, практика — в тренажёре численных методов и задачах на СЛАУ; цену точного решения против факторизации взвешивает сравнение Гаусс или LU-разложение.