Линейная регрессионая модель
LinearModel
является подобранным объектом линейной регрессионной модели. Регрессионная модель описывает связь между ответом и предикторами. Линейность в линейной регрессионной модели относится к линейности коэффициентов-предикторов.
Используйте свойства LinearModel
объект, чтобы исследовать подобранную линейную регрессионую модель. Свойства объекта включают информацию о оценках коэффициентов, сводной статистике, методе аппроксимации и входных данных. Используйте функции объекта для предсказания откликов и для изменения, оценки и визуализации линейной регрессионой модели.
Создайте LinearModel
объект при помощи fitlm
или stepwiselm
.
fitlm
подходит для линейной регрессионной модели к данным с помощью спецификации фиксированной модели. Использовать addTerms
, removeTerms
, или step
чтобы добавить или удалить условия из модели. В качестве альтернативы используйте stepwiselm
для подгонки модели с помощью ступенчатой линейной регрессии.
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
NumCoefficients
- Количество коэффициентов моделиЭто свойство доступно только для чтения.
Количество коэффициентов модели, заданное как положительное целое число. NumCoefficients
включает коэффициенты, которые установлены в нуль, когда члены модели неполного ранга.
Типы данных: double
NumEstimatedCoefficients
- Количество расчетных коэффициентовЭто свойство доступно только для чтения.
Количество оцененных коэффициентов в модели, заданное в виде положительного целого числа. NumEstimatedCoefficients
не включает коэффициенты, которые равны нулю, когда члены модели неполного ранга. NumEstimatedCoefficients
- степени свободы для регрессии.
Типы данных: double
DFE
- Степени свободы для ошибкиЭто свойство доступно только для чтения.
Степени свободы для ошибки (невязки), равные количеству наблюдений минус количество оцененных коэффициентов, заданное в виде положительного целого числа.
Типы данных: double
Diagnostics
- Диагностика наблюденийЭто свойство доступно только для чтения.
Диагностика наблюдений, заданная как таблица, содержащая по одной строке для каждого наблюдения и столбцов, описанных в этой таблице.
Столбец | Значение | Описание |
---|---|---|
Leverage | Диагональные элементы HatMatrix | Leverage для каждого наблюдения указывает, в какой степени подгонка определяется наблюдаемыми значениями предиктора. Значение, близкое к 1 указывает, что подгонка в значительной степени определяется этим наблюдением, с небольшим вкладом от других наблюдений. Значение, близкое к 0 указывает, что подгонка в значительной степени определяется другими наблюдениями. Для модели с P коэффициенты и N наблюдения, среднее значение Leverage является P/N . A Leverage значение, больше 2*P/N указывает на высокое кредитное плечо. |
CooksDistance | Расстояние Кука | CooksDistance является мерой масштабированного изменения подобранных значений. Наблюдение с CooksDistance более чем в три раза больше среднего расстояния Кука может быть выбросы. |
Dffits | Delete-1 масштабные различия в подобранных значениях | Dffits - масштабированное изменение подобранных значений для каждого наблюдения, которое является результатом исключения этого наблюдения из подгонки. Значения, большие 2*sqrt(P/N) в абсолютном значении можно считать влиятельным. |
S2_i | Delete-1 отклонения | S2_i - набор оценок остаточных отклонений, полученных путем удаления каждого наблюдения в свою очередь. Эти оценки могут быть сравнены со средним значением квадратичной невязки (MSE), сохраненным в MSE свойство. |
CovRatio | Delete-1 отношение определяющего ковариации | CovRatio - отношение определяющего ковариационной матрицы коэффициента с каждым удаленным в свою очередь наблюдением к определяющему ковариационной матрицы для полной модели. Значения, большие 1 + 3*P/N или менее 1 – 3*P/N указать влиятельные точки. |
Dfbetas | Delete-1 масштабные различия в оценках коэффициентов | Dfbetas является N -by- P матрица масштабированного изменения оценок коэффициентов, которое является результатом исключения каждого наблюдения в свою очередь. Значения, большие 3/sqrt(N) в абсолютном значении указывают, что наблюдение оказывает значительное влияние на соответствующий коэффициент. |
HatMatrix | Матрица проекций для вычисления fitted из наблюдаемых реакций | HatMatrix является N -by- N матрица такая, что Fitted = HatMatrix*Y , где Y - вектор отклика и Fitted - вектор установленных значений отклика. |
Diagnostics
содержит информацию, которая полезна для нахождения выбросов и влиятельных наблюдений. Delete-1 диагностика фиксирует изменения, которые являются результатом исключения каждого наблюдения, в свою очередь, из подгонки. Для получения дополнительной информации смотрите Hat Matrix и Leverage, Cook's Distance и Delete-1 Statistics.
Использовать plotDiagnostics
для построения графика диагностики наблюдений.
Строки, не используемые в подгонке, из-за отсутствующих значений (в ObservationInfo.Missing
) или исключенные значения (в ObservationInfo.Excluded
) содержат NaN
значения в CooksDistance
, Dffits
, S2_i
, и CovRatio
столбцы и нули в Leverage
, Dfbetas
, и HatMatrix
столбцы.
Чтобы получить любой из этих столбцов как массив, индексируйте в свойство с помощью записи через точку. Для примера получите вектор отклонения delete-1 в модели mdl
:
S2i = mdl.Diagnostics.S2_i;
Типы данных: table
Fitted
- Установленные значения отклика на основе входных данныхЭто свойство доступно только для чтения.
Подобранные (предсказанные) значения отклика на основе входных данных, заданные как n-на-1 числовой вектор. n - количество наблюдений во входных данных. Использование predict
вычислить предсказания для других значений предиктора или вычислить доверительные границы на Fitted
.
Типы данных: single
| double
LogLikelihood
- Логарифмическая правдоподобностьЭто свойство доступно только для чтения.
Логарифмическая правдоподобность значений отклика, заданная в виде числового значения, основанная на предположении, что каждое значение отклика следует нормальному распределению. Среднее значение нормального распределения является установленным (предсказанным) значением отклика, и отклонение является MSE
.
Типы данных: 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
- Средняя квадратичная невязкаЭто свойство доступно только для чтения.
Средняя квадратичная невязка ( невязки), заданная в виде числового значения.
MSE = SSE / DFE,
где MSE - средняя квадратичная невязка, SSE - сумма квадратичных невязок, а DFE - степени свободы.
Типы данных: single
| double
Residuals
- Невязки для подобранной моделиЭто свойство доступно только для чтения.
Невязки для подобранной модели, заданные как таблица, содержащая по одной строке для каждого наблюдения и столбцов, описанных в этой таблице.
Столбец | Описание |
---|---|
Raw | Наблюдаемые минусовые значения |
Pearson | Необработанные невязки, разделенные на корневую среднюю квадратичную невязку (RMSE) |
Standardized | Необработанные невязки, разделенные на их предполагаемое стандартное отклонение |
Studentized | Необработанная невязка, разделенный на независимую оценку остаточного стандартного отклонения. Невязка для i наблюдения делится на оценку стандартного отклонения ошибки, основанную на всех наблюдениях, кроме i наблюдения. |
Использовать plotResiduals
создать график невязок. Для получения дополнительной информации см. «Невязки».
Строки, не используемые в подгонке, из-за отсутствующих значений (в ObservationInfo.Missing
) или исключенные значения (в ObservationInfo.Excluded
) содержат NaN
значения.
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите сырой вектор невязок r
в mdl модели
:
r = mdl.Residuals.Raw
Типы данных: table
RMSE
- Корневая средняя квадратичная невязкаЭто свойство доступно только для чтения.
Корневая средняя квадратичная невязка ( невязки), заданная в виде числового значения.
RMSE = sqrt (MSE),
где RMSE - корневая средняя квадратичная невязка, а MSE - средняя квадратичная невязка.
Типы данных: single
| double
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
- Сумма квадратов ошибокЭто свойство доступно только для чтения.
Сумма квадратичных невязок (остатков), заданная в виде числового значения.
Теорема Пифагора подразумевает
SST = SSE + SSR
,
где SST
- общая сумма квадратов, SSE
- сумма квадратичных невязок, и SSR
- регрессионная сумма квадратов.
Типы данных: single
| double
SSR
- Регрессионная сумма квадратовЭто свойство доступно только для чтения.
Регрессионная сумма квадратов, заданная в виде числового значения. Регрессионная сумма квадратов равна сумме квадратов отклонений подобранных значений от их среднего.
Теорема Пифагора подразумевает
SST = SSE + SSR
,
где SST
- общая сумма квадратов, SSE
- сумма квадратичных невязок, и SSR
- регрессионная сумма квадратов.
Типы данных: single
| double
SST
- Общая сумма квадратовЭто свойство доступно только для чтения.
Общая сумма квадратов, заданная в виде числового значения. Общая сумма квадратов равна сумме квадратов отклонений вектора отклика y
от mean(y)
.
Теорема Пифагора подразумевает
SST = SSE + SSR
,
где SST
- общая сумма квадратов, SSE
- сумма квадратичных невязок, и SSR
- регрессионная сумма квадратов.
Типы данных: single
| double
Robust
- Информация о надежной подгонкеЭто свойство доступно только для чтения.
Информация о надежной подгонке, заданная как структура с полями, описанными в этой таблице.
Область | Описание |
---|---|
WgtFun | Устойчивая функция взвешивания, такая как 'bisquare' (см. 'RobustOpts' ) |
Tune | Постоянная настройки. Это поле пустое ([] ), если WgtFun является 'ols' или если WgtFun - указатель на функцию для пользовательской весовой функции с константой настройки по умолчанию 1. |
Weights | Вектор весов, используемых в конечной итерации устойчивой подгонки. Это поле пустое для CompactLinearModel объект. |
Эта структура пуста, если вы не подбираете модель с помощью устойчивой регрессии.
Типы данных: struct
Steps
- Пошаговая информация о подгонкеЭто свойство доступно только для чтения.
Пошаговая информация о модели, заданная как структура с полями, описанными в этой таблице.
Область | Описание |
---|---|
Start | Формула, представляющая стартовую модель |
Lower | Формула, представляющая нижнюю связанную модель. Термины в Lower должен оставаться в модели. |
Upper | Формула, представляющая верхнюю связанную модель. Модель не может содержать больше членов, чем Upper . |
Criterion | Критерий, используемый для пошагового алгоритма, такого как 'sse' |
PEnter | Порог для Criterion чтобы добавить термин |
PRemove | Порог для Criterion чтобы удалить термин |
History | Таблица, представляющая шаги, предпринятые в подгонке |
The History
таблица содержит по одной строке для каждого шага, включая начальную подгонку и столбцы, описанные в этой таблице.
Столбец | Описание |
---|---|
Action | Действия, предпринятые в ходе шага:
|
TermName |
|
Terms | Моделирование спецификации в матрице терминов |
DF | Регрессионные степени свободы после шага |
delDF | Изменение регрессионных степеней свободы от предыдущего шага (отрицательное для шагов, которые удаляют термин) |
Deviance | Отклонение (остаточная сумма квадратов) на шаге (только для обобщенной линейной регрессионой модели) |
FStat | F-статистическая величина, которая ведет к шагу |
PValue | p-значение F-статистики |
Структура пуста, если вы не подбираете модель с помощью ступенчатой регрессии.
Типы данных: struct
Formula
- Информация о моделиLinearFormula
объектЭто свойство доступно только для чтения.
Информация о модели, заданная как LinearFormula
объект.
Отобразите формулу подобранной модели mdl
использование записи через точку:
mdl.Formula
NumObservations
- Количество наблюденийЭто свойство доступно только для чтения.
Количество наблюдений функции аппроксимации, используемой в подборе кривой, заданное в виде положительного целого числа. NumObservations
- количество наблюдений, представленных в исходной таблице, наборе данных или матрице, минус любые исключенные строки (заданные с 'Exclude'
аргумент пары "имя-значение") или строки с отсутствующими значениями.
Типы данных: 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
ResponseName
- Имя переменной откликаЭто свойство доступно только для чтения.
Имя переменной отклика, заданное как вектор символов.
Типы данных: char
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
CompactLinearModel
compact | Компактная линейная регрессионая модель |
addTerms | Добавьте условия к линейной регрессионой модели |
removeTerms | Удалите условия из линейной регрессионой модели |
step | Улучшите линейную регрессионую модель, добавив или удалив условия |
anova | Анализ отклонения для линейной регрессионой модели |
coefCI | Доверительные интервалы оценок коэффициентов линейной регрессионой модели |
coefTest | Линейный тест гипотезы на коэффициентах линейной регрессионой модели |
dwtest | Тест Дурбина-Ватсона с объектом модели линейной регрессии |
partialDependence | Вычисление частичной зависимости |
plot | График поля точек или добавленный переменный график линейной регрессионой модели |
plotAdded | Добавлен переменный график линейной регрессионой модели |
plotAdjustedResponse | Скорректированный график отклика линейной регрессионой модели |
plotDiagnostics | График диагностики наблюдений линейной регрессионой модели |
plotEffects | Постройте графики основных эффектов предикторов в линейной регрессионой модели |
plotInteraction | Постройте эффекты взаимодействия двух предикторов в линейной регрессионой модели |
plotPartialDependence | Создайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE) |
plotResiduals | Постройте графики невязок линейной регрессионой модели |
plotSlice | График срезов через установленную линейную регрессионую поверхность |
gather | Сбор свойств модели машинного обучения с графический процессор |
Подбор линейной регрессионой модели с помощью матричных входных данных множества.
Загрузите carsmall
набор данных, матричный набор входных данных.
load carsmall
X = [Weight,Horsepower,Acceleration];
Подбор линейной регрессионой модели при помощи fitlm
.
mdl = fitlm(X,MPG)
mdl = Linear regression model: y ~ 1 + x1 + x2 + x3 Estimated Coefficients: Estimate SE tStat pValue __________ _________ _________ __________ (Intercept) 47.977 3.8785 12.37 4.8957e-21 x1 -0.0065416 0.0011274 -5.8023 9.8742e-08 x2 -0.042943 0.024313 -1.7663 0.08078 x3 -0.011583 0.19333 -0.059913 0.95236 Number of observations: 93, Error degrees of freedom: 89 Root Mean Squared Error: 4.09 R-squared: 0.752, Adjusted R-Squared: 0.744 F-statistic vs. constant model: 90, p-value = 7.38e-27
Отображение модели включает формулу модели, оценочные коэффициенты и сводную статистику модели.
Формула модели на отображении, y ~ 1 + x1 + x2 + x3
, соответствует .
На отображении модели также показана информация об оцененном коэффициенте, которая сохранена в Coefficients
свойство. Отобразите Coefficients
свойство.
mdl.Coefficients
ans=4×4 table
Estimate SE tStat pValue
__________ _________ _________ __________
(Intercept) 47.977 3.8785 12.37 4.8957e-21
x1 -0.0065416 0.0011274 -5.8023 9.8742e-08
x2 -0.042943 0.024313 -1.7663 0.08078
x3 -0.011583 0.19333 -0.059913 0.95236
The Coefficient
свойство включает в себя следующие столбцы:
Estimate
- Оценки коэффициентов для каждого соответствующего члена в модели. Для примера - оценка для постоянного члена (intercept
) составляет 47,977.
SE
- Стандартная ошибка коэффициентов.
tStat
- t-статистическая для каждого коэффициента, чтобы проверить нулевую гипотезу о том, что соответствующий коэффициент равен нулю по сравнению с альтернативой, что он отличается от нуля, учитывая другие предикторы в модели. Обратите внимание, что tStat = Estimate/SE
. Для примера t-статистическая величина для точки пересечения составляет 47,977/3,8785 = 12,37.
pValue
- p-значение для t-статистики критерия гипотезы о том, что соответствующий коэффициент равен нулю или не равен. Например, p-значение t-статистики для x2
больше 0,05, поэтому этот термин не является значимым на уровне значимости 5%, учитывая другие членов в модели.
Сводная статистика модели:
Number of observations
- Количество строк без каких-либо NaN
значения. Для примера, Number of observations
93, потому что MPG
вектор данных имеет шесть NaN
значения и Horsepower
вектор данных имеет одно NaN
значение для другого наблюдения, где количество строк в X
и MPG
равен 100.
Error degrees of freedom
- n - p, где n - количество наблюдений, а p - количество коэффициентов в модели, включая точку пересечения. Для примера модель имеет четыре предиктора, поэтому Error degrees of freedom
93 - 4 = 89.
Root mean squared error
- Квадратный корень средней квадратичной невязки, который оценивает стандартное отклонение распределения ошибок.
R-squared
и Adjusted R-squared
- Коэффициент детерминации и скорректированный коэффициент детерминации, соответственно. Для примера, R-squared
значение предполагает, что модель объясняет приблизительно 75% изменчивости переменной отклика MPG
.
F-statistic vs. constant model
- Тестовая статистика для F-теста на регрессионой модели, которая проверяет, подходит ли модель значительно лучше, чем вырожденная модель, состоящая только из постоянного члена.
p-value
- p-значение для F-теста на модели. Для примера модель значима с p-значением 7.3816e-27.
Вы можете найти эту статистику в свойствах модели (NumObservations
, DFE
, RMSE
, и Rsquared
) и при помощи anova
функция.
anova(mdl,'summary')
ans=3×5 table
SumSq DF MeanSq F pValue
______ __ ______ ______ __________
Total 6004.8 92 65.269
Model 4516 3 1505.3 89.987 7.3816e-27
Residual 1488.8 89 16.728
Подгонка линейной регрессионой модели, которая содержит категориальный предиктор. Переупорядочите категории категориального предиктора, чтобы контролировать уровень ссылки в модели. Затем используйте anova
для проверки значимости категориальной переменной.
Модель с категориальным предиктором
Загрузите carsmall
набор данных и создайте линейную регрессионую модель MPG
как функцию Model_Year
. Чтобы обработать числовой вектор Model_Year
как категориальная переменная идентифицируйте предиктор, используя 'CategoricalVars'
аргумент пары "имя-значение".
load carsmall mdl = fitlm(Model_Year,MPG,'CategoricalVars',1,'VarNames',{'Model_Year','MPG'})
mdl = Linear regression model: MPG ~ 1 + Model_Year Estimated Coefficients: Estimate SE tStat pValue ________ ______ ______ __________ (Intercept) 17.69 1.0328 17.127 3.2371e-30 Model_Year_76 3.8839 1.4059 2.7625 0.0069402 Model_Year_82 14.02 1.4369 9.7571 8.2164e-16 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56 R-squared: 0.531, Adjusted R-Squared: 0.521 F-statistic vs. constant model: 51.6, p-value = 1.07e-15
Формула модели на отображении, MPG ~ 1 + Model_Year
, соответствует
,
где и являются переменными индикатора, значение которых равно единице, если значение Model_Year
составляет 76 и 82, соответственно. The Model_Year
переменная включает три различных значения, которые можно проверить с помощью unique
функция.
unique(Model_Year)
ans = 3×1
70
76
82
fitlm
выбирает наименьшее значение в Model_Year
как уровень ссылки ('70'
) и создает две переменные индикатора и . Модель включает только две переменные индикатора, потому что матрица проекта становится дефицитной, если модель включает три переменные индикатора (по одной для каждого уровня) и член точки пересечения.
Модель с полными переменными индикатора
Можно интерпретировать формулу модели mdl
как модель, которая имеет три переменные индикатора без термина точки пересечения:
.
Кроме того, можно создать модель, которая имеет три переменные индикатора без термина точки пересечения, вручную создав переменные индикатора и задав формулу модели.
temp_Year = dummyvar(categorical(Model_Year));
Model_Year_70 = temp_Year(:,1);
Model_Year_76 = temp_Year(:,2);
Model_Year_82 = temp_Year(:,3);
tbl = table(Model_Year_70,Model_Year_76,Model_Year_82,MPG);
mdl = fitlm(tbl,'MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82 - 1')
mdl = Linear regression model: MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82 Estimated Coefficients: Estimate SE tStat pValue ________ _______ ______ __________ Model_Year_70 17.69 1.0328 17.127 3.2371e-30 Model_Year_76 21.574 0.95387 22.617 4.0156e-39 Model_Year_82 31.71 0.99896 31.743 5.2234e-51 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56
Выберите ссылочный уровень в модели
Можно выбрать уровень ссылки путем изменения порядка категорий в категориальной переменной. Сначала создайте категориальную переменную Year
.
Year = categorical(Model_Year);
Проверьте порядок категорий при помощи categories
функция.
categories(Year)
ans = 3x1 cell
{'70'}
{'76'}
{'82'}
Если вы используете Year
как переменная предиктора, затем fitlm
выбирает первую категорию '70'
как уровень ссылки. Переупорядочить Year
при помощи reordercats
функция.
Year_reordered = reordercats(Year,{'76','70','82'}); categories(Year_reordered)
ans = 3x1 cell
{'76'}
{'70'}
{'82'}
Первая категория Year_reordered
является '76'
. Создайте линейную регрессионую модель MPG
как функцию Year_reordered
.
mdl2 = fitlm(Year_reordered,MPG,'VarNames',{'Model_Year','MPG'})
mdl2 = Linear regression model: MPG ~ 1 + Model_Year Estimated Coefficients: Estimate SE tStat pValue ________ _______ _______ __________ (Intercept) 21.574 0.95387 22.617 4.0156e-39 Model_Year_70 -3.8839 1.4059 -2.7625 0.0069402 Model_Year_82 10.136 1.3812 7.3385 8.7634e-11 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56 R-squared: 0.531, Adjusted R-Squared: 0.521 F-statistic vs. constant model: 51.6, p-value = 1.07e-15
mdl2
использует '76'
как ссылка уровень и включает две переменные индикатора и .
Оценка категориального предиктора
Отображение модели mdl2
включает p-значение каждого члена для проверки, равен ли соответствующий коэффициент нулю. Каждое p-значение исследует каждую переменную индикатора. Чтобы изучить категориальную переменную Model_Year
в качестве группы индикаторных переменных используйте anova
. Используйте 'components'
(по умолчанию) опция для возврата таблицы ANOVA компонента, которая включает статистику Дисперсионный Анализ для каждой переменной в модели, кроме постоянного члена.
anova(mdl2,'components')
ans=2×5 table
SumSq DF MeanSq F pValue
______ __ ______ _____ __________
Model_Year 3190.1 2 1595.1 51.56 1.0694e-15
Error 2815.2 91 30.936
Дисперсионный Анализ компонента включает p-значение Model_Year
переменная, которая меньше, чем p-значения переменных индикатора.
Загрузите hald
набор данных, измеряющий эффект состава цемента на его закалку.
load hald
Этот набор данных включает переменные ingredients
и heat
. Матрица ingredients
содержит процентный состав четырех химических веществ, присутствующих в цементе. Векторная heat
содержит значения для терможидкости через 180 дней для каждой выборки цемента.
Подбор устойчивой линейной регрессионной модели к данным.
mdl = fitlm(ingredients,heat,'RobustOpts','on')
mdl = Linear regression model (robust fit): y ~ 1 + x1 + x2 + x3 + x4 Estimated Coefficients: Estimate SE tStat pValue ________ _______ ________ ________ (Intercept) 60.09 75.818 0.79256 0.4509 x1 1.5753 0.80585 1.9548 0.086346 x2 0.5322 0.78315 0.67957 0.51596 x3 0.13346 0.8166 0.16343 0.87424 x4 -0.12052 0.7672 -0.15709 0.87906 Number of observations: 13, Error degrees of freedom: 8 Root Mean Squared Error: 2.65 R-squared: 0.979, Adjusted R-Squared: 0.969 F-statistic vs. constant model: 94.6, p-value = 9.03e-07
Для получения дополнительной информации смотрите тему «Уменьшение эффектов выбросов с помощью робастной регрессии», которая сравнивает результаты устойчивой подгонки со стандартной аппроксимацией методом наименьших квадратов.
Загрузите hald
набор данных, измеряющий эффект состава цемента на его закалку.
load hald
Этот набор данных включает переменные ingredients
и heat
. Матрица ingredients
содержит процентный состав четырех химических веществ, присутствующих в цементе. Векторная heat
содержит значения для терможидкости через 180 дней для каждой выборки цемента.
Подбор ступенчатой линейной регрессионой модели к данным. Укажите 0,06 в качестве порога для критерия, чтобы добавить термин к модели.
mdl = stepwiselm(ingredients,heat,'PEnter',0.06)
1. Adding x4, FStat = 22.7985, pValue = 0.000576232 2. Adding x1, FStat = 108.2239, pValue = 1.105281e-06 3. Adding x2, FStat = 5.0259, pValue = 0.051687 4. Removing x4, FStat = 1.8633, pValue = 0.2054
mdl = Linear regression model: y ~ 1 + x1 + x2 Estimated Coefficients: Estimate SE tStat pValue ________ ________ ______ __________ (Intercept) 52.577 2.2862 22.998 5.4566e-10 x1 1.4683 0.1213 12.105 2.6922e-07 x2 0.66225 0.045855 14.442 5.029e-08 Number of observations: 13, Error degrees of freedom: 10 Root Mean Squared Error: 2.41 R-squared: 0.979, Adjusted R-Squared: 0.974 F-statistic vs. constant model: 230, p-value = 4.41e-09
По умолчанию стартовая модель является постоянной моделью. stepwiselm
выполняет прямое выделение и добавляет x4
, x1
, и x2
условия (в этом порядке), поскольку соответствующие значения p меньше, чем PEnter
значение 0,06. stepwiselm
затем использует обратное устранение и удаляет x4
из модели, потому что, один раз x2
находится в модели, p-значение x4
больше значения по умолчанию PRemove
, 0.1.
Матрица терминов T
является t -by- (p + 1) матрицей, задающей условия в модели, где t - количество членов, p - количество переменных предиктора, и + 1 учитывает переменную отклика. Значение T(i,j)
- экспонента переменной j
в терминах i
.
Например, предположим, что вход включает три переменные предиктора x1
, x2
, и x3
и переменной отклика y
в порядке x1
, x2
, x3
, и y
. Каждая строка T
представляет собой один термин:
[0 0 0 0]
- Постоянный срок или точка пересечения
[0 1 0 0]
— x2
; эквивалентно x1^0 * x2^1 * x3^0
[1 0 1 0]
— x1*x3
[2 0 0 0]
— x1^2
[0 1 2 0]
— x2*(x3^2)
The 0
в конце каждого термина представляет переменную отклика. В целом векторе-столбце из нулей в матрице терминов представляет положение переменной отклика. Если у вас есть переменные предиктора и отклика в матрице и векторе-столбце, то вы должны включать 0
для переменной отклика в последнем столбце каждой строки.
Для сокращения времени вычисления на высоко-размерных наборах данных подбирайте линейную регрессионую модель используя fitrlinear
функция.
Чтобы упорядочить регрессию, используйте fitrlinear
, lasso
, ridge
, или plsregress
.
fitrlinear
регулирует регрессию для высоко-размерных наборов данных, используя регрессию лассо или гребня.
lasso
удаляет избыточные предикторы в линейной регрессии с помощью лассо или эластичной сети.
ridge
регулирует регрессию с коррелированными терминами, используя регрессию гребня.
plsregress
регулирует регрессию с коррелированными терминами, используя частичные наименьшие квадраты.
Указания и ограничения по применению:
Для получения дополнительной информации смотрите Введение в генерацию кода.
Указания и ограничения по применению:
Следующие функции объекта полностью поддерживают массивы GPU:
Следующие функции объекта поддерживают объекты модели, оснащенные входными параметрами массива GPU:
Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.