Функции > Анализ данных > Аппроксимация кривой > Пример. Нелинейная регрессия 2
  
Пример. Нелинейная регрессия 2
Используйте функцию LeastSquaresFit для расчета нелинейной регрессии. Решатель LeastSquaresFit обладает наибольшей гибкостью при решении нелинейных задач регрессии. Он позволяет задавать уравнения ограничений для любых зависимых параметров, нижние и верхние границы параметров, среднеквадратические отклонения значений X, а также предел доверительного интервала для расчета.
LeastSquaresFit
1. Задайте набор данных.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Данные берутся из примера, который обсуждался на веб-сайте NIST. Данные были сгенерированы с точностью до 14-го знака с помощью следующего уравнения:
Нажать для копирования этого выражения
2. Задайте аппроксимирующую функцию.
Нажать для копирования этого выражения
Отдельные параметры выше представляют элементы вектора β. Входную функцию также можно задать, используя имена отдельных переменных вместо элементов вектора:
Нажать для копирования этого выражения
3. Задайте начальное приближение.
Нажать для копирования этого выражения
4. Задайте предел доверительного интервала для параметров.
Нажать для копирования этого выражения
5. Вызовите функцию LeastSquaresFit.
Нажать для копирования этого выражения
В решателе для решения задачи метода наименьших квадратов используется последовательное квадратичное программирование (SQP). Введение дополнительных переменных позволяет преобразовать исходную задачу в общую задачу нелинейного программирования с ограничениями в виде равенств, которая обычно решается быстрее и устойчивее по сравнению с другими методами.
6. Просмотрите выходной вектор, возвращенный функцией LeastSquaresFit.
Нажать для копирования этого выражения
Первый столбец вывода содержит значения параметров аппроксимации. Второй столбец содержит левую границу, а третий столбец — правую границу доверительного интервала для параметров.
95 % границ доверительного интервала для параметров охватывают достаточно большой диапазон, а это указывает на то, что выполнить аппроксимацию трудно, и параметры могут меняться в широких пределах. Как следствие, значения параметров аппроксимации отличаются от правильных значений, приведенных на веб-сайте NIST:
Нажать для копирования этого выраженияНажать для копирования этого выражения
7. Постройте график данных, аппроксимацию по методу наименьших квадратов и аппроксимацию NIST.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
8. Сравните аппроксимацию по методу наименьших квадратов с исходными данными.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Аппроксимация приближается к сходимости, однако ее можно улучшить путем корректировки допуска сходимости. Это можно сделать с помощью одного из необязательных аргументов функции LeastSquaresFit.
Ограничения, среднеквадратическое отклонение и допуск
Для LeastSquaresFit имеется ряд необязательных аргументов:
вектор среднеквадратического отклонения;
матрица верхних и нижних границ;
точность.
Необязательные аргументы можно использовать по отдельности, однако если введено несколько аргументов, имеет значение порядок их ввода.
1. Измените одно из значений данных для моделирования ошибки измерения.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
2. Задайте нижнюю и верхнюю границы для ограничения подобранных значений.
Нажать для копирования этого выражения
Заданные границы находятся за пределами диапазона ожидаемых значений параметров, поскольку в данном случае конкретные границы не известны.
3. Задайте вектор среднеквадратических отклонений для каждого значения y, чтобы скрыть отклонения.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Большое значение 108 среднеквадратического отклонения надежно удаляет ошибку измерения из расчета.
Если вектор среднеквадратического отклонения вводится в виде аргумента функции LeastSquaresFit, решатель минимизирует следующую функцию:
Нажать для копирования этого выражения
Если среднеквадратическое отклонение для точки равно 0, для этой точки используется исходная функция, т. е. StdYi равно 1.
4. Задайте точность для использования более строгого допуска сходимости расчета (значение по умолчанию 10-7).
Нажать для копирования этого выражения
5. Вызовите функцию LeastSquaresFit с использованием и без использования среднеквадратического отклонения.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Происходит сбой немаскированного расчета, поскольку границы доверительного интервала слишком большие.
Новые значения параметров оказываются ближе к значениям NIST:
Нажать для копирования этого выражения
Нажать для копирования этого выражения
6. Постройте график данных с отклонением и замаскированной подгонкой.
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Нажать для копирования этого выражения
Справочная информация
Данные для этого примера взяты из книги C. Lanczos, Applied Analysis (Прикладной анализ), Prentice Hall, 1956, стр. 272–280, в том виде, в каком они содержатся в архиве наборов статистических справочных данных NIST