Лекция 8. Нелинейная регрессия Краткое содержание 1.Нелинейная регрессия: постановка задачи 2.Методы Ньютона, Гаусса-Ньютона, Левенберга-Марквардта 3.Функции.

Презентация:



Advertisements
Похожие презентации
Занятие 7. Многомерная линейная регрессия Краткое содержание 1.Оценка параметров регрессии 2.Теорема Гаусса-Маркова 3.Расчёт доверительных интервалов 4.Линеаризация.
Advertisements

Метод Ньютона (метод касательных)
Обратные задачи: теория и практика Лекция 4. Задача минимизации при нелинейной регрессии. Новосибирский Государственный Университет Физический факультет.
Численные методы (язык Паскаль) © К.Ю. Поляков, Решение уравненийРешение уравнений 2.Вычисление площади (интеграла)Вычисление площади (интеграла)
Урок информатики 9 физико-математический класс.
Подпрограммы в Паскале.
Обзор алгоритмов оптимизации Аспирант 1 г/о Максимов Алексей.
Алгоритмические конструкции. Решить задачу при х=16, у=2.
Способы решения уравнений с помощью компьютера
Стандартные математические функции Паскаля. Обращение Тип аргумента Тип результата Функция Abs(x)I,R Модуль аргумента Arctan(x)I,RRАрктангенс (радианы)
ДИНАМИКА ТОЧКИ ЛЕКЦИЯ 2: ИНТЕГРИРОВАНИЕ ОДНОМЕРНОГО УРАВНЕНИЯ ДВИЖЕНИЯ ТОЧКИ.
Кафедра математики и моделирования Старший преподаватель Е.Г. Гусев Курс «Высшая математика» Лекция 8. Тема: Ряды Тейлора (Маклорена). Цель: Рассмотреть.
Подпрограмма – это самостоятельная часть программы, реализующая определенный алгоритм.
Функции в Паскале Подпрограммы в Паскале. Подпрограмма - автономная часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
Коэффициент эластичности показывает, на сколько процентов в среднем по совокупности изменится результат у от своей средней величины при изменении фактора.
Задача нелинейного программирования. Безусловная оптимизация.
Численные методы линейной алгебры. Методы решений нелинейных уравнений и систем. Лекция 3:
Язык программирования высокого уровня TURBO PASCAL.
Приближенное решение систем нелинейных уравнений Методами Ньютона и Итераций.
Транксрипт:

Лекция 8. Нелинейная регрессия Краткое содержание 1. Нелинейная регрессия: постановка задачи 2. Методы Ньютона, Гаусса-Ньютона, Левенберга-Марквардта 3. Функции в языке GNU Octave 4. Практическая реализация нелинейной регрессии в GNU Octave

Виды регрессии

Численные методы и МНК Рассматриваемые численные методы 1. Метод Ньютона 2. Метод Гаусса-Ньютона 3. Метод Левенберга-Марквардта Нелинейная система уравнений Минимизируемая сумма квадратов Система уравнений для поиска минимума (ср. с линейным МНК) Как правило, полученную систему уравнений нельзя решить аналитическими методами Нужно использовать численные методы

Метод Ньютона Особенности метода Ньютона 1. Быстро сходится (квадратичная сходимость) 2. В случае нескольких корней может быть найден любой из них (зависит от начального приближения) 3. Скорость сходимости (и сама сходимость) может зависеть от начального приближения Особенности метода Ньютона 1. Быстро сходится (квадратичная сходимость) 2. В случае нескольких корней может быть найден любой из них (зависит от начального приближения) 3. Скорость сходимости (и сама сходимость) может зависеть от начального приближения

Программа format long; delta = 1e-15; x0 = 0.5; x = x0 + 2*delta; while abs(x-x0) >= delta x0 = x; f = cos(x0)-x0^3; df = -sin(x0)-3*x0^2; x = x0 – f/df; disp(x); end Программа format long; delta = 1e-15; x0 = 0.5; x = x0 + 2*delta; while abs(x-x0) >= delta x0 = x; f = cos(x0)-x0^3; df = -sin(x0)-3*x0^2; x = x0 – f/df; disp(x); end Метод Ньютона: практическая реализация Касательная Функция Прибл. решение Начальное прибл

Матричная запись и метод Гаусса-Ньютона Система уравнений и метод Ньютона Градиент, якобиан и гессиан МНК и метод Гаусса-Ньютона

Метод Левенберга-Марквардта

О функциях в GNU Octave Именованные функции Анонимные функции Функция – фрагмент программного кода, который можно вызывать из других частей программы. Имеет входные и выходные параметры (аргументы), а также свою область видимости для переменных. См. также: вложенные функции (nested function), MEX-файлы, объектно- ориентированное программирование Хранятся в переменных. Синтаксис: func expression Примеры: sqr x.^2 len sqrt(x.^2 + y.^2) Хранятся в файлах. Синтаксис: % Справочная информация function [o1,…,om]=funcname(i1,…,in) % Тело функции end Пример: % SQREQ_ROOTS Finds the roots % of square equation function [x1,x2] = sqreq_roots(a,b,c) D = b.^2 - 4*a.*c; x1 = (-b + sqrt(D))./ (2*a); x2 = (-b - sqrt(D))./ (2*a); end

Нелинейная регрессия: практическая реализация Шаг 3. Запись на языке Octave b0 = [ ]; [b, res, J] =... b0); [db, b_lb, b_ub, sb] =... lsqfit_ci(b, res, J); function [F, J] = func(b, x) F = b(1) + b(2)*exp(-b(3)*x); if nargout == 2 df_db1 = ones(size(x)); df_db2 = exp(-b(3)*x); df_db3 = -b(2)*exp(- b(3)*x).*x; J = [df_db1 df_db2 df_db3]; end Шаг 3. Запись на языке Octave b0 = [ ]; [b, res, J] =... b0); [db, b_lb, b_ub, sb] =... lsqfit_ci(b, res, J); function [F, J] = func(b, x) F = b(1) + b(2)*exp(-b(3)*x); if nargout == 2 df_db1 = ones(size(x)); df_db2 = exp(-b(3)*x); df_db3 = -b(2)*exp(- b(3)*x).*x; J = [df_db1 df_db2 df_db3]; end Шаг 4. Подбор начального приближение и визуализация результатов

Нелинейная регрессия: доверительные интервалы Исходная система уравнений Результат линеаризации в векторной форме Разложение в ряд Тейлора