Достоверность соответствия между тестовыми и эталонными данными для анализа и проверки идентифицированных моделей
goodnessOfFit возвращает значения аппроксимации, представляющие норму ошибки между наборами тестовых и ссылочных данных. Если вы хотите сравнить и визуализировать выходные данные моделируемой модели с данными измерений, см. также compare.
возвращает достоверность соответствия между данными теста fit = goodnessOfFit(x,xref,cost_func)x и справочные данные xref использование функции затрат cost_func. fit является количественным представлением близости x кому xref. Для выполнения нескольких сравнений соответствия между тестом и ссылкой можно указать x и xref как массивы ячеек одинакового размера, содержащие несколько наборов тестовых и эталонных данных. С входами массива ячеек, fit возвращает массив значений аппроксимации.
Определите правильность соответствия между измеренными выходными данными и смоделированными выходными данными расчетной модели.
Получите измеренный выходной сигнал.
load iddata1 z1 yref = z1.y;
z1 является iddata объект, содержащий измеренные входные-выходные данные. z1.y - измеряемый выходной сигнал.
Оценка модели функции переноса второго заказа и моделирование выходных данных модели y_est.
sys = tfest(z1,2); y_est = sim(sys,z1(:,[],:));
Рассчитайте степень соответствия или норму погрешности между измеренными и расчетными выходами. Укажите нормализованную среднеквадратичную ошибку (NRMSE) в качестве функции затрат.
cost_func = 'NRMSE';
y = y_est.y;
fit = goodnessOfFit(y,yref,cost_func) fit = 0.2943
Кроме того, можно использовать compare для расчета посадки. compare использует функцию затрат NRMSE и выражает процент соответствия с помощью дополнения нормы ошибок. Соотношение соответствия между compare и goodnessOfFit поэтому 100. Acompare результат 100% эквивалентен goodnessOfFit результат 0.
Укажите начальное условие, равное нулю, чтобы соответствовать начальному условию, goodnessOfFit предполагает.
opt = compareOptions('InitialCondition','z'); compare(z1,sys,opt);

