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

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

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

y(x)=a0+i=1aicos(2πxci)+bisin(2πxci)

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

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

y1(x)=a0+a1cos(2πxc1)+b1sin(2πxc1)

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

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

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

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

    load enso
    cftool

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

    1. Выберите month для X data и pressure для 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)+a2cos(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)+a3cos(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).