exponenta event banner

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

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

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

y (x) =a0+∑i=1∞aicos (2.dxci) + бисин (2.dxci)

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

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

y1 (x) = a0 + a1cos (2.dxxc1) + b1sin (2.dxxc1)

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

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

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

  1. Загрузите данные и откройте приложение «Фитинг кривой»:

    load enso
    cftool

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

    1. Выбрать month для данных X и pressure для данных Y.

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

    3. Войти Fourier для имени посадки.

    4. Изменить количество терминов на 8.

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

  3. Продублируйте вашу посадку. Щелкните правой кнопкой мыши в таблице посадок и выберите Копировать «Фурье».

  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. Нажмите кнопку «Параметры подгонки» для просмотра и редактирования зависимостей для неизвестных коэффициентов.

  2. В диалоговом окне «Параметры подгонки» обратите внимание, что по умолчанию коэффициенты являются неограниченными (границы -Inf и Inf).

  3. Изменение нижней и верхней границ для c1 для ограничения цикла от 10 до 14 месяцев, как показано ниже.

  4. Щелкните Закрыть (Close). Приложение «Фитинг кривой» корректируется.

  5. Просмотрите новую посадку и график остатков. При необходимости выберите меню «Вид» > «Остатки» «Печать» или нажмите кнопку на панели инструментов.

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

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

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

y2 (x) = y1 (x) + a2cos (2.dxxc2) + b2sin (2.dxxc2)

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

  1. Продублируйте посадку, щелкнув ее правой кнопкой мыши в таблице посадок и выбрав пункт «Дублировать» Enso1Period.

  2. Назовите новое вписывание Enso2Period.

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

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

  4. Щелкните Параметры вписывания (Fit Options). При редактировании пользовательской формулы инструмент запоминает параметры подгонки. Соблюдать нижние и верхние границы для c1 по-прежнему ограничивают цикл от 10 до 14 месяцев. Добавьте дополнительные параметры подгонки:

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

    2. Изменение параметра «StartPoint» для a0 кому 5.

    При изменении каждого параметра приложение «Фитинг кривой» корректируется. Далее показаны посадка и остатки.

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

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

В качестве третьей попытки добавьте дополнительный синус и косинус к y2 (x)

y3 (x) = y2 (x) + a3cos (2.dxxc3) + b3sin (2.dxxc3)

и ограничивают нижнюю границу c3, чтобы она была приблизительно втрое больше значения c1.

  1. Продублируйте посадку, щелкнув ее правой кнопкой мыши в таблице посадок и выбрав пункт «Дублировать» Enso2Period.

  2. Назовите новое вписывание Enso3Period.

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

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

  4. Щелкните Опции вписывания (Fit Options). Обратите внимание на то, что прежние опции вписывания все еще существуют.

    1. Изменение нижней границы для c3 быть 36, что примерно в три раза превышает значение c1.

    2. Закройте диалоговое окно. Приложение «Фитинг кривой» корректируется. После этого появятся посадка и остатки.

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

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