NonLinearModel class

Нелинейный класс модели регрессии

Описание

Объект, включающий обучающие данные, описание модели, диагностическую информацию и адаптированные коэффициенты для нелинейной регрессии. Предскажите ответы модели с predict или feval методы.

Конструкция

Создайте NonLinearModel объектное использование fitnlm.

Свойства

развернуть все

Это свойство доступно только для чтения.

Ковариационная матрица коэффициента оценивает в виде p-by-p матрицу числовых значений. p является количеством коэффициентов в подобранной модели.

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

Типы данных: single | double

Это свойство доступно только для чтения.

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

Типы данных: cell

Это свойство доступно только для чтения.

Содействующие значения в виде таблицы. Coefficients содержит одну строку для каждого коэффициента и этих столбцов:

  • Estimate — Предполагаемое содействующее значение

  • SE — Стандартная погрешность оценки

  • tStatt - статистическая величина для теста, что коэффициент является нулем

  • pValuep - значение для t - статистическая величина

Использование anova (только для модели линейной регрессии) или coefTest выполнять другие тесты на коэффициентах. Использование coefCI найти доверительные интервалы содействующих оценок.

Чтобы получить любой из этих столбцов как вектор, индексируйте в свойство с помощью записи через точку. Например, получите предполагаемый вектор коэффициентов в модели mdl:

beta = mdl.Coefficients.Estimate

Типы данных: table

Это свойство доступно только для чтения.

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

Поле ЗначениеУтилита
LeverageДиагональные элементы HatMatrixРычаги указывают, до какой степени ожидаемое значение для наблюдения определяется наблюдаемой величиной для того наблюдения. Значение близко к 1 указывает, что предсказание в основном определяется тем наблюдением с небольшим вкладом от других наблюдений. Значение близко к 0 указывает, что подгонка в основном определяется другими наблюдениями. Для модели с P коэффициенты и N наблюдения, среднее значение Leverage P/N. Наблюдение с Leverage больше, чем 2*P/N может рассматриваться как имеющий высокие рычаги.
CooksDistanceМера повара масштабированного изменения в подходящих значенияхCooksDistance мера масштабированного изменения в подходящих значениях. Наблюдение с CooksDistance больше, чем три раза расстояние среднего Кука может быть выброс.
HatMatrixМатрица проекции, чтобы вычислить адаптированный из наблюдаемых ответовHatMatrix N- N матрицируйте таким образом что   Fitted = HatMatrix*Y, где Y вектор отклика и Fitted вектор из подходящих значений отклика.

Типы данных: table

Это свойство доступно только для чтения.

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

Типы данных: double

Это свойство доступно только для чтения.

Адаптированные (предсказанные) значения на основе входных данных в виде числового вектора. fitnlm попытки сделать Fitted максимально близко к данным об ответе.

Типы данных: single | double

Это свойство доступно только для чтения.

Информация модели в виде NonLinearFormula объект.

Отобразите формулу подобранной модели mdl при помощи записи через точку.

mdl.Formula

Это свойство доступно только для чтения.

Информация о подходящем процессе в виде структуры со следующими полями:

  • InitialCoefs — Начальные содействующие значения (beta0 вектор)

  • IterOpts — Опции включены в Options аргумент пары "имя-значение" для fitnlm.

Типы данных: struct

Это свойство доступно только для чтения.

Логарифмическая правдоподобность распределения модели в значениях отклика в виде числового значения. Среднее значение адаптировано из модели, и другие параметры оцениваются как часть подгонки модели.

Типы данных: single | double

Это свойство доступно только для чтения.

Критерий сравнения модели в виде структуры с этими полями:

  • AIC — Критерий информации о Akaike.     AIC = –2*logL + 2*m, где logL логарифмическая правдоподобность и m количество предполагаемых параметров.

  • AICc — Критерий информации о Akaike откорректирован для объема выборки.     AICc = AIC + (2*m*(m + 1))/(n – m – 1), где n количество наблюдений.

  • BIC — Байесов информационный критерий.     BIC = –2*logL + m*log(n).

  • CAIC — Сопоставимый информационный критерий Akaike.     CAIC = –2*logL + m*(log(n) + 1).

Информационные критерии являются инструментами выбора модели, которые можно использовать, чтобы сравнить подгонку многоуровневых моделей к тем же данным. Эти критерии являются основанными на вероятности мерами подгонки модели, которые включают штраф за сложность (а именно, количество параметров). Различные информационные критерии отличает форма штрафа.

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

Чтобы получить любое из значений критерия как скаляр, индексируйте в свойство с помощью записи через точку. Например, получите значение AIC aic в модели mdl:

aic = mdl.ModelCriterion.AIC

Типы данных: struct

Это свойство доступно только для чтения.

Среднеквадратическая ошибка в виде числового значения. Среднеквадратическая ошибка является оценкой отклонения остаточного члена в модели.

Типы данных: single | double

