Приближение данных, регрессия в ToolBox Optimization

Автор работы: Пользователь скрыл имя, 05 Ноября 2013 в 17:50, контрольная работа

Описание работы

Перед началом процесса приближения возможно произвести ряд предварительных действий.
Во-первых можно указать:
различные веса для данных (см. раздел Опция для задания весов) и использовать таким образом взвешенный метод наименьших квадратов для подбора параметров;
часть исключаемых данных при подборе параметров (см. раздел Опция для исключения части данных);
нужно или нет масштабировать и центрировать исходные данные перед процессом подбора параметров модели для обеспечения более устойчивых результатов (см. раздел Опция для масштабирования и центрирования данных).

Файлы: 1 файл

ИС.doc

— 179.50 Кб (Скачать файл)

 
Приближение данных без адаптивного  выбора весов (слева) и с адаптивным выбором весов (справа)

Опции для нелинейных параметрических  моделей

Если параметрическая  модель содержит нелинейно входящие параметры, то их поиск приводит к  необходимости решения нелинейной задачи оптимизации, возможно с ограничениями на искомые параметры. Поэтому набор опций, управляющих вычислительным алгоритмом поиска параметров, в нелинейном случае больше, чем в случае линейных параметрических моделей.

Так же, как и  в случае линейных параметрических моделей можно использовать (см. раздел Опции для линейных параметрических моделей):

  • опцию Robust для выбора адаптивного алгоритма нахождения параметров, устойчивого к выбросам в исходных данных
  • опции Lower и Upper для задания нижних и верхних границ параметров модели.

Задание этих опций  в случае линейных и нелинейных параметрических  моделей производится аналогично.

Для начала процесса поиска параметров в нелинейном случае (т.е. для начала алгоритма нелинейной оптимизации функции ошибки) требуется начальная точка. Для ее задания служит опция StartPoint. Ее значением должен быть вектор, длина которого совпадает с числом подлежащих определению параметров. Причем, в векторе, задающем начальные значения параметров, они должны задаваться так, чтобы соответствовать упорядоченным по алфавиту коэффициентам параметрической модели, т.е. например, если нелинейная пользовательская параметрическая модель имеет вид:

то, например вектор [0.1 2 -3 4.8], являющийся значением свойства StartPoint, соответствует следующим  начальным значениям параметров модели:

Для линейной модели, определенной пользователем, начальное  приближение не требуется и ограничения  на параметры по умолчанию не задаются.

Для нелинейной модели, определенной пользователем, начальное приближение каждого параметра по умолчанию выбирается из отрезка [0, 1], а ограничения на параметры по умолчанию не задаются.

В следующей  таблице приведены стандартные  модели Curve Fitting Toolbox и выбираемые по умолчанию начальные значения параметров и ограничения.

Начальные значения параметров и ограничения для  стандартных параметрических моделей

Названия моделей

Вид моделей

Начальное приближение

Ограничения на параметры

Экспоненциальные модели: exp1, exp2

Вычисляется по начальным  данным по эвристическому алгоритму

Нет

Отрезки ряда Фурье: fourier1, fourier2, ..., fourier8

Вычисляется по начальным  данным по эвристическому алгоритму

Нет

Гауссовы модели: gauss1, gauss2, ..., gauss8

Вычисляется по начальным  данным по эвристическому алгоритму

ck > 0

Полиномиальные модели: poly1, poly2, ..., poly9

Не требуется

Нет

Степенные модели: power1, power2

Вычисляется по начальным  данным по эвристическому алгоритму

Нет

Дробно-рациональные модели: rat01, rat02, …, rat55 (первая цифра - степень числителя, вторая - степень знаменателя) 
Сумма синусов: sin1, sin2, … , sin8

Случайное для каждого  параметра из интервала [0,1]

Нет

Сумма синусов: sin1, sin2, … , sin8

Вычисляется по начальным  данным по эвристическому алгоритму

bk > 0

Модель Вейбула: weibull

Случайное для каждого  параметра из интервала [0,1]

a > 0 
b > 0


