Модель линейной регрессии
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 - значение для t - статистическая величина
Используйте anova
(только для модели линейной регрессии) или coefTest
, чтобы выполнить другие тесты на коэффициентах. Используйте coefCI
, чтобы найти доверительные интервалы содействующих оценок.
Чтобы получить любой из этих столбцов как вектор, индексируйте в свойство с помощью записи через точку. Например, получите предполагаемый вектор коэффициентов в модели mdl
:
beta = mdl.Coefficients.Estimate
Типы данных: table
NumCoefficients
— Количество коэффициентов моделиЭто свойство доступно только для чтения.
Количество коэффициентов модели, заданных как положительное целое число. NumCoefficients
включает коэффициенты, которые обнуляются, когда образцовые условия имеют неполный ранг.
Типы данных: double
NumEstimatedCoefficients
— Количество предполагаемых коэффициентовЭто свойство доступно только для чтения.
Количество предполагаемых коэффициентов в модели, заданной как положительное целое число. NumEstimatedCoefficients
не включает коэффициенты, которые обнуляются, когда образцовые условия имеют неполный ранг. NumEstimatedCoefficients
является степенями свободы для регрессии.
Типы данных: double
DFE
— Степени свободы для ошибкиЭто свойство доступно только для чтения.
Степени свободы для ошибки (невязки), равняйтесь количеству наблюдений минус количество предполагаемых коэффициентов, заданных как положительное целое число.
Типы данных: double
Диагностика
Диагностика наблюденияЭто свойство доступно только для чтения.
Диагностика наблюдения, заданная как таблица, которая содержит одну строку для каждого наблюдения и столбцов, описанных в этой таблице.
Столбец | Значение | Описание |
---|---|---|
Leverage | Диагональные элементы HatMatrix | Leverage для каждого наблюдения указывает, до какой степени подгонка определяется наблюдаемыми значениями предиктора. Значение близко к 1 указывает, что подгонка в основном определяется тем наблюдением с небольшим вкладом от других наблюдений. Значение близко к 0 указывает, что подгонка в основном определяется другими наблюдениями. Для модели с коэффициентами P и наблюдениями N , средним значением Leverage является P/N . Значение Leverage , больше, чем 2*P/N , указывает на высокие рычаги. |
CooksDistance | Расстояние повара | CooksDistance является мерой масштабированного изменения в подходящих значениях. Наблюдение с CooksDistance , больше, чем три раза расстояние среднего Кука, может быть выбросом. |
Dffits | Удалите 1 масштабируемое различие в подходящих значениях | Dffits является масштабированным изменением в подходящих значениях для каждого наблюдения, которое следует, исключая то наблюдение от подгонки. Значения, больше, чем 2*sqrt(P/N) в абсолютном значении, могут быть рассмотрены влиятельными. |
S2_i | Удалите 1 отклонение | S2_i является набором остаточных оценок отклонения, полученных путем удаления каждого наблюдения в свою очередь. Эти оценки могут быть по сравнению со значением среднеквадратической ошибки (MSE), сохраненным в свойстве MSE . |
CovRatio | Удалите 1 отношение детерминанта ковариации | CovRatio является отношением детерминанта содействующей ковариационной матрицы, с каждым наблюдением, удаленным в свою очередь, к детерминанту ковариационной матрицы для полной модели. Значения, больше, чем 1 + 3*P/N или меньше, чем 1 – 3*P/N , указывают на влиятельные точки. |
Dfbetas | Удалите 1 масштабируемое различие в содействующих оценках | Dfbetas является N -by-P , матрица масштабированного изменения в коэффициенте оценивает, что следует, исключая каждое наблюдение в свою очередь. Значения, больше, чем 3/sqrt(N) в абсолютном значении, указывают, что наблюдение имеет значительное влияние на соответствующий коэффициент. |
HatMatrix | Матрица проекции, чтобы вычислить fitted из наблюдаемых ответов | HatMatrix является N -by-N , матрицируют таким образом, что Fitted = HatMatrix*Y , где Y является вектором отклика и Fitted , является вектором подходящих значений ответа. |
Diagnostics
содержит информацию, которая полезна в нахождении выбросов и влиятельных наблюдений. Удалите 1 получение диагностики изменения, которые следуют, исключая каждое наблюдение в свою очередь от подгонки. Для получения дополнительной информации смотрите Матрицу Шляпы и Рычаги, Расстояние Повара, и Удалите 1 Статистику.
Используйте plotDiagnostics
, чтобы построить диагностику наблюдения.
Строки, не используемые в подгонке из-за отсутствующих значений (в ObservationInfo.Missing
) или исключенные значения (в ObservationInfo.Excluded
), содержат значения NaN
в CooksDistance
, Dffits
, S2_i
, и столбцах CovRatio
и нулях в Leverage
, Dfbetas
и столбцах HatMatrix
.
Чтобы получить любой из этих столбцов как массив, индексируйте в свойство с помощью записи через точку. Например, получите удаление 1 вектора отклонения в модели mdl
:
S2i = mdl.Diagnostics.S2_i;
Типы данных: table
Fitted
— Подходящие значения ответа на основе входных данныхЭто свойство доступно только для чтения.
Адаптированные (предсказанные) значения ответа на основе входных данных, заданных как n-by-1 числовой вектор. n является количеством наблюдений во входных данных. Используйте predict
, чтобы вычислить прогнозы для других значений предиктора или вычислить доверительные границы на Fitted
.
Типы данных: single | double
LogLikelihood
— LoglikelihoodЭто свойство доступно только для чтения.
Loglikelihood значений ответа, заданных как числовое значение, основанное на предположении, что каждое значение ответа следует за нормальным распределением. Среднее значение нормального распределения является подходящим (предсказанным) значением ответа, и отклонением является MSE
.
Типы данных: single | double
ModelCriterion
— Критерий образцового сравненияЭто свойство доступно только для чтения.
Критерий образцового сравнения, заданного как структура с этими полями:
AIC
— Критерий информации о Akaike. AIC = –2*logL + 2*m
, где logL
является loglikelihood и 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
— Среднеквадратическая ошибкаЭто свойство доступно только для чтения.
Среднеквадратическая ошибка (невязки), заданные как числовое значение.
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-squared для моделиЭто свойство доступно только для чтения.
Значение R-squared для модели, заданной как структура с двумя полями:
Ordinary
— Обычный (неприспособленный) R-squared
Adjusted
— R-squared, настроенный для количества коэффициентов
Значение R-squared является пропорцией полной суммы квадратов, объясненных моделью. Обычное значение R-squared относится к свойствам SSR
и SST
:
Rsquared = SSR/SST = 1 – SSE/SST
,
где SST
является полной суммой квадратов, SSE
является суммой квадратичных невязок, и SSR
является суммой квадратов регрессии.
Для получения дополнительной информации смотрите Коэффициент детерминации (R-Squared).
Чтобы получить любое из этих значений как скаляр, индексируйте в свойство с помощью записи через точку. Например, получите настроенное значение R-squared в модели 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 | Таблица, представляющая шаги, сделанные в подгонке |
Таблица 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-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
ResponseName
— Имя переменной откликаЭто свойство доступно только для чтения.
Имя переменной отклика, заданное как вектор символов.
Типы данных: char
VariableInfo
— Информация о переменныхЭто свойство доступно только для чтения.
Информация о переменных, содержимых в Variables
, заданном как таблица с одной строкой для каждой переменной и столбцов, описана в этой таблице.
Столбец | Описание |
---|---|
Class | Переменный класс, заданный как массив ячеек из символьных векторов, такой как 'double' и 'categorical' |
Range | Переменный диапазон, заданный как массив ячеек векторов
|
InModel | Индикатор которого переменные находятся в подобранной модели, заданной как логический вектор. Значением является true , если модель включает переменную. |
IsCategorical | Индикатор категориальных переменных, заданных как логический вектор. Значением является true , если переменная является категориальной. |
VariableInfo
также включает любые переменные, которые не используются, чтобы соответствовать модели как предикторам или как ответ.
Типы данных: table
Имена переменных
Имена переменныхЭто свойство доступно только для чтения.
Имена переменных, заданных как массив ячеек из символьных векторов.
Если подгонка основана на таблице или наборе данных, это свойство обеспечивает имена переменных в таблице или наборе данных.
Если подгонка основана на матрице предиктора и векторе отклика, VariableNames
содержит значения, заданные аргументом пары "имя-значение" 'VarNames'
подходящего метода. Значением по умолчанию 'VarNames'
является {'x1','x2',...,'xn','y'}
.
VariableNames
также включает любые переменные, которые не используются, чтобы соответствовать модели как предикторам или как ответ.
Типы данных: cell
Переменные
Входные данныеЭто свойство доступно только для чтения.
Входные данные, заданные как таблица. Variables
содержит и предиктор и значения ответа. Если подгонка основана на таблице или массиве набора данных, Variables
содержит все данные из массива набора данных или таблицы. В противном случае Variables
является таблицей, составленной из матрицы входных данных X
и ответ векторный y
.
Variables
также включает любые переменные, которые не используются, чтобы соответствовать модели как предикторам или как ответ.
Типы данных: table
CompactLinearModel
compact | Компактная модель линейной регрессии |
addTerms | Добавьте условия в модель линейной регрессии |
removeTerms | Удалите условия из модели линейной регрессии |
step | Улучшите модель линейной регрессии путем добавления или удаления условий |
plot | График поля точек или добавленный переменный график модели линейной регрессии |
plotAdded | Добавленный переменный график модели линейной регрессии |
plotAdjustedResponse | Настроенный график ответа модели линейной регрессии |
plotDiagnostics | Постройте диагностику наблюдения модели линейной регрессии |
plotEffects | Постройте основные эффекты предикторов в модели линейной регрессии |
plotInteraction | Постройте эффекты взаимодействия двух предикторов в модели линейной регрессии |
plotPartialDependence | Создайте графики отдельного условного ожидания (ICE) и частичный график зависимости (PDP) |
plotResiduals | Постройте невязки модели линейной регрессии |
plotSlice | График срезов через подходящую поверхность линейной регрессии |
Соответствуйте модели линейной регрессии использование матричного набора входных данных.
Загрузите набор данных 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
Свойство 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, соответственно. Переменная 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
Выберите Reference Level in Model
Можно выбрать контрольный уровень путем изменения порядка категорий в категориальной переменной. Во-первых, создайте категориальную переменную Year
.
Year = categorical(Model_Year);
Проверяйте порядок категорий при помощи функции categories
.
categories(Year)
ans = 3x1 cell array
{'70'}
{'76'}
{'82'}
Если вы используете Year
в качестве переменной прогноза, то fitlm
выбирает первую категорию '70'
в качестве контрольного уровня. Переупорядочьте Year
при помощи функции reordercats
.
Year_reordered = reordercats(Year,{'76','70','82'}); categories(Year_reordered)
ans = 3x1 cell array
{'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(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 (p + 1) матричные условия определения в модели, где t является количеством условий, p, является количеством переменных прогноза и +1 счетом на переменную отклика. Значение T(i,j)
является экспонентой переменной j
в термине i
.
Например, предположите, что вход включает три переменные прогноза A
, B
, и C
и переменная отклика Y
в порядке A
, B
, C
и Y
. Каждая строка T
представляет один термин:
[0 0 0 0]
— Постоянный термин или прерывание
[0 1 0 0]
— B;
эквивалентно, A^0 * B^1 * C^0
[1 0 1 0]
— A*C
[2 0 0 0]
— A^2
[0 1 2 0]
— B*(C^2)
0
в конце каждого термина представляет переменную отклика. В целом вектор-столбец из нулей в матрице условий представляет положение переменной отклика. Если у вас есть переменные прогноза и переменные отклика в матрице и вектор-столбце, то необходимо включать 0
для переменной отклика в последнем столбце каждой строки.
В течение уменьшаемого времени вычисления на высоко-размерных наборах данных соответствуйте модели линейной регрессии использование функции fitrlinear
.
Чтобы упорядочить регрессию, используйте fitrlinear
, lasso
, ridge
или plsregress
.
fitrlinear
упорядочивает регрессию для высоко-размерных наборов данных с помощью лассо или гребенчатой регрессии.
lasso
удаляет избыточные предикторы в линейной регрессии с помощью лассо или эластичной сети.
ridge
упорядочивает регрессию с коррелироваными условиями с помощью гребенчатой регрессии.
plsregress
упорядочивает регрессию с коррелироваными условиями с помощью частичных наименьших квадратов.
Указания и ограничения по применению:
Когда вы подбираете модель при помощи fitlm
или stepwiselm
, вы не можете снабдить данными тренировки в таблице, которая содержит логический вектор, символьный массив, категориальный массив, массив строк или массив ячеек из символьных векторов. Кроме того, вы не можете использовать аргумент пары "имя-значение" 'CategoricalVars'
. Генерация кода не поддерживает категориальные предикторы. Чтобы включать категориальные предикторы в модель, предварительно обработайте категориальные предикторы при помощи dummyvar
прежде, чем соответствовать модели.
Для получения дополнительной информации смотрите Введение в Генерацию кода.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.