Класс нелинейной регрессионой модели
Объект, содержащий обучающие данные, описание модели, диагностическую информацию и подобранные коэффициенты для нелинейной регрессии. Предсказать ответы модели с помощью predict
или feval
методы.
Создайте NonLinearModel
использование объекта fitnlm
.
CoefficientCovariance
- Ковариационная матрица оценок коэффициентовЭто свойство доступно только для чтения.
Ковариационная матрица оценок коэффициентов, заданная в виде p -by - p матрицы числовых значений. p - количество коэффициентов в подобранной модели.
Для получения дополнительной информации см. «Стандартные ошибки коэффициентов и доверительные интервалы».
Типы данных: single
| double
CoefficientNames
- Имена коэффициентовЭто свойство доступно только для чтения.
Имена коэффициентов, заданные как массив ячеек из векторов символов, каждый из которых содержит имя соответствующего термина.
Типы данных: cell
Coefficients
- Значения коэффициентовЭто свойство доступно только для чтения.
Значения коэффициентов, заданные как таблица. Coefficients
содержит по одной строке для каждого коэффициента и следующих столбцов:
Estimate
- Расчетное значение коэффициента
SE
- Стандартная ошибка оценки
tStat
- t -статистический для теста, что коэффициент равен нулю
pValue
- p -value для t -statistic
Использовать anova
(только для линейной регрессионой модели) или coefTest
для выполнения других тестов коэффициентов. Использовать coefCI
чтобы найти доверительные интервалы оценок коэффициентов.
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите вектор оцененного коэффициента в модели mdl
:
beta = mdl.Coefficients.Estimate
Типы данных: table
Diagnostics
- Диагностическая информацияЭто свойство доступно только для чтения.
Диагностическая информация для модели, заданная как таблица. Диагностика может помочь идентифицировать выбросы и влиятельные наблюдения. Diagnostics
содержит следующие поля.
Область | Значение | Утилита |
---|---|---|
Leverage | Диагональные элементы HatMatrix | Рычаг указывает, в какой степени предсказанное значение для наблюдения определяется наблюдаемым значением для этого наблюдения. Значение, близкое к 1 указывает, что предсказание в значительной степени определяется этим наблюдением, с небольшим вкладом от других наблюдений. Значение, близкое к 0 указывает, что подгонка в значительной степени определяется другими наблюдениями. Для модели с P коэффициенты и N наблюдения, среднее значение Leverage является P/N . Наблюдение с Leverage больше 2*P/N можно рассматривать как имеющий высокое плечо. |
CooksDistance | Мера Кука масштабированного изменения подобранных значений | CooksDistance является мерой масштабированного изменения подобранных значений. Наблюдение с CooksDistance больше чем в три раза больше среднего расстояния Кука может быть выбросы. |
HatMatrix | Проекционная матрица для вычисления, подобранная из наблюдаемых откликов | HatMatrix является N -by- N матрица такая, что Fitted = HatMatrix*Y , где Y - вектор отклика и Fitted - вектор установленных значений отклика. |
Типы данных: table
DFE
- Степени свободы для ошибкиЭто свойство доступно только для чтения.
Степени свободы для ошибки (невязки), равные количеству наблюдений минус количество оцененных коэффициентов, заданное в виде положительного целого числа.
Типы данных: double
Fitted
- Установленные значения отклика на основе входных данныхЭто свойство доступно только для чтения.
Подгонянные (предсказанные) значения на основе входных данных, заданные в виде числового вектора. fitnlm
попытки сделать Fitted
как можно ближе к данным отклика.
Типы данных: single
| double
Formula
- Информация о моделиNonLinearFormula
объектЭто свойство доступно только для чтения.
Информация о модели, заданная как NonLinearFormula
объект.
Отобразите формулу подобранной модели mdl
при помощи записи через точку.
mdl.Formula
Iterative
- Информация о процессе аппроксимацииЭто свойство доступно только для чтения.
Информация о процессе аппроксимации, заданная как структура со следующими полями:
InitialCoefs
- Начальные значения коэффициентов (beta0
вектор)
IterOpts
- Опции, включенные в Options
аргумент пары "имя-значение" для fitnlm
.
Типы данных: struct
LogLikelihood
- Логарифмическая правдоподобностьЭто свойство доступно только для чтения.
Логарифмическая правдоподобность распределения модели в значениях отклика, заданная в виде числового значения. Среднее значение подгоняется из модели, а другие параметры оцениваются как часть подгонки.
Типы данных: single
| double
ModelCriterion
- Критерий для сравнения моделейЭто свойство доступно только для чтения.
Критерий сравнения моделей, заданный как структура с этими полями:
AIC
- информационный критерий Акайке. 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
- Согласованный информационный критерий Акайке. CAIC = –2*logL + m*(log(n) + 1)
.
Информационные критерии являются инструментами выбора модели, которые можно использовать, чтобы сравнить несколько моделей, подгоняемых к одним и тем же данным. Эти критерии являются основанными на вероятностях показателями подгонки модели, которые включают штраф за сложность (в частности, количество параметров). Различные информационные критерии различаются формой штрафа.
Когда вы сравниваете несколько моделей, модель с самым низким значением информационного критерия является наиболее подходящей моделью. Наиболее подходящая модель может варьироваться в зависимости от критерия, используемого для сравнения модели.
Чтобы получить любое из значений критерия в виде скаляра, индексируйте в свойство с помощью записи через точку. Для примера получите значение AIC aic
в mdl модели
:
aic = mdl.ModelCriterion.AIC
Типы данных: struct
MSE
- Средняя квадратичная невязкаЭто свойство доступно только для чтения.
Средняя квадратичная невязка, заданная как числовое значение. Средняя квадратичная невязка является оценкой отклонения члена ошибки в модели.
Типы данных: single
| double
NumCoefficients
- Количество коэффициентов моделиЭто свойство доступно только для чтения.
Количество коэффициентов в подобранной модели, заданное в виде положительного целого числа. NumCoefficients
то же, что и NumEstimatedCoefficients
для NonLinearModel
объекты. NumEstimatedCoefficients
равен степеням свободы для регрессии.
Типы данных: double
NumEstimatedCoefficients
- Количество расчетных коэффициентовЭто свойство доступно только для чтения.
Количество оцененных коэффициентов в подобранной модели, заданное в виде положительного целого числа. NumEstimatedCoefficients
то же, что и NumCoefficients
для NonLinearModel
объекты. NumEstimatedCoefficients
равен степеням свободы для регрессии.
Типы данных: double
NumPredictors
- Количество переменных предиктораЭто свойство доступно только для чтения.
Количество переменных предиктора, используемых для подгонки модели, заданное в виде положительного целого числа.
Типы данных: double
NumVariables
- Количество переменныхЭто свойство доступно только для чтения.
Количество переменных во входных данных, заданное как положительное целое число. NumVariables
- количество переменных в исходной таблице или наборе данных или общее количество столбцов в матрице предиктора и векторе отклика.
NumVariables
также включает любые переменные, которые не используются для подгонки модели в качестве предикторов или в качестве отклика.
Типы данных: double
ObservationInfo
- Информация о наблюденииЭто свойство доступно только для чтения.
Информация о наблюдении, заданная как n-на-4 таблица, где n равно количеству строк входных данных. ObservationInfo
содержит столбцы, описанные в этой таблице.
Столбец | Описание |
---|---|
Weights | Веса наблюдений, заданные в виде числового значения. Значение по умолчанию 1 . |
Excluded | Индикатор исключенных наблюдений, заданный как логическое значение. Значение true если вы исключаете наблюдение из подгонки при помощи 'Exclude' аргумент пары "имя-значение". |
Missing | Индикатор отсутствующих наблюдений, заданный как логическое значение. Значение true если наблюдение отсутствует. |
Subset | Индикатор того, использует ли функция аппроксимации наблюдение, заданное в качестве логического значения. Значение true если наблюдение не исключено или отсутствует, то есть функция аппроксимации использует наблюдение. |
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите вектор веса w
модели mdl
:
w = mdl.ObservationInfo.Weights
Типы данных: table
ObservationNames
- Имена наблюденийЭто свойство доступно только для чтения.
Имена наблюдений, заданные как массив ячеек из векторов символов, содержащих имена наблюдений, используемых в подгонке.
Если подгонка основана на таблице или наборе данных, содержащих имена наблюдений, ObservationNames
использует эти имена.
В противном случае ObservationNames
- пустой массив ячеек.
Типы данных: cell
PredictorNames
- Имена предикторов, используемых для подгонки моделиЭто свойство доступно только для чтения.
Имена предикторов, используемых для подгонки модели, заданные как массив ячеек из векторов символов.
Типы данных: cell
Residuals
- Невязки для подобранной моделиЭто свойство доступно только для чтения.
Невязки для подобранной модели, заданные как таблица, содержащая по одной строке для каждого наблюдения и столбцов, описанных в этой таблице.
Столбец | Описание |
---|---|
Raw | Наблюдаемые минусовые значения |
Pearson | Необработанные невязки, разделенные на корневую среднюю квадратичную невязку (RMSE) |
Standardized | Необработанные невязки, разделенные на их предполагаемое стандартное отклонение |
Studentized | Необработанная невязка, разделенный на независимую оценку остаточного стандартного отклонения. Невязка для i наблюдения делится на оценку стандартного отклонения ошибки, основанную на всех наблюдениях, кроме i наблюдения. |
Использовать plotResiduals
создать график невязок. Для получения дополнительной информации см. «Невязки».
Строки, не используемые в подгонке, из-за отсутствующих значений (в ObservationInfo.Missing
) или исключенные значения (в ObservationInfo.Excluded
) содержат NaN
значения.
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите сырой вектор невязок r
в mdl модели
:
r = mdl.Residuals.Raw
Типы данных: table
ResponseName
- Имя переменной откликаЭто свойство доступно только для чтения.
Имя переменной отклика, заданное как вектор символов.
Типы данных: char
RMSE
- Корневая средняя квадратичная невязкаЭто свойство доступно только для чтения.
Корневая средняя квадратичная невязка, заданная как числовое значение. Корневая средняя квадратичная невязка является оценкой стандартного отклонения члена ошибки в модели.
Типы данных: single
| double
Robust
- Информация о надежной подгонкеЭто свойство доступно только для чтения.
Информация о надежной подгонке, заданная как структура со следующими полями:
Область | Описание |
---|---|
WgtFun | Устойчивая функция взвешивания, такая как 'bisquare' (см. robustfit ) |
Tune | Значение, заданное для параметра настройки (может быть [] ) |
Weights | Вектор весов, используемых в конечной итерации устойчивой подгонки |
Эта структура пуста, если только fitnlm
построил модель с использованием устойчивой регрессии.
Типы данных: struct
Rsquared
- R-квадрат для моделиЭто свойство доступно только для чтения.
R-квадрат значения для модели, заданный как структура с двумя полями:
Ordinary
- Обыкновенный (нескорректированный) R-квадрат
Adjusted
- R-квадрат скорректирован для количества коэффициентов
R-квадратное значение является пропорцией общей суммы квадратов, объясненной моделью. Обыкновенное значение R-квадрат относится к SSR
и SST
свойства:
Rsquared = SSR/SST
,
где SST
- общая сумма квадратов, и SSR
- регрессионная сумма квадратов.
Для получения дополнительной информации смотрите Коэффициент детерминации (R-Квадрат).
Чтобы получить одно из этих значений в виде скаляра, индексируйте в свойство с помощью записи через точку. Для примера получите скорректированное значение R-квадрат в модели mdl
:
r2 = mdl.Rsquared.Adjusted
Типы данных: struct
SSE
- Сумма квадратов ошибокЭто свойство доступно только для чтения.
Сумма квадратичных невязок (остатков), заданная в виде числового значения.
Типы данных: single
| double
SSR
- Регрессионная сумма квадратовЭто свойство доступно только для чтения.
Регрессионная сумма квадратов, заданная в виде числового значения. Регрессионная сумма квадратов равна сумме квадратов отклонений подобранных значений от их среднего.
Типы данных: single
| double
SST
- Общая сумма квадратовЭто свойство доступно только для чтения.
Общая сумма квадратов, заданная в виде числового значения. Общая сумма квадратов равна сумме квадратов отклонений вектора отклика y
от mean(y)
.
Типы данных: single
| double
VariableInfo
- Информация о переменныхЭто свойство доступно только для чтения.
Информация о переменных, содержащихся в Variables
, заданная как таблица с одной строкой для каждой переменной и столбцами, описанными в этой таблице.
Столбец | Описание |
---|---|
Class | Класс переменной, заданный как массив ячеек из векторов символов, таких как 'double' и 'categorical' |
Range | Переменная область значений, заданная как массив ячеек из векторов
|
InModel | Индикатор того, какие переменные находятся в подобранной модели, заданный как логический вектор. Значение true если модель включает переменную. |
IsCategorical | Индикатор категориальных переменных, заданный как логический вектор. Значение true если переменная категориальна. |
VariableInfo
также включает любые переменные, которые не используются для подгонки модели в качестве предикторов или в качестве отклика.
Типы данных: table
VariableNames
- Имена переменныхЭто свойство доступно только для чтения.
Имена переменных, заданные как массив ячеек из векторов символов.
Если подгонка основана на таблице или наборе данных, это свойство задает имена переменных в таблице или наборе данных.
Если подгонка основана на матрице предиктора и векторе отклика, VariableNames
содержит значения, заданные в 'VarNames'
Аргумент пары "имя-значение" способа аппроксимации. Значение по умолчанию 'VarNames'
является {'x1','x2',...,'xn','y'}
.
VariableNames
также включает любые переменные, которые не используются для подгонки модели в качестве предикторов или в качестве отклика.
Типы данных: cell
Variables
- Входные данныеЭто свойство доступно только для чтения.
Входные данные, заданные как таблица. Variables
содержит как предиктор, так и значения отклика. Если подгонка основана на таблице или массиве набора данных, Variables
содержит все данные из таблицы или массива набора данных. В противном случае Variables
- таблица, созданная из матрицы входных данных X
и вектор отклика y
.
Variables
также включает любые переменные, которые не используются для подгонки модели в качестве предикторов или в качестве отклика.
Типы данных: table
coefCI | Доверительные интервалы оценок коэффициентов нелинейной регрессионой модели |
coefTest | Линейный тест гипотезы на коэффициентах нелинейной регрессионой модели |
feval | Оцените предсказание нелинейной регрессионой модели |
partialDependence | Вычисление частичной зависимости |
plotPartialDependence | Создайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE) |
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
<reservedrangesplaceholder3> <reservedrangesplaceholder2> определен с точки зрения матрицы данных X и якобиевской матрицы J:
Здесь f - нелинейная функция модели, а β - вектор коэффициентов модели.
Шляпа Матрицы H
H = J (JTJ)–1JT.
Диагональные элементы Hii удовлетворять
где n - количество наблюдений (строки X), а p - количество коэффициентов в регрессионой модели.
Рычаг является мерой эффекта конкретного наблюдения на регрессионные предсказания из-за положения этого наблюдения в пространстве входов.
Рычаги наблюдения i являются значением <reservedrangesplaceholder7> <reservedrangesplaceholder6> термина диагонали <reservedrangesplaceholder8> th матрицы шляпы H. Поскольку сумма значений рычага p (количество коэффициентов в регрессионой модели), i наблюдения может рассматриваться как выбросы, если его рычаг существенно превышает p/ n, где n - количество наблюдений.
Дистанционная Di i наблюдения Кука
где
- j-е установленное значение отклика.
- j-е установленное значение отклика, где подгонка не включает i наблюдения.
MSE - средняя квадратичная невязка.
p - количество коэффициентов в регрессионной модели.
Расстояние Кука алгебраически эквивалентно следующему выражению:
где ei - i-й невязка.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.