Для минимизации  целевой функции (среднеквадратичной ошибки приближения) возможно выбрать  один из трех алгоритмов и указать соответствующее значение в качестве значения свойства Algorithm:

  • Trust-Region (метод доверительных областей) - используемый по умолчанию алгоритм минимизации целевой функции. Если на искомые коэффициенты параметрической модели наложены ограничения, то использование этого алгоритма обязательно.
  • Levenberg-Marquardt (метод Левенберга- Марквардта) - можно использовать в задачах без ограничений на коэффициенты.
  • Gauss-Newton - классический метод Ньютона.

Данные алгоритмы  минимизации реализованы в функциях Optimization Toolbox, которые и используются при минимизации целевой функции при подборе параметров в параметрических моделях, приближающих данные, в Curve Fitting Toolbox.

Для настроек алгоритмов минимизации служат следующие опции:

  • TolFun - точность по функции (для завершения итерационного алгоритма нелинейной минимизации), по умолчанию 10e-6, при достижении этой точности алгоритм минимизации останавливается.
  • TolX - точность по искомым параметрам (для завершения итерационного алгоритма нелинейной минимизации), по умолчанию 10e-6, при достижении этой точности алгоритм минимизации останавливается.
  • DiffMinChange - минимальный шаг по каждой из искомых переменных (параметров модели) для вычисления приближенного вычисления частных производных (используемых в алгоритмах нелинейной минимизации) при помощи конечных разностей, по умолчанию 10e-8.
  • DiffMaxChange - максимальный шаг по каждой из искомых переменных (параметров модели) для вычисления приближенного вычисления частных производных (используемых в алгоритмах нелинейной минимизации) при помощи конечных разностей, по умолчанию 0.1.
  • MaxFunEvals - максимальное количество вычислений минимизируемой функции (для предотвращения зацикливания), по умолчанию минимизируемая функция вычисляется не более 600 раз, после чего алгоритм минимизации останавливается.
  • MaxIter - максимальное число итераций алгоритма минимизации (для предотвращения зацикливания), по умолчанию делается не более 400 итераций, после чего алгоритм минимизации останавливается.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Практическая  часть

 

Задание 1:  Напишите файл-программу, которая должна: найти нули функции, экстремумы, построить линии уровня и график функции.

 

  1. Z= ln(x)+ ln(Сos(y)) – функция
  2. X=zero(z,0,0) – нахождение нулей функции
  3. XYext=ext(z) – нахождение экстремума
  4. Plot(z,x,y) – построение линий уровня
  5. Plot3d(Z,x,y) – построение графика функции

 

Задание 2: Решите приведенные ниже задачи.

Матрица (i=1,2,…m, k=1,2,…,n) состоит из целочисленных элементов. Получите вектор b, каждый элемент которого есть количество различных чисел в строках матрицы A для произвольных m и n.

 

A=rang(m*n)

X=kol(A)

B=[X] – составление вектора B

    

    Задание 3: Решите приведенные ниже задачи.

В некотором тексте (например, Требование объявлять явно типы всех объектов приводит к избыточности в Фортран-программе, которая, однако, делает ее надежнее) найдите глаголы в неопределенной форме.

 

A=’Требование объявлять явно типы всех объектов приводит к избыточности в Фортран-программе, которая, однако, делает ее надежнее’

A-‘…ть’

 

Задание 4: Решите приведенные ниже задачи обработки файлов.

Файл содержит сведения об автолюбителях: ФИО, индекс и номер паспорта, адрес, номер водительского удостоверения, группа крови, телефон (дом., раб.), факс, e-mail http, марка автомобиля, год выпуска, мощность двигателя, номерной знак, цвет. Выведите сведения о владельцах "Мерседес Е 320" цвета морской волны. Какой цвет наиболее популярен?

 

Fopen myview (Сведения об автолюбителях)

if F = ‘Мерседес Е 320’

 and F=’Морская волна’

      MAS = fgetl ‘фио’ ;  

end

 

 


Информация о работе Приближение данных, регрессия в ToolBox Optimization