Программа Curve Fitting Toolbox™ позволяет вычислить доверие границы для подобранных коэффициентов и предсказания границы для новых наблюдений или для подобранной функции. Кроме того, для границ предсказания можно вычислить одновременные границы, которые учитывают все значения предиктора, или можно вычислить несовпадающие границы, которые учитывают только отдельные значения предиктора. Ограничения доверия коэффициентов представлены численно, в то время как границы предсказания отображаются графически и также доступны численно.
Доступные границы доверия и предсказания суммируются ниже.
Типы границ доверия и предсказания
Тип интервала | Описание |
---|---|
Установленные коэффициенты | Доверительные границы для установленных коэффициентов |
Новое наблюдение | Границы предсказания для нового наблюдения (значение отклика) |
Новая функция | Предсказания для нового значения функции |
Примечание
Границы предсказания также часто описываются как доверительные границы, потому что вы вычисляете доверительный интервал для предсказанной характеристики.
Доверительные и прогнозные границы определяют нижнее и верхнее значения связанного интервала и определяют ширину интервала. Ширина интервала указывает, насколько вы неопределенны относительно подобранных коэффициентов, предсказанного наблюдения или предсказанной подгонки. Например, очень широкий интервал для подобранных коэффициентов может указать, что вы должны использовать больше данных при подгонке, прежде чем вы можете сказать что-либо очень определенное о коэффициентах.
Границы заданы с заданным уровнем уверенности. Уровень уверенности часто составляет 95%, но это может быть любое значение, такое как 90%, 99%, 99,9% и так далее. Например, вы можете принять 5% шанс быть неправильным в прогнозировании нового наблюдения. Поэтому вы вычисляете 95% интервал предсказания. Этот интервал указывает, что у вас есть 95% вероятность того, что новое наблюдение действительно содержится в нижней и верхней границах предсказания.
Доверительные ограничения для подгоняемых коэффициентов заданы как
где b коэффициенты, произведенные подгонкой, t зависит от доверительного уровня и вычисляется с помощью обратной функции t совокупного распределения Стьюдента, и S является вектором диагональных элементов из оцененной ковариационной матрицы оценок коэффициентов, (XTX)–1s2. В линейной подгонке X является матрицей проекта, в то время как для нелинейной подгонки X является якобианом подобранных значений относительно коэффициентов. XT транспонирование X и s2 - средняя квадратичная невязка.
Доверительные границы отображаются на панели Результаты в приложении Аппроксимирование Кривыми в следующем формате.
p1 = 1.275 (1.113, 1.437)
Установленное значение коэффициента p1
равен 1.275, нижняя граница равна 1.113, верхняя граница равна 1.437, а ширина интервала равна 0.324. По умолчанию уровень доверия для границ равен 95%.
Можно вычислить доверительные интервалы в командной строке с confint
функция.
Как упоминалось ранее, можно вычислить границы предсказания для подобранной кривой. Предсказание основано на существующей подгонке к данным. Кроме того, границы могут быть одновременными и измерять доверие для всех значений предиктора, или они могут быть несовпадающими и измерять доверие только для одного предопределенного значения предиктора. Если вы предсказываете новое наблюдение, неживые границы измеряют доверие в том, что новое наблюдение лежит внутри интервала, заданного одним предикторным значением. Одновременные ограничения измеряют доверие в том, что новое наблюдение лежит в пределах интервала независимо от значения предиктора.
Связанный тип | Наблюдение | Функциональный |
---|---|---|
Одновременный |
|
|
Неодновременный |
|
|
Где:
s2 - средняя квадратичная невязка
t зависит от доверительного уровня и вычисляется с помощью обратной функции t совокупного распределения Студента
f зависит от доверительного уровня и вычисляется с помощью обратной функции F совокупного распределения.
x - вектор-строка матрицы проекта или якобиан, рассчитанный с заданным значением предиктора.
Вы можете графически отображать границы прогноза с помощью приложения Аппроксимирование Кривыми. С помощью приложения Аппроксимирование Кривыми можно отображать несимультанные границы предсказания для новых наблюдений с помощью Tools > Prediction Bounds. По умолчанию уровень доверия для границ равен 95%. Можно изменить этот уровень на любое значение с помощью Tools > Prediction Bounds > Custom.
Вы можете отобразить числовые границы предсказания любого типа в командной строке с predint
функция.
Чтобы понять величины, связанные с каждым типом интервала предсказания, напоминайте, что данные, подгонка и невязки связаны между собой формулой
данные = подгонка + невязки
где условия подгонки и невязки являются оценками членов в формуле
данные = модель + случайная ошибка
Предположим, что вы планируете взять новое наблюдение по значению предиктора x n + 1. Вызовите новый y наблюдения n + 1 (x n + 1) и связанную с ним ошибку ε n + 1. Тогда
<reservedrangesplaceholder8> <reservedrangesplaceholder7> +1 (x <reservedrangesplaceholder5> +1) = f (x <reservedrangesplaceholder2> +1) + <reservedrangesplaceholder1> <reservedrangesplaceholder0> +1
где f (x n + 1) - это истинная, но неизвестная функция, которую вы хотите оценить как x n + 1. Вероятные значения для нового наблюдения или для предполагаемой функции заданы несимультанными границами предсказания.
Если вместо этого вы хотите, чтобы вероятное значение нового наблюдения было связано с любым значением предиктора, предыдущее уравнение становится
<reservedrangesplaceholder5> <reservedrangesplaceholder4> +1 (<reservedrangesplaceholder3>) = f (<reservedrangesplaceholder1>) + ε
Вероятные значения для этого нового наблюдения или для предполагаемой функции заданы границами одновременного предсказания.
Типы границ предсказания суммируются ниже.
Типы границ предсказания
Тип привязки | Одновременно или не одновременно | Ассоциированное уравнение |
---|---|---|
Наблюдение | Не одновременно | <reservedrangesplaceholder3> <reservedrangesplaceholder2> +1 (x <reservedrangesplaceholder0> +1) |
Одновременный | y n + 1 (x), для всех x | |
Функция | Не одновременно | f (x <reservedrangesplaceholder0> +1) |
Одновременный | f (x), для всех x |
Несовпадающие и одновременные границы предсказания для нового наблюдения и подобранной функции показаны ниже. Каждый график содержит три кривые: подгонку, нижние доверительные границы и верхние доверительные границы. Подгонка является однократной экспоненциальной к сгенерированным данным, и границы отражают 95% доверительный уровень. Обратите внимание, что интервалы, связанные с новым наблюдением, шире, чем установленные функциональные интервалы, из-за дополнительной неопределенности в прогнозировании нового значения отклика (кривая плюс случайные ошибки).
Вычислите и постройте графики интервалов наблюдений и функционального предсказания для подгонки к зашумленным данным.
Сгенерируйте зашумленные данные с экспоненциальным трендом.
x = (0:0.2:5)'; y = 2*exp(-0.2*x) + 0.5*randn(size(x));
Подбор кривой к данным с помощью однократного экспоненциала.
fitresult = fit(x,y,'exp1');
Вычислите 95% интервалы наблюдений и функционального предсказания, как синхронные, так и несовпадающие. Несимметричные ограничения предназначены для отдельных элементов x; одновременные ограничения для всех элементов x.
p11 = predint(fitresult,x,0.95,'observation','off'); p12 = predint(fitresult,x,0.95,'observation','on'); p21 = predint(fitresult,x,0.95,'functional','off'); p22 = predint(fitresult,x,0.95,'functional','on');
Постройте график интервалов данных, подгонки и предсказания. Границы наблюдений шире функциональных границ, потому что они измеряют неопределенность предсказания подобранной кривой плюс случайное изменение нового наблюдения.
subplot(2,2,1) plot(fitresult,x,y), hold on, plot(x,p11,'m--'), xlim([0 5]), ylim([-1 5]) title('Nonsimultaneous Observation Bounds','FontSize',9) legend off subplot(2,2,2) plot(fitresult,x,y), hold on, plot(x,p12,'m--'), xlim([0 5]), ylim([-1 5]) title('Simultaneous Observation Bounds','FontSize',9) legend off subplot(2,2,3) plot(fitresult,x,y), hold on, plot(x,p21,'m--'), xlim([0 5]), ylim([-1 5]) title('Nonsimultaneous Functional Bounds','FontSize',9) legend off subplot(2,2,4) plot(fitresult,x,y), hold on, plot(x,p22,'m--'), xlim([0 5]), ylim([-1 5]) title('Simultaneous Functional Bounds','FontSize',9) legend({'Data','Fitted curve', 'Prediction intervals'},... 'FontSize',8,'Location','northeast')