Это свойство доступно только для чтения.

Количество коэффициентов в подобранной модели в виде положительного целого числа. NumCoefficients совпадает с NumEstimatedCoefficients для NonLinearModel объекты. NumEstimatedCoefficients равно степеням свободы для регрессии.

Типы данных: double

Это свойство доступно только для чтения.

Количество предполагаемых коэффициентов в подобранной модели в виде положительного целого числа. NumEstimatedCoefficients совпадает с NumCoefficients для NonLinearModel объекты. NumEstimatedCoefficients равно степеням свободы для регрессии.

Типы данных: double

Это свойство доступно только для чтения.

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

Типы данных: double

Это свойство доступно только для чтения.

Количество переменных во входных данных в виде положительного целого числа. NumVariables количество переменных в исходной таблице или наборе данных или общем количестве столбцов в матрице предиктора и векторе отклика.

NumVariables также включает любые переменные, которые не используются, чтобы подбирать модель как предикторы или как ответ.

Типы данных: double

Это свойство доступно только для чтения.

Информация о наблюдении в виде n-by-4 таблица, где n равен количеству строк входных данных. ObservationInfo содержит столбцы, описанные в этой таблице.

СтолбецОписание
WeightsВеса наблюдения в виде числового значения. Значением по умолчанию является 1.
ExcludedИндикатор исключенных наблюдений в виде логического значения. Значением является true если вы исключаете наблюдение из подгонки при помощи 'Exclude' аргумент пары "имя-значение".
MissingИндикатор недостающих наблюдений в виде логического значения. Значением является true если наблюдение отсутствует.
SubsetИндикатор того, использует ли подходящая функция наблюдение в виде логического значения. Значением является true если наблюдение не исключено или пропавшие без вести, означая, что подходящая функция использует наблюдение.

Чтобы получить любой из этих столбцов как вектор, индексируйте в свойство с помощью записи через точку. Например, получите вектор веса w из модели mdl:

w = mdl.ObservationInfo.Weights

Типы данных: table

Это свойство доступно только для чтения.

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

  • Если подгонка основана на таблице или наборе данных, содержащем имена наблюдения, ObservationNames использование те имена.

  • В противном случае, ObservationNames массив пустой ячейки.

Типы данных: cell

Это свойство доступно только для чтения.

Имена предикторов раньше подбирали модель в виде массива ячеек из символьных векторов.

Типы данных: cell

Это свойство доступно только для чтения.

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

СтолбецОписание
RawНаблюдаемый минус подходящие значения
PearsonНеобработанные остаточные значения, разделенные полностью среднеквадратическая ошибка (RMSE)
StandardizedНеобработанные остаточные значения разделены на их предполагаемое стандартное отклонение
StudentizedНеобработанная невязка, разделенная на независимую оценку остаточного стандартного отклонения. Невязка для наблюдения i разделена на оценку ошибочного стандартного отклонения на основе всех наблюдений кроме наблюдения i.

Использование plotResiduals создать график остаточных значений. Для получения дополнительной информации смотрите Остаточные значения.

Строки, не используемые в подгонке из-за отсутствующих значений (в ObservationInfo.Missing) или исключенные значения (в ObservationInfo.Excluded) содержите NaN значения.

Чтобы получить любой из этих столбцов как вектор, индексируйте в свойство с помощью записи через точку. Например, получите необработанный вектор невязок r в модели mdl:

r = mdl.Residuals.Raw

Типы данных: table

Это свойство доступно только для чтения.

Имя переменной отклика в виде вектора символов.

Типы данных: char

Это свойство доступно только для чтения.

Среднеквадратическая ошибка в виде числового значения. Среднеквадратическая ошибка является оценкой стандартного отклонения остаточного члена в модели.

Типы данных: single | double

Это свойство доступно только для чтения.

Устойчивая подходящая информация в виде структуры со следующими полями:

Поле Описание
WgtFunУстойчивая функция взвешивания, такая как 'bisquare' (см. robustfit)
TuneЗначение задало для настройки параметра (может быть [])
WeightsВектор из весов используется в итоговой итерации устойчивой подгонки

Эта структура пуста если fitnlm созданный модель с помощью устойчивой регрессии.

Типы данных: struct

Это свойство доступно только для чтения.

Значение R-squared для модели в виде структуры с двумя полями:

  • Ordinary — Обычный (неприспособленный) R-squared

  • Adjusted — R-squared, настроенный для количества коэффициентов

Значение R-squared является пропорцией полной суммы квадратов, объясненных моделью. Обычное значение R-squared относится к SSR и SST свойства:

Rsquared = SSR/SST,

где SST полная сумма квадратов и SSR сумма квадратов регрессии.

Для получения дополнительной информации смотрите Коэффициент детерминации (R-Squared).

Чтобы получить любое из этих значений как скаляр, индексируйте в свойство с помощью записи через точку. Например, получите настроенное значение R-squared в модели mdl:

