Нелинейный класс модели регрессии
Объект, включающий обучающие данные, описание модели, диагностическую информацию и адаптированные коэффициенты для нелинейной регрессии. Предскажите ответы модели с predict
или feval
методы.
Создайте NonLinearModel
объектное использование fitnlm
.
CoefficientCovariance
— Ковариационная матрица содействующих оценокЭто свойство доступно только для чтения.
Ковариационная матрица коэффициента оценивает в виде p-by-p матрицу числовых значений. p является количеством коэффициентов в подобранной модели.
Для получения дополнительной информации смотрите Содействующие Стандартные погрешности и Доверительные интервалы.
Типы данных: single
| double
CoefficientNames
— Содействующие именаЭто свойство доступно только для чтения.
Коэффициент называет в виде массива ячеек из символьных векторов, каждый содержащий имя соответствующего термина.
Типы данных: cell
Coefficients
— Содействующие значенияЭто свойство доступно только для чтения.
Содействующие значения в виде таблицы. Coefficients
содержит одну строку для каждого коэффициента и этих столбцов:
Estimate
— Предполагаемое содействующее значение
SE
— Стандартная погрешность оценки
tStat
— t - статистическая величина для теста, что коэффициент является нулем
pValue
— p - значение для t - статистическая величина
Использование 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 - 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
— Критерий информации о 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
MSE
— Среднеквадратическая ошибкаЭто свойство доступно только для чтения.
Среднеквадратическая ошибка в виде числового значения. Среднеквадратическая ошибка является оценкой отклонения остаточного члена в модели.
Типы данных: single
| double
NumCoefficients
— Количество коэффициентов моделиЭто свойство доступно только для чтения.
Количество коэффициентов в подобранной модели в виде положительного целого числа. NumCoefficients
совпадает с NumEstimatedCoefficients
для NonLinearModel
объекты. NumEstimatedCoefficients
равно степеням свободы для регрессии.
Типы данных: double
NumEstimatedCoefficients
— Количество предполагаемых коэффициентовЭто свойство доступно только для чтения.
Количество предполагаемых коэффициентов в подобранной модели в виде положительного целого числа. NumEstimatedCoefficients
совпадает с NumCoefficients
для NonLinearModel
объекты. NumEstimatedCoefficients
равно степеням свободы для регрессии.
Типы данных: double
NumPredictors
— Количество переменных предикторовЭто свойство доступно только для чтения.
Количество переменных предикторов раньше подбирало модель в виде положительного целого числа.
Типы данных: double
NumVariables
— Количество переменныхЭто свойство доступно только для чтения.
Количество переменных во входных данных в виде положительного целого числа. NumVariables
количество переменных в исходной таблице или наборе данных или общем количестве столбцов в матрице предиктора и векторе отклика.
NumVariables
также включает любые переменные, которые не используются, чтобы подбирать модель как предикторы или как ответ.
Типы данных: double
ObservationInfo
— Информация о наблюденииЭто свойство доступно только для чтения.
Информация о наблюдении в виде n-by-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-squared для моделиЭто свойство доступно только для чтения.
Значение 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
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 | Создайте графики отдельного условного ожидания (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
H hat matrix задан в терминах матрицы данных X и якобиевский матричный J:
Здесь f является нелинейной функцией модели, и β является вектором из коэффициентов модели.
Матрица Шляпы H
H = J (JTJ) –1JT.
Диагональные элементы Hii удовлетворяют
где n является количеством наблюдений (строки X), и p является количеством коэффициентов в модели регрессии.
Рычаги являются мерой эффекта конкретного наблюдения относительно предсказаний регрессии из-за положения того наблюдения в течение входных параметров.
Рычаги наблюдения, i является значением i th диагональ, называют h ii матрицы шляпы H. Поскольку суммой значений рычагов является p (количество коэффициентов в модели регрессии), наблюдение, i может быть рассмотрен выбросом, если его рычаги существенно превышают p/n, где n является количеством наблюдений.
Расстояние Повара Di наблюдения i
где
j th адаптированное значение отклика.
j th адаптированное значение отклика, где подгонка не включает наблюдение i.
MSE является среднеквадратической ошибкой.
p является количеством коэффициентов в модели регрессии.
Расстояние повара алгебраически эквивалентно следующему выражению:
где ei является i th невязка.
fitnlm
| GeneralizedLinearModel
| LinearModel
| nlinfit
| predict
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.