Следующие темы соответствуют некоторым данным о переписи с помощью полиномиальных уравнений до шестой степени и экспоненциального уравнения одно термина. Шаги демонстрируют как к:
Загрузите данные и исследуйте различные подгонки с помощью различных моделей библиотеки.
Ищите лучшую подгонку:
Сравнение графических результатов подгонки
Сравнение числовых результатов подгонки включая подходящие коэффициенты и статистику качества подгонки
Экспортируйте свои лучшие результаты подгонки в MATLAB® рабочая область, чтобы анализировать модель в командной строке.
Сохраните сеанс и сгенерируйте код MATLAB для всех подгонок и графики.
Необходимо загрузить переменные данных в рабочее пространство MATLAB, прежде чем можно будет соответствовать данным с помощью приложения Curve Fitting. В данном примере данные хранятся в файле MATLAB census.mat
.
Загрузите данные:
load census
Рабочая область содержит две новых переменные:
cdate
вектор-столбец, содержащий годы 1790 - 1990 с 10-летним шагом.
pop
вектор-столбец с американскими фигурами населения, которые соответствуют годам в cdate
.
Откройте приложение Curve Fitting:
cftool
Выберите имена переменных cdate
и pop
от X data и списков Y data.
Приложение Curve Fitting создает и строит подгонку по умолчанию к X входам (или данные о предикторе) и Y выход (или данные об ответе). Подгонка по умолчанию является линейным типом аппроксимации полиномом. Заметьте, что подходящие настройки отображают Polynomial
, из Degree 1
.
Измените подгонку к второму полиному степени путем выбора 2
из списка Degree.
Приложение Curve Fitting строит новую подгонку. Приложение Curve Fitting вычисляет новую подгонку, когда вы изменяете подходящие настройки, потому что Auto fit выбран по умолчанию. Если переоборудование является трудоемким, например, для больших наборов данных, можно выключить Auto fit путем снятия флажка.
Результаты отображений приложения Curve Fitting подбора кривой данным о переписи квадратичным полиномом в панели Результатов, где можно просмотреть модель библиотеки, адаптированные коэффициенты и статистику качества подгонки.
Измените Fit name в poly2
.
Отобразите остаточные значения путем выбора View> Residuals Plot.
Остаточные значения указывают, что лучшая подходящая сила возможна. Поэтому продолжите исследовать различные подгонки к набору данных переписи.
Добавьте новые подгонки, чтобы попробовать другие уравнения библиотеки.
Щелкните правой кнопкой по подгонке по Table of Fits и выберите Duplicate “poly2
” (или использование меню Fit).
Совет
Для припадков данного типа (например, полиномы), Дублирующийся “fitname
использования” вместо новой подгонки, потому что копирование подгонки требует меньшего количества шагов. Дублированная подгонка содержит те же выборы данных и подходящие настройки.
Измените полиномиальный Degree в 3
и переименуйте подходящий poly3
.
Когда вы соответствуете более высоким полиномам степени, панель Результатов выводит это предупреждение:
Equation is badly conditioned. Remove repeated data points or try centering and scaling.
Нормируйте данные путем выбора флажка шкалы и Center.
Повторите шаги a и b, чтобы добавить аппроксимации полиномом до шестой степени, и затем добавить экспоненциальное приближение.
Для каждой новой подгонки посмотрите на информацию о панели Results и график остаточных значений в приложении Curve Fitting.
Остаточные значения хорошей подгонки должны выглядеть случайными без очевидного шаблона. Шаблон, такой как тенденция для последовательных остаточных значений, чтобы иметь тот же знак, может быть индикацией, что существует лучшая модель.
Предупреждение о масштабировании возникает, потому что подходящая процедура использует cdate
значения как базис для матрицы с очень большими значениями. Распространение cdate
значения приводят к масштабирующейся проблеме. Чтобы решить эту проблему, можно нормировать cdate
данные. Нормализация масштабирует данные о предикторе, чтобы улучшить точность последующих числовых расчетов. Способ нормировать cdate
должен сосредоточить его в нулевом среднем значении и масштабировать его к модульному стандартному отклонению. Эквивалентный код:
(cdate - mean(cdate))./std(cdate)
Примечание
Поскольку изменения данных о предикторе после нормализации, значения подходящих коэффициентов также изменяются когда по сравнению с исходными данными. Однако функциональная форма данных и получившейся статистики качества подгонки не изменяется. Кроме того, данные отображены в графиках приложения Curve Fitting с помощью исходной шкалы.
Чтобы определить лучшую подгонку, необходимо исследовать и графические и числовые результаты подгонки.
Определите лучшую подгонку путем исследования графиков подгонок и остаточных значений. Чтобы просмотреть графики для каждой подгонки в свою очередь, дважды кликните подгонку в Таблице Подгонок. Графические результаты подгонки указывают что:
Подгонки и остаточные значения для полиномиальных уравнений все подобны, мешая выбирать лучшее.
Подгонка и остаточные значения для одно термина экспоненциальное уравнение указывают, что это - плохая подгонка в целом. Поэтому это - плохой выбор, и можно удалить экспоненциальное приближение от кандидатов на лучшую подгонку.
Исследуйте поведение подгонок до года 2050. Цель подбора кривой данным о переписи состоит в том, чтобы экстраполировать лучшую подгонку, чтобы предсказать будущие значения населения.
Дважды кликните аппроксимацию полиномом шестой степени в Таблице Подгонок, чтобы просмотреть графики для этой подгонки.
Измените пределы осей графиков путем выбора Tools> Axes Limits.
Измените Maximum X (cdate) к 2050
, и увеличьте Maximum Main Y (pop) до 400
, и нажмите Enter.
Исследуйте подходящий график. Поведение аппроксимации полиномом шестой степени вне области значений данных делает его плохим выбором для экстраполяции, и можно отклонить эту подгонку.
Когда вы больше не можете устранять подгонки путем исследования их графически, необходимо исследовать числовые результаты подгонки. Отображения приложения Curve Fitting два типа числовых результатов подгонки:
Статистика качества подгонки
Доверительные границы на подходящих коэффициентах
Статистические данные качества подгонки помогают вам определить, как хорошо кривая соответствует данным. Доверительные границы на коэффициентах определяют свою точность.
Исследуйте числовые результаты подгонки:
Для каждой подгонки просмотрите статистику качества подгонки в панели Results.
Сравните все подгонки одновременно в Table of Fits. Кликните по заголовкам столбцов к виду результатами статистики.
Исследуйте сумму квадратов из-за ошибки (SSE) и настроенный R - квадратная статистика, чтобы помочь определить лучшую подгонку. Статистическая величина SSE является ошибкой наименьших квадратов подгонки со значением ближе, чтобы обнулить указание на лучшую подгонку. Настроенный R - квадратная статистическая величина является обычно лучшим индикатором подходящего качества, когда вы добавляете дополнительные коэффициенты в свою модель.
Самый большой SSE для exp1
указывает, что это - плохая подгонка, который вы уже определенный путем исследования подгонки и остаточных значений. Самое низкое значение SSE сопоставлено с poly6
. Однако поведение этой подгонки вне области значений данных делает его плохим выбором для экстраполяции, таким образом, вы уже отклонили эту подгонку путем исследования графиков с новыми пределами по осям.
Следующее лучшее значение SSE сопоставлено с аппроксимацией полиномом пятой степени, poly5
, предложение его может быть лучшей подгонкой. Однако SSE и настроенный R - квадратные значения для остающихся аппроксимаций полиномом являются всеми очень друг близко к другу. Какой необходимо выбрать?
Решите лучший подходящий вопрос путем исследования доверительных границ на остающееся, помещается в панель Результатов. Дважды кликните подгонку в Table of Fits, чтобы открыться (или особое внимание, если уже открываются), подходящая фигура, и просмотрите панель Результатов. fit figure отображает подходящие настройки, панель результатов и графики для одной подгонки.
Отобразите полином пятой степени и poly2
соответствуйте фигурам рядом друг с другом. Исследование результатов рядом друг с другом может помочь вам оценить подгонки.
Чтобы показать двум подходящим фигурам одновременно, используйте средства управления размещением в правом верхнем из приложения Curve Fitting или выберите Window> Left/Right Tile или Top/Bottom Tile.
Чтобы изменить отображенные подгонки, щелкните, чтобы выбрать подходящую фигуру и затем дважды кликнуть подгонку, чтобы отобразиться в Table of Fits.
Сравните коэффициенты и границы (p1
, p2
, и так далее) в Результатах разделяют на области для обеих подгонок, poly5
и poly2
. Тулбокс вычисляет 95% доверительных границ на коэффициенты. Доверительные границы на коэффициентах определяют свою точность. Проверяйте уравнения в панель Результатов (f(x)=p1*x+p2*x
...) видеть модель называет для каждого коэффициента. Обратите внимание на то, что p2
относится к p2*x
назовите в Poly2
и p2*x^4
назовите в Poly5
. Не сравнивайте нормированные коэффициенты непосредственно с ненормированными коэффициентами.
Совет
Используйте меню View, чтобы скрыть Fit Settings или Table of Fits, если вы хотите, чтобы больше пробела просмотрело и сравнило графики и результаты, как показано затем. Можно также скрыть панель Results, чтобы показать только графики.
Границы пересекают нуль на p1
, p2
, и p3
коэффициенты для полинома пятой степени. Это означает, что вы не можете быть уверены, что эти коэффициенты отличаются от нуля. Если термины модели высшего порядка могут иметь коэффициенты нуля, они не помогают с подгонкой, которая предполагает, что эта модель сверхсоответствует данным о переписи.
Однако маленькие доверительные границы не пересекают нуль на p1
, p2
, и p3
для квадратичной подгонки, poly2
укажите, что подходящие коэффициенты известны справедливо точно.
Поэтому после исследования и графические и числовые результаты подгонки, необходимо выбрать poly2
как лучшая подгонка, чтобы экстраполировать данные о переписи.
Примечание
Подходящие коэффициенты, сопоставленные с постоянными, линейными, и квадратичными терминами, почти идентичны для каждого нормированного полиномиального уравнения. Однако когда полиномиальная степень увеличивается, содействующие границы, сопоставленные с более высоким перекрестным нулем терминов степени, который предлагает сверхсоответствовать.
Можно использовать Save to Workspace, чтобы экспортировать выбранную подгонку и связанные результаты подгонки к рабочему пространству MATLAB. Подгонка сохранена как объект MATLAB, и связанные результаты подгонки сохранены как структуры.
Щелкните правой кнопкой по poly2
поместитесь в Table of Fits и выберите Save “poly2” to Workspace (или используйте меню Fit).
Нажмите OK, чтобы сохранить с именами по умолчанию.
fittedmodel
сохранено как cfit
Curve Fitting Toolbox™ объект.
>> whos fittedmodel Name Size Bytes Class fittedmodel 1x1 822 cfit
Исследуйте fittedmodel
cfit
возразите, чтобы отобразить модель, подходящие коэффициенты и доверительные границы для подходящих коэффициентов:
fittedmodel fittedmodel = Linear model Poly2: fittedmodel(x) = p1*x^2 + p2*x + p3 Coefficients (with 95% confidence bounds): p1 = 0.006541 (0.006124, 0.006958) p2 = -23.51 (-25.09, -21.93) p3 = 2.113e+004 (1.964e+004, 2.262e+004)
Исследуйте goodness
структура, чтобы отобразить результаты качества подгонки:
goodness goodness = sse: 159.0293 rsquare: 0.9987 dfe: 18 adjrsquare: 0.9986 rmse: 2.9724
Исследуйте output
структура, чтобы отобразить дополнительную информацию, сопоставленную с подгонкой, такой как остаточные значения:
output output = numobs: 21 numparam: 3 residuals: [21x1 double] Jacobian: [21x3 double] exitflag: 1 algorithm: 'QR factorization and solve' iterations: 1
Можно оценить (интерполируйте или экстраполируйте), дифференцируйтесь или интегрируйте подгонку в указанном диапазоне данных с различными функциями постобработки.
Например, чтобы оценить fittedmodel
в векторе из значений, чтобы экстраполировать к году 2050, введите:
y = fittedmodel(2000:10:2050) y = 274.6221 301.8240 330.3341 360.1524 391.2790 423.7137
plot(fittedmodel, cdate, pop) hold on plot(fittedmodel, 2000:10:2050, y) hold off
Для примера, воспроизводящего этот интерактивный анализ данных переписи с помощью командной строки, смотрите Полиномиальный Curve Fitting.
Тулбокс предоставляет несколько возможностей для сохранения вашей работы. Можно сохранить одну или несколько подгонок и связанные результаты подгонки как переменные к рабочему пространству MATLAB. Можно затем использовать эту сохраненную информацию для целей документации, или расширять исследование данных и анализ. В дополнение к сохранению вашей работы к переменным рабочего пространства MATLAB вы можете:
Сохраните текущий сеанс аппроксимирования кривыми путем выбора File> Save Session. Файл сеанса содержит все подгонки и переменные на вашем сеансе и помнит ваше размещение. Смотрите Сохраняют и Сеансы Перезагрузки.
Сгенерируйте код MATLAB, чтобы воссоздать все подгонки и графики в вашем сеансе путем выбора File> Generate Code. Приложение Curve Fitting генерирует код от вашего сеанса и отображает файл в редакторе MATLAB.
Можно воссоздать подгонки и графики путем вызова файла в командной строке с исходными данными как входные параметры. Можно также вызвать файл с новыми данными и автоматизировать процесс подбора кривой нескольким наборам данных. Для получения дополнительной информации см. Генерирующийся Код из Приложения Curve Fitting.