r2 = mdl.Rsquared.Adjusted

Типы данных: struct

Это свойство доступно только для чтения.

Сумма квадратичных невязок (остаточные значения) в виде числового значения.

Типы данных: single | double

Это свойство доступно только для чтения.

Сумма квадратов регрессии в виде числового значения. Сумма квадратов регрессии равна сумме отклонений в квадрате подходящих значений от их среднего значения.

Типы данных: single | double

Это свойство доступно только для чтения.

Полная сумма квадратов в виде числового значения. Полная сумма квадратов равна сумме отклонений в квадрате вектора отклика y от mean(y).

Типы данных: single | double

Это свойство доступно только для чтения.

Информация о переменных содержится в VariablesВ виде таблицы с одной строкой для каждой переменной и столбцов, описанных в этой таблице.

СтолбецОписание
ClassПеременный класс в виде массива ячеек из символьных векторов, такого как 'double' и 'categorical'
Range

Переменный диапазон в виде массива ячеек векторов

  • Непрерывная переменная — Двухэлементный вектор [minMax ], минимальные и максимальные значения

  • Категориальная переменная — Вектор из отличных значений переменных

InModelИндикатор которого переменные находятся в подобранной модели в виде логического вектора. Значением является true если модель включает переменную.
IsCategoricalИндикатор категориальных переменных в виде логического вектора. Значением является true если переменная является категориальной.

VariableInfo также включает любые переменные, которые не используются, чтобы подбирать модель как предикторы или как ответ.

Типы данных: table

Это свойство доступно только для чтения.

Имена переменных в виде массива ячеек из символьных векторов.

  • Если подгонка основана на таблице или наборе данных, это свойство обеспечивает имена переменных в таблице или наборе данных.

  • Если подгонка основана на матрице предиктора и векторе отклика, VariableNames содержит значения, заданные 'VarNames' аргумент пары "имя-значение" подходящего метода. Значение по умолчанию 'VarNames' {'x1','x2',...,'xn','y'}.

VariableNames также включает любые переменные, которые не используются, чтобы подбирать модель как предикторы или как ответ.

Типы данных: cell

Это свойство доступно только для чтения.

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

Variables также включает любые переменные, которые не используются, чтобы подбирать модель как предикторы или как ответ.

Типы данных: table

Функции объекта

coefCIДоверительные интервалы содействующих оценок нелинейной модели регрессии
coefTestЛинейный тест гипотезы на нелинейных коэффициентах модели регрессии
fevalОцените нелинейное предсказание модели регрессии
partialDependenceВычислите частичную зависимость
plotPartialDependenceСоздайте графики отдельного условного ожидания (ICE) и частичный график зависимости (PDP)
plotDiagnosticsПостройте диагностику нелинейной модели регрессии
plotResidualsПостройте остаточные значения нелинейной модели регрессии
plotSliceГрафик срезов через подходящую нелинейную поверхность регрессии
predictПредскажите ответ нелинейной модели регрессии
randomСимулируйте ответы для нелинейной модели регрессии

Примеры

свернуть все

Подбирайте нелинейную модель регрессии для автоматического пробега на основе carbig данные. Предскажите пробег среднего автомобиля.

Загрузите выборочные данные. Создайте матричный X содержа измерения для лошадиной силы (Horsepower) и вес (Weight) из каждого автомобиля. Создайте векторный y содержа значения отклика в милях на галлон (MPG).

load carbig
X = [Horsepower,Weight];
y = MPG;

Подбирайте нелинейную модель регрессии.

modelfun = @(b,x)b(1) + b(2)*x(:,1).^b(3) + ...
    b(4)*x(:,2).^b(5);
beta0 = [-50 500 -1 500 -1];
mdl = fitnlm(X,y,modelfun,beta0)
mdl = 
Nonlinear regression model:
    y ~ b1 + b2*x1^b3 + b4*x2^b5

Estimated Coefficients:
          Estimate      SE        tStat       pValue 
          ________    _______    ________    ________

    b1     -49.383     119.97    -0.41164     0.68083
    b2      376.43     567.05     0.66384     0.50719
    b3    -0.78193    0.47168     -1.6578    0.098177
    b4      422.37     776.02     0.54428     0.58656
    b5    -0.24127    0.48325    -0.49926     0.61788


Number of observations: 392, Error degrees of freedom: 387
Root Mean Squared Error: 3.96
R-Squared: 0.745,  Adjusted R-Squared 0.743
F-statistic vs. constant model: 283, p-value = 1.79e-113

Найдите предсказанный пробег среднего автомобиля. Поскольку выборочные данные содержат некоторое отсутствие (NaN) наблюдения, вычислите среднее значение с помощью mean с 'omitnan' опция.

Xnew = mean(X,'omitnan')  
Xnew = 1×2
103 ×

    0.1051    2.9794

MPGnew = predict(mdl,Xnew)
MPGnew = 21.8073

Больше о

развернуть все