Суперклассы: CompactGeneralizedLinearModel
Обобщенный линейный класс модели регрессии
Объект, включающий обучающие данные, описание модели, диагностическую информацию и адаптированные коэффициенты для обобщенной линейной регрессии. Предскажите ответы модели с predict
или feval
методы.
или mdl
=
fitglm(tbl
)
создает обобщенную линейную модель таблицы или массива набора данных mdl
=
fitglm(X
,y
)tbl
, или ответов y
к матрице данных X
. Для получения дополнительной информации смотрите fitglm
.
или mdl
= stepwiseglm(tbl
)
создает обобщенную линейную модель таблицы или массива набора данных mdl
=
stepwiseglm(X
,y
)tbl
, или ответов y
к матрице данных X
, с неважными исключенными предикторами. Для получения дополнительной информации смотрите stepwiseglm
.
tbl
— Входные данныеВходные данные включая переменные прогноза и переменные отклика, заданные как таблица или массив набора данных. Переменные предикторы и переменная отклика могут быть числовыми, логическими, категориальными, символ или строка. Переменная отклика может иметь тип данных кроме числового только если 'Distribution'
'binomial'
.
По умолчанию, GeneralizedLinearModel
берет последнюю переменную в качестве переменной отклика и других как переменные предикторы.
Чтобы установить различный столбец как переменную отклика, используйте ResponseVar
аргумент пары "имя-значение".
Чтобы использовать подмножество столбцов как предикторы, используйте PredictorVars
аргумент пары "имя-значение".
Чтобы задать спецификацию модели, установите modelspec
аргумент с помощью формулы или матрицы условий. Матрица формулы или условий задает который столбцы использовать в качестве переменных предикторов или переменных отклика.
Имена переменных в таблице не должны быть допустимыми идентификаторами MATLAB®. Однако, если имена не допустимы, вы не можете использовать формулу, когда вы соответствуете или настраиваете модель; например:
Вы не можете задать modelspec
использование формулы.
Вы не можете использовать формулу, чтобы задать условия, чтобы добавить или удалить, когда вы используете addTerms
функционируйте или removeTerms
функция, соответственно.
Вы не можете использовать формулу, чтобы задать нижние и верхние границы модели, когда вы используете step
или stepwiseglm
функция с аргументами пары "имя-значение" 'Lower'
и 'Upper'
, соответственно.
Можно проверить имена переменных в tbl
при помощи isvarname
функция. Следующий код возвращает логический 1
TRUE
) для каждой переменной, которая имеет допустимое имя переменной.
cellfun(@isvarname,tbl.Properties.VariableNames)
tbl
не допустимы, затем преобразуют их при помощи matlab.lang.makeValidName
функция.tbl.Properties.VariableNames = matlab.lang.makeValidName(tbl.Properties.VariableNames);
X
— Переменные предикторыПеременные предикторы, заданные как n-by-p матрица, где n является количеством наблюдений и p, являются количеством переменных предикторов. Каждый столбец X
представляет одну переменную, и каждая строка представляет одно наблюдение.
По умолчанию существует постоянный член в модели, если вы явным образом не удаляете его, не включайте столбец 1 с в X
.
Типы данных: single
| double
y
— Переменная откликаПеременная отклика, заданная как вектор или матрица.
Если 'Distribution'
не 'binomial'
, затем y
должен быть n-by-1 вектор, где n является количеством наблюдений. Каждая запись в y
ответ для соответствующей строки X
. Тип данных должен быть одним или двойным.
Если 'Distribution'
'binomial'
, затем y
может быть n-by-1 вектор или n-by-2 матрица с количествами в столбце 1 и BinomialSize
в столбце 2.
Типы данных: single
| double
| logical
| categorical
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
Deviance
— Отклонение подгонкиЭто свойство доступно только для чтения.
Отклонение подгонки, заданной как числовое значение. Отклонение полезно для сравнения двух моделей, когда одна модель является особым случаем другой модели. Различие между отклонением этих двух моделей имеет распределение хи-квадрат со степенями свободы, равными различию в количестве предполагаемых параметров между этими двумя моделями. Для получения дополнительной информации об отклонении смотрите Отклонение.
Типы данных: single
| double
DFE
— Степени свободы для ошибкиЭто свойство доступно только для чтения.
Степени свободы для ошибки (остаточные значения), равняйтесь количеству наблюдений минус количество предполагаемых коэффициентов, заданных как положительное целое число.
Типы данных: double
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 вектор подходящих значений ответа. |
Все эти количества вычисляются по шкале линейного предиктора. Например, в уравнении, которое задает матрицу шляпы:
Yfit = glm.Fitted.LinearPredictor Y = glm.Fitted.LinearPredictor + glm.Residuals.LinearPredictor
Типы данных: table
Dispersion
— Масштабный коэффициент отклонения ответаЭто свойство доступно только для чтения.
Масштабный коэффициент отклонения ответа, заданного как числовое значение. Dispersion
умножает функцию отклонения для распределения.
Например, функцией отклонения для биномиального распределения является p (1–p)/n, где p является параметром вероятности, и n является параметром объема выборки. Если Dispersion
около 1
, отклонение данных, кажется, соглашается с теоретическим отклонением биномиального распределения. Если Dispersion
больше, чем 1
, набор данных “сверхрассеивается” относительно биномиального распределения.
Типы данных: double
DispersionEstimated
— Отметьте, чтобы указать на использование дисперсионного масштабного коэффициентаЭто свойство доступно только для чтения.
Отметьте, чтобы указать ли fitglm
используемый Dispersion
масштабный коэффициент, чтобы вычислить стандартные погрешности для коэффициентов в Coefficients.SE
, заданный как логическое значение. Если DispersionEstimated
false
, fitglm
используемый теоретическое значение отклонения.
DispersionEstimated
может быть false
только для 'binomial'
или 'poisson'
распределения.
Установите DispersionEstimated
путем установки DispersionFlag
пара "имя-значение" в fitglm
.
Типы данных: логический
Distribution
— Обобщенная информация о распределенииЭто свойство доступно только для чтения.
Обобщенная информация распределения, указанная как структура со следующими полями, относящимися к обобщенному распределению.
Поле | Описание |
---|---|
Name | Имя распределения, один из 'normal' , 'binomial' , 'poisson' \Gamma , или 'inverse gaussian' . |
DevianceFunction | Функция, которая вычисляет компоненты отклонения как функция подходящих значений параметров и значений ответа. |
VarianceFunction | Функция, которая вычисляет теоретическое отклонение для распределения как функция подходящих значений параметров. Когда DispersionEstimated true , Dispersion умножает функцию отклонения в расчете содействующих стандартных погрешностей. |
Типы данных: struct
Fitted
— Подходящие значения ответа на основе входных данныхЭто свойство доступно только для чтения.
Адаптированные (предсказанные) значения на основе входных данных, заданных как таблица с одной строкой для каждого наблюдения и следующих столбцов.
Поле | Описание |
---|---|
Response | Ожидаемые значения по шкале ответа. |
LinearPredictor | Ожидаемые значения по шкале линейного предиктора. Они эквивалентны, функция ссылки применилась к Response подходящие значения. |
Probability | Подходящие вероятности (этот столбец включен только с биномиальным распределением). |
Чтобы получить любой из столбцов как вектор, индексируйте в свойство с помощью записи через точку. Например, в модели mdl
, векторный f
из подходящих значений на ответе шкала
f = mdl.Fitted.Response
Используйте predict
вычислить прогнозы для других значений предиктора или вычислить доверительные границы на Fitted
.
Типы данных: table
Formula
— Информация моделиLinearFormula
объектЭто свойство доступно только для чтения.
Информация модели, указанная как LinearFormula
объект.
Отобразите формулу подобранной модели mdl
использование записи через точку:
mdl.Formula
Link
— Функция ссылкиЭто свойство доступно только для чтения.
Функция ссылки, заданная как структура со следующими полями.
Поле | Описание |
---|---|
Name | Имя функции ссылки или '' если вы задали ссылку как указатель на функцию, а не вектор символов. |
LinkFunction | Функция, которая задает f, указатель на функцию. |
DevianceFunction | Производная f, указателя на функцию. |
VarianceFunction | Инверсия f, указателя на функцию. |
Ссылкой является функциональный f, который соединяет параметр распределения μ с подходящей линейной комбинацией Xb предикторов:
f (μ) = Xb.
Типы данных: 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
NumCoefficients
— Количество коэффициентов моделиЭто свойство доступно только для чтения.
Количество коэффициентов модели, заданных как положительное целое число. NumCoefficients
включает коэффициенты, которые обнуляются, когда условия модели имеют неполный ранг.
Типы данных: double
NumEstimatedCoefficients
— Количество предполагаемых коэффициентовЭто свойство доступно только для чтения.
Количество предполагаемых коэффициентов в модели, заданной как положительное целое число. NumEstimatedCoefficients
не включает коэффициенты, которые обнуляются, когда условия модели имеют неполный ранг. NumEstimatedCoefficients
степени свободы для регрессии.
Типы данных: double
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
Offset
— Переменная OffsetЭто свойство доступно только для чтения.
Возместите переменную, заданную как числовой вектор с той же длиной как количество строк в данных. Offset
передается от fitglm
или stepwiseglm
в Offset
пара "имя-значение". Подходящая функция использовала Offset
как переменный предиктор, но с содействующим набором к точно 1
. Другими словами, формула для подбора кривой была
μ ~ Offset + (terms involving real predictors)
с Offset
предиктор, имеющий коэффициент 1
.
Например, рассмотрите модель регрессии Пуассона. Предположим, что количество количеств известно по теоретическим причинам быть пропорциональным предиктору A
. При помощи журнала соединяют функцию и путем определения log(A)
как смещение, можно обеспечить модель, чтобы удовлетворить этому теоретическому ограничению.
Типы данных: double
PredictorNames
— Имена предикторов раньше подбирали модельЭто свойство доступно только для чтения.
Имена предикторов раньше подбирали модель, заданную как массив ячеек из символьных векторов.
Типы данных: cell
Residuals
— Остаточные значения для подобранной моделиЭто свойство доступно только для чтения.
Остаточные значения для подобранной модели, заданной как таблица с одной строкой для каждого наблюдения и следующих столбцов.
Поле | Описание |
---|---|
Raw | Наблюдаемый минус подходящие значения. |
LinearPredictor | Остаточные значения линейной шкалы предиктора, равняйтесь настроенному значению ответа минус подходящая линейная комбинация предикторов. |
Pearson | Необработанные остаточные значения, разделенные на предполагаемое стандартное отклонение ответа. |
Anscombe | Остаточные значения, заданные на преобразованных данных с преобразованием, выбранным, чтобы удалить скошенность. |
Deviance | Остаточные значения на основе вклада каждого наблюдения к отклонению. |
Чтобы получить любой из этих столбцов как вектор, индексируйте в свойство с помощью записи через точку. Например, в модели mdl
, обычный необработанный вектор невязок r
:
r = mdl.Residuals.Raw
Строки, не используемые в подгонке из-за отсутствующих значений (в ObservationInfo.Missing
) содержите NaN
значения.
Строки, не используемые в подгонке из-за исключенных значений (в ObservationInfo.Excluded
) содержите NaN
значения, за следующими исключениями:
raw
содержит различие между наблюдаемыми и ожидаемыми значениями.
standardized
невязка, стандартизированная обычным способом.
studentized
совпадает со стандартизированными значениями, потому что эта невязка не используется в оценке остаточного стандартного отклонения.
Типы данных: table
ResponseName
— Имя переменной откликаЭто свойство доступно только для чтения.
Имя переменной отклика, заданное как вектор символов.
Типы данных: char
Rsquared
— Значение R-squared для моделиЭто свойство доступно только для чтения.
Значение R-squared для модели, заданной как структура с пятью полями:
Ordinary
— Обычный (неприспособленный) R-squared
Adjusted
— R-squared, настроенный для количества коэффициентов
LLR
— Отношение логарифмической правдоподобности
Deviance
— Отклонение
AdjGeneralized
— Настроенный обобщил R-squared
Значение R-squared является пропорцией полной суммы квадратов, объясненных моделью. Обычное значение R-squared относится к SSR
и SST
свойства:
Rsquared = SSR/SST = 1 - SSE/SST
.
Чтобы получить любое из этих значений как скаляр, индексируйте в свойство с помощью записи через точку. Например, настроенное значение 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
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
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
addTerms | Добавьте условия в обобщенную линейную модель |
компактный | Компактная обобщенная линейная модель регрессии |
подгонка | (Не Рекомендуемый), Создают обобщенную линейную модель регрессии |
plotDiagnostics | Постройте диагностику обобщенной линейной модели регрессии |
plotResiduals | Постройте остаточные значения обобщенной линейной модели регрессии |
removeTerms | Удалите условия из обобщенной линейной модели |
шаг | Улучшите обобщенную линейную модель регрессии путем добавления или удаления условий |
пошагово | (Не Рекомендуемый), Создают обобщенную линейную модель регрессии ступенчатой регрессией |
coefCI | Доверительные интервалы содействующих оценок обобщенной линейной модели |
coefTest | Линейный тест гипотезы на обобщенных линейных коэффициентах модели регрессии |
devianceTest | Анализ отклонения |
disp | Отобразите обобщенную линейную модель регрессии |
feval | Оцените обобщенный линейный прогноз модели регрессии |
plotSlice | График срезов через подходящую обобщенную линейную поверхность регрессии |
предсказать | Предскажите ответ обобщенной линейной модели регрессии |
случайный | Симулируйте ответы для обобщенной линейной модели регрессии |
Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).
Подбирайте модель логистической регрессии вероятности курения как функция возраста, веса и пола, с помощью двухсторонней модели взаимодействий.
Загрузите hospital
массив набора данных.
load hospital ds = hospital; % just to use the ds name
Задайте модель с помощью формулы, которая позволяет до двухсторонних взаимодействий.
modelspec = 'Smoker ~ Age*Weight*Sex - Age:Weight:Sex';
Создайте обобщенную линейную модель.
mdl = fitglm(ds,modelspec,'Distribution','binomial')
mdl = Generalized linear regression model: logit(Smoker) ~ 1 + Sex*Age + Sex*Weight + Age*Weight Distribution = Binomial Estimated Coefficients: Estimate SE tStat pValue ___________ _________ ________ _______ (Intercept) -6.0492 19.749 -0.3063 0.75938 Sex_Male -2.2859 12.424 -0.18399 0.85402 Age 0.11691 0.50977 0.22934 0.81861 Weight 0.031109 0.15208 0.20455 0.83792 Sex_Male:Age 0.020734 0.20681 0.10025 0.92014 Sex_Male:Weight 0.01216 0.053168 0.22871 0.8191 Age:Weight -0.00071959 0.0038964 -0.18468 0.85348 100 observations, 93 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 5.07, p-value = 0.535
Большое - значение указывает, что сила модели не отличается статистически от константы.
Создайте данные об ответе, использующие всего три из 20 предикторов, и создайте обобщенную линейную модель пошагово, чтобы видеть, используют ли они только правильные предикторы.
Создайте данные с 20 предикторами и ответ Пуассона, использующий всего три из предикторов, плюс константа.
rng default % for reproducibility X = randn(100,20); mu = exp(X(:,[5 10 15])*[.4;.2;.3] + 1); y = poissrnd(mu);
Подбирайте обобщенную линейную модель с помощью распределения Пуассона.
mdl = stepwiseglm(X,y,... 'constant','upper','linear','Distribution','poisson')
1. Adding x5, Deviance = 134.439, Chi2Stat = 52.24814, PValue = 4.891229e-13 2. Adding x15, Deviance = 106.285, Chi2Stat = 28.15393, PValue = 1.1204e-07 3. Adding x10, Deviance = 95.0207, Chi2Stat = 11.2644, PValue = 0.000790094
mdl = Generalized linear regression model: log(y) ~ 1 + x5 + x10 + x15 Distribution = Poisson Estimated Coefficients: Estimate SE tStat pValue ________ ________ ______ __________ (Intercept) 1.0115 0.064275 15.737 8.4217e-56 x5 0.39508 0.066665 5.9263 3.0977e-09 x10 0.18863 0.05534 3.4085 0.0006532 x15 0.29295 0.053269 5.4995 3.8089e-08 100 observations, 96 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 91.7, p-value = 9.61e-20
Функцией ссылки по умолчанию для обобщенной линейной модели является canonical link function.
Канонические функции ссылки для обобщенных линейных моделей
Распределение | Соедините имя функции | Функция ссылки | Средняя (обратная) функция |
---|---|---|---|
'normal' | 'identity' | f (μ) = μ | μ = Xb |
'binomial' | 'logit' | f (μ) = журнал (μ / (1–μ)) | μ = exp (Xb) / (1 + exp (Xb)) |
'poisson' | 'log' | f (μ) = журнал (μ) | μ = exp (Xb) |
'gamma' | -1
| f (μ) = 1/μ | μ = 1 / (Xb) |
'inverse gaussian' | -2
| f (μ) = 1/μ2 | μ = (Xb) –1/2 |
H hat matrix задан в терминах матрицы данных X и диагональная матрица веса W:
H = X (XTWX) –1XTWT.
W имеет диагональные элементы wi:
где
g является функцией ссылки отображение yi к xib.
производная функции ссылки g.
V является функцией отклонения.
μi является i th среднее значение.
Диагональные элементы Hii удовлетворяют
где n является количеством наблюдений (строки X), и p является количеством коэффициентов в модели регрессии.
Рычаги наблюдения, i является значением i th диагональ, называют h ii матрицы шляпы H. Поскольку суммой значений рычагов является p (количество коэффициентов в модели регрессии), наблюдение, i может быть рассмотрен выбросом, если его рычаги существенно превышают p/n, где n является количеством наблюдений.
Расстояние Повара Di наблюдения i
где
дисперсионный параметр (оцененный или теоретический).
ei является линейной невязкой предиктора, , где
g является функцией ссылки.
yi является наблюдаемым ответом.
xi является наблюдением.
предполагаемый вектор коэффициентов.
p является количеством коэффициентов в модели регрессии.
hii является i th диагональный элемент Матрицы Шляпы H.
Отклонение модели M1 является дважды различием между логарифмической правдоподобностью той модели и влажной моделью, MS. Влажная модель является моделью с максимальным количеством параметров, которые могут быть оценены. Например, если существуют наблюдения n y i, i = 1, 2..., n, с потенциально различными значениями для X i Tβ, то можно задать влажную модель параметрами n. Позвольте L (b, y) обозначают максимальное значение функции правдоподобия для модели. Затем отклонение модели M1
где b 1 является предполагаемыми параметрами для модели M1 и b S, предполагаемые параметры для влажной модели. Отклонение имеет распределение хи-квадрат с n – степени свободы p, где n является количеством параметров во влажной модели, и p является количеством параметров в модели M1.
Если M1 и M2 являются двумя различными обобщенными линейными моделями, то припадок моделей может быть оценен путем сравнения отклонений D 1 и D 2 из этих моделей. Различие отклонений
Асимптотически, это различие имеет распределение хи-квадрат со степенями свободы v, равный количеству параметров, которые оцениваются в одной модели, но фиксируются (обычно в 0) в другом. Это равно различию в количестве параметров, оцененных в M1 и M2. Можно получить p - значение для этого теста с помощью 1 - chi2cdf(D,V)
, где D = D 2 – D 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
для переменной отклика в последнем столбце каждой строки.
Указания и ограничения по применению:
Когда вы подбираете модель при помощи fitglm
или stepwiseglm
, следующие ограничения применяются.
Генерация кода не поддерживает категориальные предикторы. Вы не можете снабдить обучающими данными в таблице, которая содержит логический вектор, символьный массив, категориальный массив, массив строк или массив ячеек из символьных векторов. Кроме того, вы не можете использовать 'CategoricalVars'
аргумент пары "имя-значение". Чтобы включать категориальные предикторы в модель, предварительно обработайте категориальные предикторы при помощи dummyvar
прежде, чем подбирать модель.
Link
, Derivative
, и Inverse
поля 'Link'
аргументом пары "имя-значение" не могут быть анонимные функции. Таким образом, вы не можете сгенерировать код с помощью обобщенной линейной модели, которая была создана с помощью анонимных функций в ссылках. Вместо этого задайте функции для компонентов ссылки.
Для получения дополнительной информации смотрите Введение в Генерацию кода.
LinearModel
| NonLinearModel
| fitglm
| plotPartialDependence
| stepwiseglm
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.