Этот пример соответствует данным ENSO с помощью нескольких пользовательских нелинейных уравнений. Данные ENSO состоят из ежемесячных усредненных различий в атмосферном давлении между островом Пасхи и Дарвином, Австралия. Это различие управляет торговыми ветрами в южном полушарии.
Данные ENSO являются явно периодическими, который предполагает, что они могут быть описаны рядом Фурье:
где ai и bi являются амплитудами, и ci является периодами (циклы) данных. Вопрос ответить вот состоит в том, сколько циклов существует?
Как первая попытка, примите один цикл и соответствуйте данным, использующим один термин косинуса и один термин синуса.
Если подгонка не описывает данные хорошо, добавьте дополнительный косинус и термины синуса с уникальными коэффициентами периода, пока хорошая подгонка не получена.
Уравнение нелинейно, потому что неизвестный коэффициент c 1 включен как часть аргументов тригонометрической функции.
Загрузите данные и откройте приложение Curve Fitting:
load enso cftool
Тулбокс включает ряд Фурье как нелинейное уравнение библиотеки. Однако уравнение библиотеки не удовлетворяет потребности этого примера, потому что его термины заданы как зафиксированные множители основной частоты w. Обратитесь к Ряду Фурье для получения дополнительной информации. Создайте встроенную библиотеку подгонка Фурье, чтобы соответствовать вашим пользовательским уравнениям:
Выберите month
для X data и pressure
для Y data.
Выберите Fourier
для типа модели.
Введите Fourier
для Fit name.
Измените количество терминов к 8
.
Наблюдайте подгонку модели библиотеки. На следующих шагах вы создадите пользовательские уравнения, чтобы выдержать сравнение.
Скопируйте свою подгонку. Щелкните правой кнопкой по своей подгонке по Table of Fits и выберите Duplicate ‘Fourier’.
Назовите новый подходящий Enso1Period
.
Измените подходящий тип от Fourier
к Custom Equation
.
Замените текст в качестве примера в окне редактирования уравнения с
a0+a1*cos(2*pi*x/c1)+b1*sin(2*pi*x/c1)
Тулбокс применяет подгонку к enso
данные.
Графические и числовые результаты, показанные здесь, показывают, что подгонка не описывает данные хорошо. В частности, подходящее значение для c1
необоснованно мал. Ваши начальные результаты подгонки могут отличаться от этих результатов, потому что начальные точки случайным образом выбраны.
По умолчанию коэффициенты неограниченны и имеют случайные начальные значения от 0 до 1. Данные включают периодический компонент с периодом приблизительно 12 месяцев. Однако с c1
неограниченный и со случайной начальной точкой, этой подгонке не удалось найти тот цикл.
Чтобы помочь подходящей процедуре, ограничьте c1
к значению от 10 до 14. Нажмите кнопку Fit Options, чтобы просмотреть и отредактировать ограничения для неизвестных коэффициентов.
В Подходящем Окне параметров заметьте, что по умолчанию коэффициенты неограниченны (границы -Inf
и Inf
).
Измените Lower и границы Upper для c1
ограничить цикл с 10 до 14 месяцев, как показано затем.
Нажмите Close. Ремонты приложения Curve Fitting.
Наблюдайте новую подгонку и график остаточных значений. При необходимости выберите View> Residuals Plot или используйте кнопку на панели инструментов.
Подгонка, кажется, разумна для некоторых точек данных, но ясно не описывает целый набор данных очень хорошо. Как предсказано, числовые результаты в панели Results (c1=11.94
) укажите на цикл приблизительно 12 месяцев. Однако остаточные значения показывают, что систематическое периодическое распределение, указывая в наименьшем количестве еще одного цикла существует. Существуют дополнительные циклы, которые необходимо включать в подходящее уравнение.
Чтобы совершенствовать вашу подгонку, необходимо добавить дополнительный синус и термин косинуса к y 1 (x) можно следующим образом:
и ограничьте верхние и нижние границы c 2 быть примерно дважды границами, используемыми для c 1.
Скопируйте свою подгонку путем щелчка правой кнопкой по нему по Table of Fits и выбора Duplicate ‘Enso1Period’.
Назовите новый подходящий Enso2Period
.
Добавьте эти термины в конец предыдущего уравнения:
+a2*cos(2*pi*x/c2)+b2*sin(2*pi*x/c2)
Нажмите Fit Options. Когда вы редактируете пользовательское уравнение, инструмент помнит ваши подходящие опции. Наблюдайте Lower и границы Upper для c1
все еще ограничьте цикл с 10 до 14 месяцев. Добавьте более подходящие опции:
Измените Lower и Upper для c2
быть примерно дважды границами, используемыми для c1
(20 <c2
<30).
Измените StartPoint для a0
к 5
.
Когда вы изменяете каждые настройки, ремонты приложения Curve Fitting. Подгонку и остаточные значения показывают затем.
Подгонка кажется разумной для большинства точек данных. Однако остаточные значения указывают, что необходимо включать другой цикл в подходящее уравнение.
Как третья попытка, добавьте дополнительный синус и термин косинуса к y 2 (x)
и ограничьте нижнюю границу c 3 быть примерно тройной значение c 1.
Скопируйте свою подгонку путем щелчка правой кнопкой по нему по Table of Fits и выбора Duplicate ‘Enso2Period’.
Назовите новый подходящий Enso3Period
.
Добавьте эти термины в конец предыдущего уравнения:
+a3*cos(2*pi*x/c3)+b3*sin(2*pi*x/c3)
Нажмите Fit Options Observe, ваши предыдущие подходящие опции все еще присутствуют.
Измените Lower, направляющийся в c3
быть 36
, который является примерно тройным значение c1
.
Закройте диалоговое окно. Ремонты приложения Curve Fitting. Подгонка и остаточные значения появляются затем.
Подгонка является улучшением по сравнению с предыдущими двумя подгонками и появляется с учетом большинства циклов в наборе данных ENSO. Остаточные значения кажутся случайными для большинства данных, несмотря на то, что шаблон все еще отображается указанием, что могут присутствовать дополнительные циклы, или можно улучшить подходящие амплитуды.
В заключение анализ Фурье данных показывает три значительных цикла. Ежегодный цикл является самым сильным, но циклы с периодами приблизительно 44 и 22 месяцев также присутствуют. Эти циклы соответствуют Эль-Ниньо и южному Колебанию (ENSO).