Обобщенный класс линейной регрессионой модели
GeneralizedLinearModel
является подобранной обобщённой линейной регрессионой моделью. Обобщенная линейная регрессионая модель является специальным классом нелинейных моделей, которые описывают нелинейную связь между откликом и предикторами. Обобщенная линейная регрессионая модель имеет обобщенные характеристики линейной регрессионой модели. Переменная отклика следует нормальному, биномиальному, Пуассону, гамма или обратному Гауссову распределению с параметрами, включая среднюю μ отклика. Функция < reservedrangesplaceholder1 > ссылки определяет отношение между μ и линейной комбинацией предикторов.
Используйте свойства GeneralizedLinearModel
объект для исследования подобранной обобщенной линейной регрессионой модели. Свойства объекта включают информацию о оценках коэффициентов, сводной статистике, методе аппроксимации и входных данных. Используйте функции объекта для предсказания откликов и для изменения, вычисления и визуализации модели.
Создайте GeneralizedLinearModel
объект при помощи fitglm
или stepwiseglm
.
fitglm
подбирает обобщенную линейную регрессионую модель к данным с помощью спецификации фиксированной модели. Использовать addTerms
, removeTerms
, или step
чтобы добавить или удалить условия из модели. В качестве альтернативы используйте stepwiseglm
для подгонки модели с использованием ступенчатой обобщенной линейной регрессии.
CoefficientCovariance
- Ковариационная матрица оценок коэффициентовЭто свойство доступно только для чтения.
Ковариационная матрица оценок коэффициентов, заданная в виде p -by - p матрицы числовых значений. p - количество коэффициентов в подобранной модели.
Для получения дополнительной информации см. «Стандартные ошибки коэффициентов и доверительные интервалы».
Типы данных: single
| double
CoefficientNames
- Имена коэффициентовЭто свойство доступно только для чтения.
Имена коэффициентов, заданные как массив ячеек из векторов символов, каждый из которых содержит имя соответствующего термина.
Типы данных: cell
Coefficients
- Значения коэффициентовЭто свойство доступно только для чтения.
Значения коэффициентов, заданные как таблица. Coefficients
содержит по одной строке для каждого коэффициента и следующих столбцов:
Estimate
- Расчетное значение коэффициента
SE
- Стандартная ошибка оценки
tStat
- t -статистический для теста, что коэффициент равен нулю
pValue
- p -value для t -statistic
Использовать coefTest
для выполнения линейных тестов гипотез коэффициентов. Использовать coefCI
чтобы найти доверительные интервалы оценок коэффициентов.
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите вектор оцененного коэффициента в модели mdl
:
beta = mdl.Coefficients.Estimate
Типы данных: table
NumCoefficients
- Количество коэффициентов моделиЭто свойство доступно только для чтения.
Количество коэффициентов модели, заданное как положительное целое число. NumCoefficients
включает коэффициенты, которые установлены в нуль, когда члены модели неполного ранга.
Типы данных: double
NumEstimatedCoefficients
- Количество расчетных коэффициентовЭто свойство доступно только для чтения.
Количество оцененных коэффициентов в модели, заданное в виде положительного целого числа. NumEstimatedCoefficients
не включает коэффициенты, которые равны нулю, когда члены модели неполного ранга. NumEstimatedCoefficients
- степени свободы для регрессии.
Типы данных: double
Deviance
- Отклонение подгонкиЭто свойство доступно только для чтения.
Отклонение подгонки, заданное в виде числового значения. Отклонение полезно для сравнения двух моделей, когда одна модель является частным случаем другой модели. Различие между отклонением двух моделей имеет хи-квадратное распределение со степенями свободы, равными различиями в количестве предполагаемых параметров между этими двумя моделями. Для получения дополнительной информации см. «Отклонение».
Типы данных: single
| double
DFE
- Степени свободы для ошибкиЭто свойство доступно только для чтения.
Степени свободы для ошибки (невязки), равные количеству наблюдений минус количество оцененных коэффициентов, заданное в виде положительного целого числа.
Типы данных: double
Diagnostics
- Диагностика наблюденийЭто свойство доступно только для чтения.
Диагностика наблюдений, заданная как таблица, содержащая по одной строке для каждого наблюдения и столбцов, описанных в этой таблице.
Столбец | Значение | Описание |
---|---|---|
Leverage | Диагональные элементы HatMatrix | Leverage для каждого наблюдения указывает, в какой степени подгонка определяется наблюдаемыми значениями предиктора. Значение, близкое к 1 указывает, что подгонка в значительной степени определяется этим наблюдением, с небольшим вкладом от других наблюдений. Значение, близкое к 0 указывает, что подгонка в значительной степени определяется другими наблюдениями. Для модели с P коэффициенты и N наблюдения, среднее значение Leverage является P/N . A Leverage значение, больше 2*P/N указывает на высокое кредитное плечо. |
CooksDistance | Расстояние изменения масштаба Кука в подобранных значениях | CooksDistance является мерой масштабированного изменения подобранных значений. Наблюдение с CooksDistance более чем в три раза больше среднего расстояния Кука может быть выбросы. |
HatMatrix | Проекционная матрица для вычисления, подобранная из наблюдаемых откликов | HatMatrix является N -by- N матрица такая, что Fitted = HatMatrix*Y , где Y - вектор отклика и Fitted - вектор установленных значений отклика. |
Программа вычисляет эти значения по шкале линейной комбинации предикторов, сохраненной в LinearPredictor
поле Fitted
и Residuals
свойства. Для примера программное обеспечение вычисляет значения диагностики с помощью подобранных значений отклика и скорректированных значений отклика модели mdl
.
Yfit = mdl.Fitted.LinearPredictor Yadjusted = mdl.Fitted.LinearPredictor + mdl.Residuals.LinearPredictor
Diagnostics
содержит информацию, которая полезна для нахождения выбросов и влиятельных наблюдений. Для получения дополнительной информации см. «Кредитное плечо», «Расстояние Кука» и «Шляпа Матрицы».
Использовать plotDiagnostics
для построения графика диагностики наблюдений.
Строки, не используемые в подгонке, из-за отсутствующих значений (в ObservationInfo.Missing
) или исключенные значения (в ObservationInfo.Excluded
) содержат NaN
значения в CooksDistance
столбец и нули в Leverage
и HatMatrix
столбцы.
Чтобы получить любой из этих столбцов как массив, индексируйте в свойство с помощью записи через точку. Для примера получите матрицу шляпы в модели mdl
:
HatMatrix = mdl.Diagnostics.HatMatrix;
Типы данных: table
Dispersion
- Масштабный коэффициент отклонения откликаЭто свойство доступно только для чтения.
Шкала коэффициент отклонения отклика, заданный как числовой скаляр.
Если на 'DispersionFlag'
Аргумент пары "имя-значение" из fitglm
или stepwiseglm
является true
, затем функция оценивает Dispersion
масштабный коэффициент при вычислении отклонения отклика. Отклонение отклика равно теоретическому отклонению, умноженной на масштабный коэффициент.
Например, функция отклонения для биномиального распределения является p (1- p )/ n, где p является параметром вероятности, а n является параметром размера выборки. Если Dispersion
близок 1
Отклонение данных, по-видимому, согласуется с теоретическим отклонением биномиального распределения. Если Dispersion
больше 1
, набор данных «чрезмерно диспергирован» относительно биномиального распределения.
Типы данных: double
DispersionEstimated
- Флаг для указания использования масштабного коэффициента дисперсииЭто свойство доступно только для чтения.
Флаг, указывающий, fitglm
использовали Dispersion
масштабный коэффициент для вычисления стандартных ошибок для коэффициентов в Coefficients.SE
, заданный как логическое значение. Если DispersionEstimated
является false
, fitglm
использовали теоретическое значение отклонения.
DispersionEstimated
можно false
только для биномиальных и пуассоновских распределений.
Задайте DispersionEstimated
путем установки 'DispersionFlag'
Аргумент пары "имя-значение" из fitglm
или stepwiseglm
.
Типы данных: logical
Fitted
- Установленные значения отклика на основе входных данныхЭто свойство доступно только для чтения.
Подобранные (предсказанные) значения на основе входных данных, заданные как таблица, содержащая по одной строке для каждого наблюдения и столбцы, описанные в этой таблице.
Столбец | Описание |
---|---|
Response | Предсказанные значения на шкале отклика |
LinearPredictor | Предсказанные значения в масштабе линейной комбинации предикторов (так же, как функция ссылки, примененная к Response подобранные значения) |
Probability | Установленные вероятности (включены только с биномиальным распределением) |
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите вектор f
установленных значений на шкале отклика в модели mdl
:
f = mdl.Fitted.Response
Использование predict
вычислить предсказания для других значений предиктора или вычислить доверительные границы на Fitted
.
Типы данных: table
LogLikelihood
- Логарифмическая правдоподобностьЭто свойство доступно только для чтения.
Логарифмическая правдоподобность распределения модели в значениях отклика, заданная в виде числового значения. Среднее значение подгоняется из модели, а другие параметры оцениваются как часть подгонки.
Типы данных: single
| double
ModelCriterion
- Критерий для сравнения моделейЭто свойство доступно только для чтения.
Критерий сравнения моделей, заданный как структура с этими полями:
AIC
- информационный критерий Акайке. AIC = –2*logL + 2*m
, где logL
- логарифмическая правдоподобность и m
- количество предполагаемых параметров.
AICc
- информационный критерий Akaike скорректирован для размера выборки. AICc = AIC + (2*m*(m + 1))/(n – m – 1)
, где n
количество наблюдений.
BIC
- байесовский информационный критерий. BIC = –2*logL + m*log(n)
.
CAIC
- Согласованный информационный критерий Акайке. CAIC = –2*logL + m*(log(n) + 1)
.
Информационные критерии являются инструментами выбора модели, которые можно использовать, чтобы сравнить несколько моделей, подгоняемых к одним и тем же данным. Эти критерии являются основанными на вероятностях показателями подгонки модели, которые включают штраф за сложность (в частности, количество параметров). Различные информационные критерии различаются формой штрафа.
Когда вы сравниваете несколько моделей, модель с самым низким значением информационного критерия является наиболее подходящей моделью. Наиболее подходящая модель может варьироваться в зависимости от критерия, используемого для сравнения модели.
Чтобы получить любое из значений критерия в виде скаляра, индексируйте в свойство с помощью записи через точку. Для примера получите значение AIC aic
в mdl модели
:
aic = mdl.ModelCriterion.AIC
Типы данных: struct
Residuals
- Невязки для подобранной моделиЭто свойство доступно только для чтения.
Невязки для подобранной модели, заданные как таблица, содержащая по одной строке для каждого наблюдения и столбцов, описанных в этой таблице.
Столбец | Описание |
---|---|
Raw | Наблюдаемые минусовые значения |
LinearPredictor | Невязки на шкале линейного предиктора, равные скорректированному значению отклика минус подобранная линейная комбинация предикторов |
Pearson | Необработанные невязки, разделенные на расчетное стандартное отклонение отклика |
Anscombe | Невязки, заданные на преобразованных данных с преобразованием, выбранным для удаления перекоса |
Deviance | Невязки, основанные на вкладе каждого наблюдения в отклонение |
Строки, не используемые в подгонке, из-за отсутствующих значений (в ObservationInfo.Missing
) содержат NaN
значения.
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите обыкновенный сырой вектор невязок r
в mdl модели
:
r = mdl.Residuals.Raw
Типы данных: table
Rsquared
- R-квадрат для моделиЭто свойство доступно только для чтения.
R-квадрат значения для модели, заданный как структура с пятью полями.
Область | Описание | Уравнение |
---|---|---|
Ordinary | Обыкновенный (нескорректированный) R-квадрат |
|
Adjusted | R-квадрат скорректирован для количества коэффициентов |
N - количество наблюдений ( |
LLR | Логарифмическая правдоподобность |
L - логарифмическая правдоподобность подобранной модели ( |
Deviance | Отклонение R-квадрат |
D является отклонением подобранной модели ( |
AdjGeneralized | Скорректированный обобщенный R-квадрат |
R2AddGeneralized является корректировкой Нагелкерке [2] к формуле, предложенной Maddala [3], Коксом и Снеллом [4] и Magee [5] для логистических регрессионых моделей. |
Чтобы получить любое из этих значений в виде скаляра, индексируйте в свойство с помощью записи через точку. Для примера получить скорректированное значение R-квадрат в модели mdl
, введите:
r2 = mdl.Rsquared.Adjusted
Типы данных: struct
SSE
- Сумма квадратов ошибокЭто свойство доступно только для чтения.
Сумма квадратичных невязок (остатков), заданная в виде числового значения.
Типы данных: single
| double
SSR
- Регрессионная сумма квадратовЭто свойство доступно только для чтения.
Регрессионная сумма квадратов, заданная в виде числового значения. Регрессионная сумма квадратов равна сумме квадратов отклонений подобранных значений от их среднего.
Типы данных: single
| double
SST
- Общая сумма квадратовЭто свойство доступно только для чтения.
Общая сумма квадратов, заданная в виде числового значения. Общая сумма квадратов равна сумме квадратов отклонений вектора отклика y
от mean(y)
.
Типы данных: single
| double
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
Distribution
- Обобщенная информация о распределенииЭто свойство доступно только для чтения.
Обобщенная информация о распределении, заданная как структура с полями, описанными в этой таблице.
Область | Описание |
---|---|
Name | Имя распределения: 'normal' , 'binomial' , 'poisson' , 'gamma' , или 'inverse gaussian' |
DevianceFunction | Функция, которая вычисляет компоненты отклонения как функцию от установленных значений параметров и значений отклика |
VarianceFunction | Функция, которая вычисляет теоретическое отклонение для распределения как функцию от подобранных значений параметров. Когда DispersionEstimated является true программное обеспечение умножает функцию отклонения на Dispersion при расчете стандартных ошибок коэффициентов. |
Типы данных: struct
Formula
- Информация о моделиLinearFormula
объектЭто свойство доступно только для чтения.
Информация о модели, заданная как LinearFormula
объект.
Отобразите формулу подобранной модели mdl
использование записи через точку:
mdl.Formula
Link
- Функция LinkЭто свойство доступно только для чтения.
Ссылка, заданная как структура с полями, описанными в этой таблице.
Область | Описание |
---|---|
Name | Имя функции ссылки, заданное как вектор символов. Если вы задаете функцию link с помощью указателя на функцию, то Name является '' . |
Link | Function f, который задает функцию link, заданную как указатель на функцию |
Derivative | Производная f, заданная как указатель на функцию |
Inverse | Обратная переменная f, заданная как указатель на функцию |
Функция link является f функций, которая связывает μ параметра распределения с подобранной линейной комбинацией Xb из предикторов:
f (<reservedrangesplaceholder1>) = Xb.
Типы данных: struct
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
Offset
- Переменная смещенияЭто свойство доступно только для чтения.
Переменная смещения, заданная как числовой вектор с той же длиной, что и количество строк в данных. Offset
передается от fitglm
или stepwiseglm
в 'Offset'
аргумент пары "имя-значение". Функции аппроксимации используют Offset
как дополнительная переменная предиктора со значением коэффициента, фиксированным на 1
. Другими словами, формула для подбора кривой
f (<reservedrangesplaceholder1>) ~ Offset + (terms involving real predictors)
где f - функция ссылки. The Offset
предиктор имеет коэффициент 1
.
Например, рассмотрим регрессионую модель Пуассона. Предположим, что количество отсчётов известно по теоретическим причинам, что оно пропорционально предиктору A
. При помощи функции log link и путем определения log(A)
в качестве смещения можно заставить модель удовлетворить этому теоретическому ограничению.
Типы данных: double
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
CompactGeneralizedLinearModel
compact | Компактная обобщенная линейная регрессионая модель |
addTerms | Добавьте условия к обобщенной линейной регрессионой модели |
removeTerms | Удалите члены из обобщенной линейной регрессионой модели |
step | Улучшите обобщенную линейную регрессионую модель путем добавления или удаления членов |
coefCI | Доверительные интервалы оценок коэффициентов обобщенной линейной регрессионой модели |
coefTest | Линейный тест гипотезы на обобщенных коэффициентах линейной регрессионой модели |
devianceTest | Анализ отклонения для обобщенной линейной регрессионой модели |
partialDependence | Вычисление частичной зависимости |
plotDiagnostics | Постройте диагностику наблюдений обобщенной линейной регрессионой модели |
plotPartialDependence | Создайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE) |
plotResiduals | Постройте невязки обобщенной линейной регрессионой модели |
plotSlice | График срезов через подобранную обобщенную линейную регрессионую поверхность |
gather | Сбор свойств модели машинного обучения с графический процессор |
Подбирайте логистическую регрессионую модель вероятности курения как функции возраста, веса и пола, используя двухстороннюю модель взаимодействия.
Загрузите hospital
набор данных.
load hospital
Преобразуйте массив набора данных в таблицу.
tbl = dataset2table(hospital);
Задайте модель с помощью формулы, которая включает двухсторонние взаимодействия и условия более низкого порядка.
modelspec = 'Smoker ~ Age*Weight*Sex - Age:Weight:Sex';
Создайте обобщенную линейную модель.
mdl = fitglm(tbl,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
Большое значение p указывает, что модель может не отличаться статистически от константы.
Создайте данные отклика с помощью трех из 20 переменных предиктора и создайте обобщенную линейную модель с помощью ступенчатой регрессии от постоянной модели, чтобы увидеть, stepwiseglm
ли находит правильные предикторы.
Сгенерируйте выборочные данные, которая имеет 20 переменных предиктора. Используйте три предиктора, чтобы сгенерировать переменную отклика Пуассона.
rng default % for reproducibility X = randn(100,20); mu = exp(X(:,[5 10 15])*[.4;.2;.3] + 1); y = poissrnd(mu);
Подгонка обобщенной линейной регрессионой модели с использованием распределения Пуассона. Задайте стартовую модель как модель, которая содержит только постоянный (перехват) термин. Кроме того, задайте модель с точкой пересечения и линейным термином для каждого предиктора как самой большой модели, которая будет рассматриваться как подгонка при помощи 'Upper'
аргумент пары "имя-значение".
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
stepwiseglm
находит три правильных предиктора: x5
, x10
, и x15
.
Функция ссылки по умолчанию для обобщенной линейной модели является canonical link function. Можно задать функцию ссылки, когда вы подбираете модель с fitglm
или stepwiseglm
при помощи 'Link'
аргумент пары "имя-значение".
Распределение | Канонические Ссылки Имени функции | Функция ссылки | Средняя (обратная) функция |
---|---|---|---|
'normal' | 'identity' | f (<reservedrangesplaceholder1>) = μ | μ = Xb |
'binomial' | 'logit' | f (μ) = журнал (μ/( 1 - μ)) | μ = exp (Xb )/( 1 + exp (Xb)) |
'poisson' | 'log' | f (μ) = журнал (μ) | μ = exp (Xb) |
'gamma' | -1 | f (<reservedrangesplaceholder1>) = 1 / μ | μ = 1 / (<reservedrangesplaceholder0>) |
'inverse gaussian' | -2 | f (<reservedrangesplaceholder1>) = 1 / μ2 | μ = (<reservedrangesplaceholder0>)–1/2 |
Расстояние Кука является масштабированным изменением подобранных значений, которое полезно для идентификации выбросов в наблюдениях для переменных предиктора. Расстояние Кука показывает влияние каждого наблюдения на установленные значения отклика. Наблюдение за расстоянием Кука, превышающим в три раза среднее расстояние Кука, может оказаться выбросами.
Дистанционная Di i наблюдения Кука
где
- параметр дисперсии (оценочный или теоретический).
ei - линейный предиктор невязки, , где
g является функцией ссылки.
yi - наблюдаемая реакция.
xi - это наблюдение.
- вектор оцененного коэффициента.
p - количество коэффициентов в регрессионной модели.
hii - i-й диагональный элемент матричного H Hat.
Рычаг является мерой эффекта конкретного наблюдения на регрессионные предсказания из-за положения этого наблюдения в пространстве входов.
Рычаги наблюдения i являются значением <reservedrangesplaceholder7> <reservedrangesplaceholder6> термина диагонали <reservedrangesplaceholder8> th матрицы шляпы H. Поскольку сумма значений рычага p (количество коэффициентов в регрессионой модели), i наблюдения может рассматриваться как выбросы, если его рычаг существенно превышает p/ n, где n - количество наблюдений.
Матрица шляпы является проекционной матрицей, которая проецирует вектор наблюдений отклика на вектор предсказаний.
Матричная H шляпы задана в терминах матричной X данных и диагональной матрицы веса W:
H = X (XTWX)–1XTWT.
W имеет диагональные элементы wi:
где
g - ссылка отображения функций yi к xib.
является производной функции ссылки g.
V является функцией отклонения.
μi - i среднее значение.
Диагональные элементы Hii удовлетворять
где n - количество наблюдений (строки X), а p - количество коэффициентов в регрессионой модели.
Отклонение - обобщение остаточной суммы квадратов. Он измеряет качество подгонки по сравнению с насыщенной моделью.
Отклонение модели M 1 в два раза больше разницы между логарифмической правдоподобностью модели M 1 и насыщенной моделью M s. Насыщенная модель является моделью с максимальным количеством параметров, которые вы можете оценить.
Например, если у вас есть n наблюдения (y i, i = 1, 2,..., n) с потенциально различными значениями для X iTβ, тогда можно задать насыщенную модель с n параметрами. Пусть L (b, y) обозначают максимальное значение функции правдоподобия для модели с b параметрами. Тогда отклонение модели M 1 является
где b 1 и b s содержат предполагаемые параметры для модели M 1 и насыщенной модели, соответственно. Отклонение имеет распределение хи-квадрат с n - p степенями свободы, где n - количество параметров в насыщенной модели и p - количество параметров в модели M 1.
Предположим, что у вас есть две различные обобщенные линейные регрессионые модели M 1 и M 2, и M 1 имеет подмножество членов в M 2. Можно оценить подгонку моделей путем сравнения отклонений D 1 и D 2 двух моделей. Различие отклонений
Асимптотически, разностное D имеет хи-квадратное распределение со степенями свободы v равное разности в количестве параметров, оцененных в M 1 и M 2. Вы можете получить p -value для этого теста с помощью 1 – chi2cdf(D,v)
.
Обычно вы исследуете D с помощью модели M 2 с постоянным термином и без предикторов. Поэтому D имеет распределение хи-квадрат с p - 1 степенями свободы. Если дисперсия оценена, различие, разделенная на предполагаемую дисперсию, имеет F распределение с p - 1 числительными степенями свободы и n - p знаменательными степенями свободы.
Матрица терминов 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
для переменной отклика в последнем столбце каждой строки.
[1] Макфадден, Дэниел. «Условный логит-анализ качественного поведения выбора». в Frontiers in Econometrics, под редакцией П. Zarembka,105-42. Нью-Йорк: Академическая пресса, 1974.
[2] Нагелкерке, Н. Дж. Д. «Примечание к общему определению коэффициента детерминации». Биометрика 78, № 3 (1991): 691-92.
[3] Maddala, Gangadharrao S. Ограниченно-зависимые и качественные переменные в эконометрике. Монографии эконометрического общества. Нью-Йорк, Нью-Йорк: Cambridge University Press, 1983.
[4] Кокс, Д. Р. и Э. Дж. Снелл. Анализ двоичных данных. 2-е изд. Монографии по статистике и прикладной вероятности 32. Лондон; Нью-Йорк: Чапман и Холл, 1989.
[5] Мэги, Лонни. «Меры R 2, основанные на тестах совместного значения коэффициента вероятности и Вальда». Американский статистик 44, № 3 (август 1990): 250-53.
Указания и ограничения по применению:
Когда вы подбираете модель при помощи fitglm
или stepwiseglm
, вы не можете задать Link
, Derivative
, и Inverse
поля 'Link'
аргумент пары "имя-значение" как анонимные функции. То есть вы не можете сгенерировать код с помощью обобщенной линейной модели, которая была создана с использованием анонимных функций для ссылок. Вместо этого задайте функции для компонентов ссылки.
Для получения дополнительной информации смотрите Введение в генерацию кода.
Указания и ограничения по применению:
Следующие функции объекта полностью поддерживают массивы GPU:
Следующие функции объекта поддерживают объекты модели, оснащенные входными параметрами массива GPU:
Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
CompactGeneralizedLinearModel
| fitglm
| LinearModel
| NonLinearModel
| stepwiseglm
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.