Пользовательский нелинейный анализ данных ENSO

Этот пример соответствует данным ENSO с помощью нескольких пользовательских нелинейных уравнений. Данные ENSO состоят из ежемесячных усредненных различий в атмосферном давлении между островом Пасхи и Дарвином, Австралия. Это различие управляет торговыми ветрами в южном полушарии.

Данные ENSO являются явно периодическими, который предполагает, что они могут быть описаны рядом Фурье:

y(x)=a0+i=1aiпотому что(2πxci)+bisin(2πxci)

где ai и bi являются амплитудами, и ci является периодами (циклы) данных. Вопрос ответить вот состоит в том, сколько циклов существует?

Как первая попытка, примите один цикл и соответствуйте данным, использующим один термин косинуса и один термин синуса.

y1(x)=a0+a1потому что(2πxc1)+b1sin(2πxc1)

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

Уравнение нелинейно, потому что неизвестный коэффициент c 1 включен как часть аргументов тригонометрической функции.

Загрузите данные и подходящую библиотеку и пользовательские модели Фурье

  1. Загрузите данные и откройте приложение Curve Fitting:

    load enso
    cftool

  2. Тулбокс включает ряд Фурье как нелинейное уравнение библиотеки. Однако уравнение библиотеки не удовлетворяет потребности этого примера, потому что его условия заданы как зафиксированные множители основной частоты w. Обратитесь к Ряду Фурье для получения дополнительной информации. Создайте встроенную библиотеку подгонка Фурье, чтобы соответствовать вашим пользовательским уравнениям:

    1. Выберите month for X data и pressure for Y data.

    2. Выберите Fourier для типа модели.

    3. Введите Fourier для Fit name.

    4. Измените количество условий к 8.

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

  3. Копируйте свою подгонку. Щелкните правой кнопкой по своей подгонке по Table of Fits и выберите Duplicate ‘Fourier’.

  4. Назовите новый подходящий Enso1Period.

  5. Измените подходящий тип от Fourier до Custom Equation.

  6. Замените текст в качестве примера в окне редактирования уравнения с

    a0+a1*cos(2*pi*x/c1)+b1*sin(2*pi*x/c1)

    Тулбокс применяет подгонку к данным enso.

Графические и числовые результаты, показанные здесь, показывают, что подгонка не описывает данные хорошо. В частности, подходящее значение для c1 является необоснованно маленьким. Ваши начальные результаты подгонки могут отличаться от этих результатов, потому что отправные точки случайным образом выбраны.

По умолчанию коэффициенты неограниченны и имеют случайные начальные значения от 0 до 1. Данные включают периодический компонент с периодом приблизительно 12 месяцев. Однако с неограниченным c1 и со случайной отправной точкой, этой подгонке не удалось найти тот цикл.

Используйте подходящие опции, чтобы ограничить коэффициент

  1. Чтобы помочь подходящей процедуре, ограничьте c1 к значению от 10 до 14. Нажмите кнопку Fit Options, чтобы просмотреть и отредактировать ограничения для неизвестных коэффициентов.

  2. В Подходящем Окне параметров заметьте, что по умолчанию коэффициенты неограниченны (границы -Inf и Inf).

  3. Измените Lower и границы Upper для c1, чтобы ограничить цикл с 10 до 14 месяцев, как показано затем.

  4. Нажмите Close. Ремонты приложения Curve Fitting.

  5. Наблюдайте новую подгонку и график невязок. При необходимости выберите View> Residuals Plot или используйте кнопку на панели инструментов.

    Подгонка, кажется, разумна для некоторых точек данных, но ясно не описывает целый набор данных очень хорошо. Как предсказано, числовые результаты в панели Results (c1=11.94) показывают на цикл приблизительно 12 месяцев. Однако невязки показывают систематическое периодическое распределение, указывая, что, по крайней мере, еще один цикл существует. Существуют дополнительные циклы, которые необходимо включать в подходящее уравнение.

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

Чтобы совершенствовать вашу подгонку, необходимо добавить дополнительный синус и термин косинуса к y 1 (x) можно следующим образом:

y2(x)=y1(x)+a2потому что(2πxc2)+b2sin(2πxc2)

и ограничьте верхние и нижние границы c 2 быть примерно дважды границами, используемыми для c 1.

  1. Копируйте свою подгонку путем щелчка правой кнопкой по нему по Table of Fits и выбора Duplicate ‘Enso1Period’.

  2. Назовите новый подходящий Enso2Period.

  3. Добавьте эти условия в конец предыдущего уравнения:

    +a2*cos(2*pi*x/c2)+b2*sin(2*pi*x/c2)

  4. Нажмите Fit Options. Когда вы редактируете пользовательское уравнение, инструмент помнит ваши подходящие опции. Наблюдайте Lower, и границы Upper для c1 все еще ограничивают цикл с 10 до 14 месяцев. Добавьте более подходящие опции:

    1. Измените Lower и Upper для c2, чтобы быть примерно дважды границами, используемыми для c1 (20 <c2 <30).

    2. Измените StartPoint для a0 к 5.

    Когда вы изменяете каждые настройки, ремонты приложения Curve Fitting. Подгонку и невязки показывают затем.

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

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

Как третья попытка, добавьте дополнительный синус и термин косинуса к y 2 (x)

y3(x)=y2(x)+a3потому что(2πxc3)+b3sin(2πxc3)

и ограничьте нижнюю границу c 3 быть примерно тройной значение c 1.

  1. Копируйте свою подгонку путем щелчка правой кнопкой по нему по Table of Fits и выбора Duplicate ‘Enso2Period’.

  2. Назовите новый подходящий Enso3Period.

  3. Добавьте эти условия в конец предыдущего уравнения:

    +a3*cos(2*pi*x/c3)+b3*sin(2*pi*x/c3)

  4. Нажмите Fit Options Observe, ваши предыдущие подходящие опции все еще присутствуют.

    1. Измените Lower, направляющийся в c3, чтобы быть 36, который является примерно тройным значение c1.

    2. Закройте диалоговое окно. Ремонты приложения Curve Fitting. Подгонка и невязки появляются затем.

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

В заключение анализ Фурье данных показывает три значительных цикла. Ежегодный цикл является самым сильным, но циклы с периодами приблизительно 44 и 22 месяцев также присутствуют. Эти циклы соответствуют Эль-Ниньо и южному Колебанию (ENSO).

Для просмотра документации необходимо авторизоваться на сайте