Предскажите Вывод динамической системы

Чтобы предсказать вывод динамической системы, вы сначала идентифицируете модель, которая соответствует прошлым результатам измерений от системы, и затем предсказывает будущие выходные параметры идентифицированной модели. Предположим, что у вас есть набор Y измерений N вывода системы (Y = {y1, y2... yN}). Предсказывать выходные параметры в будущее:

  1. Идентифицируйте модель системы с помощью команд оценки временных рядов, таких как ar, arx, armax и ssest.

    Программное обеспечение оценивает модели путем минимизации суммы в квадрате одного шага вперед ошибки прогноза. Можно идентифицировать линейные модели, такие как AR, ARMA и модели в пространстве состояний. Можно также оценить нелинейный ARX и нелинейные модели серого поля.

  2. Подтвердите идентифицированную модель с помощью команды predict.

    Команда predict предсказывает вывод идентифицированной модели по отрезку времени результатов измерений (Yp = yp1, yp2... ypN). Используйте predict, чтобы определить если предсказанные результаты соответствие Yp наблюдаемые выходные параметры Y для желаемого горизонта прогноза. Если прогнозы хороши по отрезку времени доступных данных, используйте модель для прогнозирования.

  3. Задайте опции прогнозирования такой как, как программное обеспечение вычисляет начальные условия результатов измерений. Чтобы задать опции, используйте набор опции forecastOptions.

  4. Вычислите вывод идентифицированной модели до будущего периода времени H, (yN+1, yN+2..., yN+H) использование команды forecast. В отличие от команды predict, команда forecast выполняет прогноз в будущее в области значений времени вне прошлого момента результатов измерений.

    Программное обеспечение вычисляет предсказанные значения:

    • Генерация модели предиктора использование идентифицированной модели.

    • Вычисление конечного состояния предиктора с помощью измерило (доступные) данные.

    • Симуляция идентифицированной модели с помощью конечного состояния в качестве начальных условий.

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

Можно также предсказать выходные параметры для систем где измеримые внешние входные параметры u (t) влияние выходные наблюдения. В этом случае вы сначала идентифицируете модель ввода - вывода использование измеренного y (t) и u (t), и затем используете команду forecast.

Предскажите данные временных рядов Используя модель ARMA

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

load iddata9 z9
past_data = z9.OutputData(1:50);

Соответствуйте модели ARMA порядка [4 3] к результатам измерений.

sys = armax(past_data,[4 3]);

Выполните с 10 шагами вперед прогноз, чтобы подтвердить модель по промежутку результатов измерений.

yp = predict(sys,past_data,10);

Постройте предсказанный ответ и результаты измерений.

t = z9.SamplingInstants;
t1 = t(1:50);
plot(t1,past_data,'k',t1,yp,'*b')
legend('Past Data','Predicted Data')

График показывает, что sys является хорошей моделью прогноза, которая может использоваться для прогнозирования.

Задайте нулевые начальные условия для результатов измерений.

opt = forecastOptions('InitialCOndition','z');

Предскажите, что модель вывела 100 шагов вне данных об оценке.

H = 100;
yf = forecast(sys,past_data,H,opt);

Отобразите прошлые и предсказанные данные на графике.

t2 = t(51:150)';
plot(t1,past_data,'k',t2,yf,'--r')
legend('Past Data','Forecasted Data')

Похожие темы

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