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

Чтобы предсказать выход динамической системы, вы сначала идентифицируете модель, которая соответствует прошлым результатам измерений от системы, и затем предсказывает будущие выходные параметры идентифицированной модели. Предположим, что у вас есть набор 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')

Похожие темы