Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемРоман Охрютин
1 Лекция 8. Нелинейная регрессия Краткое содержание 1. Нелинейная регрессия: постановка задачи 2. Методы Ньютона, Гаусса-Ньютона, Левенберга-Марквардта 3. Функции в языке GNU Octave 4. Практическая реализация нелинейной регрессии в GNU Octave
2 Виды регрессии
3 Численные методы и МНК Рассматриваемые численные методы 1. Метод Ньютона 2. Метод Гаусса-Ньютона 3. Метод Левенберга-Марквардта Нелинейная система уравнений Минимизируемая сумма квадратов Система уравнений для поиска минимума (ср. с линейным МНК) Как правило, полученную систему уравнений нельзя решить аналитическими методами Нужно использовать численные методы
4 Метод Ньютона Особенности метода Ньютона 1. Быстро сходится (квадратичная сходимость) 2. В случае нескольких корней может быть найден любой из них (зависит от начального приближения) 3. Скорость сходимости (и сама сходимость) может зависеть от начального приближения Особенности метода Ньютона 1. Быстро сходится (квадратичная сходимость) 2. В случае нескольких корней может быть найден любой из них (зависит от начального приближения) 3. Скорость сходимости (и сама сходимость) может зависеть от начального приближения
5 Программа 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 Метод Ньютона: практическая реализация Касательная Функция Прибл. решение Начальное прибл
6 Матричная запись и метод Гаусса-Ньютона Система уравнений и метод Ньютона Градиент, якобиан и гессиан МНК и метод Гаусса-Ньютона
7 Метод Левенберга-Марквардта
8 О функциях в 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
9 Нелинейная регрессия: практическая реализация Шаг 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. Подбор начального приближение и визуализация результатов
10 Нелинейная регрессия: доверительные интервалы Исходная система уравнений Результат линеаризации в векторной форме Разложение в ряд Тейлора
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.