fpe

Окончательная ошибка предсказания Акайке для предполагаемой модели

Описание

пример

value = fpe(model) возвращает значение Final Prediction Error (FPE) для предполагаемой модели.

value = fpe(model1,...,modeln) возвращает значение FPE для нескольких предполагаемых моделей.

Примеры

свернуть все

Оцените модель передаточной функции.

load iddata1 z1;
np = 2;
sys = tfest(z1,np);

Вычислите значение последней ошибки предсказания (FPE).

value = fpe(sys)
value = 1.7252

Кроме того, используйте Report свойство модели для доступа к значению.

sys.Report.Fit.FPE
ans = 1.7252

Оцените несколько моделей Output-Error (OE) и используйте значение Final Prediction Error (FPE) Акайке, чтобы выбрать модель с оптимальным компромиссом между точностью и сложностью.

Загрузите данные оценки.

load iddata2

Задайте порядки модели, варьирующийся в области значений 1:4.

nf = 1:4;
nb = 1:4;
nk = 0:4;

Оцените модели OE со всеми возможными комбинациями выбранных областей значений порядка.

NN = struc(nf,nb,nk); 
models = cell(size(NN,1),1);
for ct = 1:size(NN,1)
   models{ct} = oe(z2, NN(ct,:));
end

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

V = fpe(models{:});
[Vmin, I] = min(V);

Верните оптимальную модель, которая имеет наименьшее значение AICc.

models{I}
ans =
Discrete-time OE model: y(t) = [B(z)/F(z)]u(t) + e(t)
  B(z) = 1.067 z^-2                                  
                                                     
  F(z) = 1 - 1.824 z^-1 + 1.195 z^-2 - 0.2307 z^-3   
                                                     
Sample time: 0.1 seconds
  
Parameterization:
   Polynomial orders:   nb=1   nf=3   nk=2
   Number of free coefficients: 4
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                     
Estimated using OE on time domain data "z2".
Fit to estimation data: 86.53%              
FPE: 0.9809, MSE: 0.9615                    

Входные параметры

свернуть все

Идентифицированная модель, заданная как один из следующих объектов модели:

  • idtf

  • idgrey

  • idpoly

  • idproc

  • idss

  • idnlarx, за исключением нелинейной модели ARX, которая включает в себя оценку нелинейности двоичного дерева или нейронной сети

  • idnlhw

  • idnlgrey

Выходные аргументы

свернуть все

Окончательное значение ошибки предсказания (FPE), возвращаемое в виде скаляра или вектора. Для нескольких моделей value является вектор-строка, где value(k) соответствует kI оценочная модель modelk.

Подробнее о

свернуть все

Окончательная ошибка предсказания Акайке (FPE)

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

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

Окончательная ошибка предсказания (FPE) Акайке определяется следующим уравнением:

FPE=det(1N1Ne(t,θ^N)(e(t,θ^N))T)(1+dN1dN)

где:

  • N - количество значений в наборе данных оценки.

  • e (t) является вектором ошибок предсказания ny на 1.

  • θN представляет предполагаемые параметры.

  • d - количество предполагаемых параметров.

Если количество параметров превышает количество выборок, FPE не вычисляется при выполнении оценки модели (model.Report.FPE пуст). fpe команда возвращает NaN.

Совет

  • Программа вычисляет и хранит значение FPE во время оценки модели. Если вы хотите получить доступ к этому значению, смотрите Report.Fit.FPE свойство модели.

Ссылки

[1] Ljung, L. System Identification: Theory for the User, Upper Saddle River, NJ, Prentice-Hall PTR, 1999. См. разделы 7.4 и 16.4.

Представлено до R2006a