Результаты подгонки эквивалентны.
Определите правильность соответствия между измеренными и расчетными выходами для двух моделей.
Получение результатов измерений «вход-выход» z2 от iddata2. Копирование измеренного выходного сигнала в опорный выходной сигнал yref.
load iddata2 z2 yref = z2.y;
Оценка моделей функций переноса второго и четвертого заказов с использованием z2.
sys2 = tfest(z2,2); sys4 = tfest(z2,4);
Моделирование обеих систем для получения расчетных выходных данных.
y_sim2 = sim(sys2,z2(:,[],:)); y2 = y_sim2.y; y_sim4 = sim(sys4,z2(:,[],:)); y4 = y_sim4.y;
Создайте массивы ячеек на основе опорных и расчетных выходных данных. Набор ссылочных данных одинаков для обоих сравнений моделей, поэтому создайте идентичные ссылочные ячейки.
yrefc = {yref yref};
yc = {y2 y4};Вычислить fit значения для трех функций затрат.
fit_nrmse = goodnessOfFit(yc,yrefc,'NRMSE')fit_nrmse = 1×2
0.1429 0.1342
fit_nmse = goodnessOfFit(yc,yrefc,'NMSE')fit_nmse = 1×2
0.0204 0.0180
fit_mse = goodnessOfFit(yc,yrefc,'MSE')fit_mse = 1×2
1.0811 0.9540
Значение аппроксимации, равное 0, указывает на идеальную аппроксимацию между опорными и оценочными выходами. Значение подгонки увеличивается по мере уменьшения благости подгонки. Для всех трех функций затрат модель четвертого порядка обеспечивает лучшее соответствие, чем модель второго порядка.
x - Данные для тестированияДанные для проверки, указанные как матрица или массив ячеек.
Для одного набора тестовых данных укажите матрицу Ns-by-N, где Ns - количество выборок, а N - количество каналов. Необходимо указать cost_fun как 'NRMSE' или 'NMSE' для использования многоканальных данных.
Для нескольких наборов тестовых данных укажите массив ячеек длиной Nd, где Nd - количество пар «тест-ссылка», и каждая ячейка содержит одну матрицу данных.
x не должен содержать NaN или Inf значения.
xref - Справочные данныеСсылочные данные для сравнения x, задается как матрица или массив ячеек.
Для одного набора опорных данных укажите матрицу Ns-by-N, где Ns - количество выборок, а N - количество каналов. xref должен быть того же размера, что и x. Необходимо указать cost_fun как 'NRMSE' или 'NMSE' для использования многоканальных данных.
Для нескольких наборов опорных данных укажите массив ячеек длиной Nd, где Nd - количество пар «тест-ссылка», и каждая ячейка содержит одну матрицу опорных данных. Как и в случае отдельных матриц данных, размеры массива ячеек для x и xref должно совпадать. Каждый i-й элемент fit соответствует парам i-ых ячеек x и xref.
xref не должен содержать NaN или Inf значения.
cost_func - Функция затрат'MSE' | 'NRMSE' | 'NMSE'Функция затрат для определения качества посадки, указанная как одно из следующих значений. В уравнениях аппроксимация значений применяется к одной паре наборов тестовых и эталонных данных.
| Стоимость | Описание | Уравнение | Примечания |
|---|---|---|---|
'MSE' | Среднеквадратичная ошибка |
где Ns - число выборок, а ‖ - 2-норма вектора. | fit - скаляр. |
'NRMSE' | Нормализованная среднеквадратическая ошибка корня |
mean (xref (:, i)) ‖ где ‖ обозначает 2-норму вектора. | fit - вектор строки. |
'NMSE' | Нормированная среднеквадратичная ошибка |
среднее (xref (:, i)) ‖ 2
| fit - вектор строки. |
fit - Благость посадки Соответствие между парами тестовых и ссылочных данных, возвращаемое в виде скаляра, вектора строки или массива ячеек.
Для одной пары тестов и набора эталонных данных: fit возвращается как скалярный вектор или вектор строки.
Если cost_fun является 'MSE', то fit является скаляром.
Если cost_fun является 'NRMSE' или 'NMSE', то fit - вектор столбца длиной N, где N - количество каналов.
Для нескольких пар тестов и наборов данных и опорных пар, где x и xref - массивы ячеек длиной ND, fit возвращается в виде вектора или матрицы.
Если cost_fun является 'MSE', то fit - вектор строки длиной ND.
Если cost_fun является 'NRMSE' или 'NMSE', то fit - матрица размера N-by- Nd, где N - количество каналов (столбцов данных), а Nd - количество тестовых пар. Каждый элемент fit содержит достоверность значений соответствия для соответствующих тестовых данных и эталонной пары.
Каждый элемент fit содержит достоверность значений соответствия для соответствующих тестовых данных и эталонной пары.
Возможные значения для отдельных элементов посадки зависят от выбора cost_func.
Если cost_func является 'MSE', каждый fit значение - это положительный скаляр, который растет с ошибкой между тестовыми и опорными данными. A fit значение 0 указывает на идеальное соответствие между тестовыми и эталонными данными.
Если cost_func является 'NRMSE' или 'NMSE', fit значения варьируются между -Inf и 1.
0 - Идеально подходит для справочных данных (нулевая ошибка)
-Inf - Плохая посадка
1 — x не лучше, чем прямая линия при согласовании xref
goodnessOfFit: Результат аппроксимации представляет норму ошибки для всех трех функций затрат с нулевым значением, указывающим на идеальную аппроксимациюВ R2020a изменилось поведение
goodnessOfFit теперь возвращает норму ошибки E в качестве значения соответствия для всех трех функций затрат (MSE, NRMSE и NMSE). Ранее, goodnessOfFit возвращает одно дополнение нормы ошибок, 1-E, для значений соответствия, в которых использовались функции затрат NRMSE или NMSE. Это изменение позволяет согласованно интерпретировать значения соответствия для трех функций затрат, при этом идеальное значение соответствия равно нулю представляет собой идеальное соответствие.
Ранее вычисленные значения соответствия NRMSE и NMSE являются дополнениями значений соответствия, вычисленных с помощью текущего программного обеспечения. Аналогично, значение вписывания NRMSE теперь является дополнением вписывания, используемого в процентном значении, которое compare вычисляет. Например, если предыдущий goodnessOfFit значение аппроксимации было 0,8, текущее значение аппроксимации - 0,2. A goodnessOfFit значение аппроксимации 0,2 эквивалентно compare подходящая доля 80%.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.