goodnessOfFit

Качество подгонки между тестовыми и справочными данными

Синтаксис

fit = goodnessOfFit(x,xref,cost_func)

Описание

fit = goodnessOfFit(x,xref,cost_func) возвращает качество подгонки между данными, x и ссылкой, xref с помощью функции стоимости, заданной cost_func.

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

x

Тестовые данные.

x является Ns-by-N матрица, где Ns является количеством выборок, и N является количеством каналов.

x может также быть массивом ячеек нескольких наборов тестовых данных.

x не должен содержать NaN или значения Inf.

xref

Справочные данные.

xref должен быть одного размера как x.

xref может также быть массивом ячеек нескольких множеств элементарных исходов. В этом случае каждое отдельное множество элементарных исходов должно быть одного размера как соответствующий набор тестовых данных.

xref не должен содержать значения NaN или Inf.

cost_func

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

cost_func задан как одно из следующих значений:

  • 'MSE' — Среднеквадратичная погрешность:

    fit=xxref2Ns

    где, Ns является количеством выборок, и ‖ указывает на 2-норму вектора. fit является скалярным значением.

  • 'NRMSE' — Нормированная среднеквадратичная ошибка:

    fit(i)=1xref(:,i)x(:,i)xref(:,i)mean(xref(:,i))

    где, ‖ указывает на 2-норму вектора. fit является вектором - строкой из длины N и i = 1,...,N, где N является количеством каналов.

    Затраты NRMSE отличаются между -Inf (плохая подгонка) к 1 (совершенная подгонка). Если функция стоимости равна нулю, то x не лучше, чем прямая линия при соответствии с xref.

  • 'NMSE' — Нормированная среднеквадратичная погрешность:

    fit(i)=1xref(:,i)x(:,i)2xref(:,i)mean(xref(:,i))2

    где, ‖ указывает на 2-норму вектора. fit является вектором - строкой из длины N и i = 1,...,N, где N является количеством каналов.

    Затраты NMSE отличаются между -Inf (плохая подгонка) к 1 (совершенная подгонка). Если функция стоимости равна нулю, то x не лучше, чем прямая линия при соответствии с xref.

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

fit

Качество подгонки между тестовыми и справочными данными.

Для одного набора тестовых данных и ссылочной пары, fit возвращен как a:

  • Скаляр, если cost_func является MSE.

  • Вектор - строка из длины N, если cost_func является NRMSE или NMSE. N является количеством каналов.

Если x и/или xref являются массивами ячеек, то fit является массивом, содержащим значения качества подгонки для каждого тестовые данные и ссылочная пара.

Примеры

свернуть все

Получите измеренный вывод.

load iddata1 z1
yref = z1.y;

z1 является объектом iddata, содержащим измеренные данные о вводе/выводе. z1.y является измеренный вывод.

Получите предполагаемый вывод.

sys = tfest(z1,2);
y_sim = sim(sys,z1(:,[],:));

sys является оцененным использованием передаточной функции второго порядка измеренных данных о вводе/выводе. y является вывод, оцененный с помощью sys и измеренного входа.

Вычислите совершенство подгонки между измеренными и предполагаемыми выходными параметрами.

cost_func = 'NRMSE';
y = y_sim.y;
fit = goodnessOfFit(y,yref,cost_func);

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

Также можно использовать compare, чтобы вычислить качество подгонки:

opt = compareOptions('InitialCondition','z');
compare(z1,sys,opt);

Смотрите также

| | | |

Представленный в R2012a