Создайте обобщенную линейную регрессионую модель
возвращает обобщенную линейную модель с дополнительными опциями, заданными одним или несколькими mdl
= fitglm(___,Name,Value
)Name,Value
аргументы в виде пар.
Для примера можно задать, какие переменные являются категориальными, распределение переменной отклика и функцию ссылки для использования.
Создайте логистическую биномиальную модель вероятности курения как функции возраста, веса и пола, используя модель двусторонних взаимодействий.
Загрузите hospital
массив набора данных.
load hospital
dsa = hospital;
Задайте модель с помощью формулы, которая позволяет до двухсторонних взаимодействий между возрастом, весом и полом переменных. Курильщик является переменной отклика.
modelspec = 'Smoker ~ Age*Weight*Sex - Age:Weight:Sex';
Подбор логистической биномиальной модели.
mdl = fitglm(dsa,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 (под pValue
) большие. Это означает, что ни один из коэффициентов не является значимым. Большое -значение для теста модели, 0.535, указывает, что эта модель может не отличаться статистически от постоянной модели.
Создайте выборочные данные с 20 предикторами и ответ Пуассона, используя всего три предиктора плюс константа.
rng('default') % for reproducibility X = randn(100,7); mu = exp(X(:,[1 3 6])*[.4;.2;.3] + 1); y = poissrnd(mu);
Подбор обобщенной линейной модели с помощью распределения Пуассона.
mdl = fitglm(X,y,'linear','Distribution','poisson')
mdl = Generalized linear regression model: log(y) ~ 1 + x1 + x2 + x3 + x4 + x5 + x6 + x7 Distribution = Poisson Estimated Coefficients: Estimate SE tStat pValue _________ ________ ________ __________ (Intercept) 0.88723 0.070969 12.502 7.3149e-36 x1 0.44413 0.052337 8.4858 2.1416e-17 x2 0.0083388 0.056527 0.14752 0.88272 x3 0.21518 0.063416 3.3932 0.00069087 x4 -0.058386 0.065503 -0.89135 0.37274 x5 -0.060824 0.073441 -0.8282 0.40756 x6 0.34267 0.056778 6.0352 1.5878e-09 x7 0.04316 0.06146 0.70225 0.48252 100 observations, 92 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 119, p-value = 1.55e-22
The p
-значения 2.14e-17, 0.00069 и 1.58e-09 указывают, что коэффициенты переменных x1
, x3
, и x6
являются статистически значимыми.
tbl
- Входные данныеВходные данные, включая переменные предиктора и отклика, заданные как таблица или массив набора данных. Переменные предиктора и переменная отклика могут быть числовыми, логическими, категориальными, символьными или строковыми. Переменная отклика может иметь тип данных, отличный от числового, только если 'Distribution'
является 'binomial'
.
По умолчанию, fitglm
принимает последнюю переменную как переменную отклика, а другие как переменные предиктора.
Чтобы задать другой столбец в качестве переменной отклика, используйте ResponseVar
аргумент пары "имя-значение".
Чтобы использовать подмножество столбцов в качестве предикторов, используйте PredictorVars
аргумент пары "имя-значение".
Чтобы определить спецификацию модели, установите modelspec
аргумент с использованием формулы или матрицы терминов. Матрица формул или терминов задает, какие столбцы использовать в качестве переменных предиктора или отклика.
Имена переменных в таблице не должны быть допустимыми MATLAB® идентификаторы. Однако, если имена недопустимы, вы не можете использовать формулу, когда подбираете или корректируете модель; для примера:
Вы не можете задать modelspec
использование формулы.
Вы не можете использовать формулу, чтобы задать условия, которые нужно добавить или удалить при использовании addTerms
функцию или removeTerms
функция, соответственно.
Вы не можете использовать формулу, чтобы задать нижнюю и верхнюю границы модели, когда вы используете step
или stepwiseglm
функция с аргументами пары "имя-значение" 'Lower'
и 'Upper'
, соответственно.
Можно проверить имена переменных в tbl
при помощи isvarname
функция. Если имена переменных недопустимы, можно преобразовать их, используя matlab.lang.makeValidName
функция.
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
modelspec
- Спецификация модели'linear'
(по умолчанию) | вектор символов или строковый скаляр с именем модели | t -by- (p + 1) терминов матрица | вектор символов или строковая скалярная формула в форме 'y ~ terms'
Спецификация модели, заданная в качестве одного из следующих значений.
Вектор символов или строковый скаляр с именем модели.
Значение | Тип модели |
---|---|
'constant' | Модель содержит только постоянный (перехват) термин. |
'linear' | Модель содержит точку пересечения и линейный термин для каждого предиктора. |
'interactions' | Модель содержит точку пересечения, линейный член для каждого предиктора и все продукты пар различных предикторов (без квадратов членов). |
'purequadratic' | Модель содержит термин точки пересечения и линейные и квадратные условия для каждого предиктора. |
'quadratic' | Модель содержит член точки пересечения, линейные и квадратные условия для каждого предиктора и все продукты пар различных предикторов. |
' | Модель является полиномом со всеми терминами до степени i в первом предикторе, степень j во втором предикторе и так далее. Задайте максимальную степень для каждого предиктора с помощью цифр 0, хотя и 9. Модель содержит условия взаимодействия, но степень каждого термина взаимодействия не превышает максимальное значение заданных степеней. Для примера, 'poly13' имеет перехват и x 1, x 2, x 22, <reservedrangesplaceholder0> 23, x 1 * x 2 и x 1 * x 22 условия, где x 1 и x 2 являются первым и вторым предикторами, соответственно. |
Матрица t -by- (p + 1) или Матрица терминов, задающая членов в модели, где t количество членов, а p количество переменных предиктора, и + 1 учитывает переменную отклика. Матрица терминов удобна, когда количество предикторов велико, и вы хотите сгенерировать условия программно.
Вектор символов или строковый скаляр Формула в форме
'y ~ terms'
,
где terms
находятся в Обозначении Уилкинсона. Имена переменных в формуле должны быть именами переменных в tbl
или имена переменных, заданные Varnames
. Кроме того, имена переменных должны быть допустимыми идентификаторами MATLAB.
Программа определяет порядок терминов в подобранной модели, используя порядок терминов в tbl
или X
. Поэтому порядок членов в модели может отличаться от порядка членов в указанной формуле.
Пример: 'quadratic'
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Distribution','normal','link','probit','Exclude',[23,59]
задает, что распределение отклика нормальное, и инструктирует fitglm
использовать функцию probit link и исключить из подгонки 23-е и 59-е наблюдения.'BinomialSize'
- Количество испытаний для биномиального распределенияКоличество испытаний биномиального распределения, то есть размер выборки, заданное как разделенная разделенными запятой парами, состоящая из 'BinomialSize'
и имя переменной в tbl
, числовой скаляр или числовой вектор той же длины, что и ответ. Это параметр n
для установленного биномиального распределения. BinomialSize
применяется только тогда, когда Distribution
параметр 'binomial'
.
Если BinomialSize
является скалярным значением, что означает, что все наблюдения имеют одинаковое количество испытаний.
Как альтернатива BinomialSize
, можно задать ответ как двухколоночную матрицу со счетчиками в столбцах 1 и BinomialSize
в столбце 2.
Типы данных: single
| double
| char
| string
'B0'
- Начальные значения для оценок коэффициентовНачальные значения для оценок коэффициентов, заданные как числовой вектор. Значениями по умолчанию являются начальные подобранные значения, выведенные из входных данных.
Типы данных: single
| double
'CategoricalVars'
- Категориальный список переменныхКатегориальный список переменных, заданный как разделенная разделенными запятой парами, состоящая из 'CategoricalVars'
и строковые массивы или массив ячеек векторов символов, содержащих категориальные имена переменных в таблице или массиве набора данных tbl
, или логический или числовой вектор индекса, указывающий, какие столбцы являются категориальными.
Если данные находятся в таблице или массиве набора данных tbl
, затем, по умолчанию, fitglm
Обработки все категориальные значения, логические значения, символьные массивы, строковые массивы и массивы ячеек векторов символов как категориальные переменные.
Если данные в матрице X
, затем значение по умолчанию 'CategoricalVars'
является пустой матрицей []
. То есть никакая переменная не является категориальной, если вы не задаете ее как категориальную.
Для примера можно задать вторую и третью переменные из шести как категориальные с помощью одного из следующих:
Пример: 'CategoricalVars',[2,3]
Пример: 'CategoricalVars',logical([0 1 1 0 0 0])
Типы данных: single
| double
| logical
| string
| cell
'DispersionFlag'
- Индикатор для вычисления параметра дисперсииfalse
для 'binomial'
и 'poisson'
распределения (по умолчанию) | true
Индикатор для вычисления параметра дисперсии для 'binomial'
и 'poisson'
распределения, заданные как разделенная разделенными запятой парами, состоящая из 'DispersionFlag'
и одно из следующих.
true | Оцените параметр дисперсии при вычислении стандартных ошибок. Оцененное значение параметров дисперсии является суммой квадратов невязок Пирсона, разделенных на степени свободы от ошибки (DFE). |
false | По умолчанию. Используйте теоретическое значение 1 при вычислении стандартных ошибок. |
Функция аппроксимации всегда оценивает дисперсию для других распределений.
Пример: 'DispersionFlag',true
'Distribution'
- Распределение переменной отклика'normal'
(по умолчанию) | 'binomial'
| 'poisson'
| 'gamma'
| 'inverse gaussian'
Распределение переменной отклика, заданное как разделенная разделенными запятой парами, состоящая из 'Distribution'
и одно из следующих.
'normal' | Нормальное распределение |
'binomial' | Биномиальное распределение |
'poisson' | Распределение Пуассона |
'gamma' | Гамма- распределение |
'inverse gaussian' | Обратное Гауссово распределение |
Пример: 'Distribution','gamma'
'Exclude'
- Наблюдения, которые нужно исключитьНаблюдения, чтобы исключить из подгонки, заданные как разделенная разделенными запятой парами, состоящая из 'Exclude'
и логический или числовой вектор индекса, указывающий, какие наблюдения исключить из подгонки.
Например, можно исключить наблюдения 2 и 3 из 6, используя любой из следующих примеров.
Пример: 'Exclude',[2,3]
Пример: 'Exclude',logical([0 1 1 0 0 0])
Типы данных: single
| double
| logical
'Intercept'
- Индикатор постоянного срокаtrue
(по умолчанию) | false
Индикатор для постоянного термина (точка пересечения) в подгонке, заданный как разделенная разделенными запятой парами, состоящая из 'Intercept'
и любой из них true
включать или false
чтобы удалить постоянный член из модели.
Использование 'Intercept'
только при задании модели с помощью вектора символов или строкового скаляра, а не формулы или матрицы.
Пример: 'Intercept',false
'Link'
- Функция LinkФункция Link для использования вместо канонической функции link, заданная как разделенная разделенными запятой парами, состоящая из 'Link'
и одно из следующих.
Имя функции Link | Функция ссылки | Средняя (обратная) функция |
---|---|---|
'identity' | f (<reservedrangesplaceholder1>) = μ | μ = Xb |
'log' | f (μ) = журнал (μ) | μ = exp (Xb) |
'logit' | f (μ) = журнал (μ/( 1- μ)) | μ = exp (Xb )/( 1 + exp (Xb)) |
'probit' | f (μ) =–1(μ), где И является совокупной функцией распределения стандартного нормального распределения. | μ = И (Xb) |
'comploglog' | f (μ) = журнал (-журнал (1 - μ)) | μ = 1 - exp (-exp (Xb)) |
'reciprocal' | f (<reservedrangesplaceholder1>) = 1 / μ | μ = 1 / (<reservedrangesplaceholder0>) |
p (a число) | f (μ) =p | μ = Xb1/p |
| f (<reservedrangesplaceholder1>) = S.Link (<reservedrangesplaceholder0>) | μ = S.Inverse (<reservedrangesplaceholder0>) |
Функция ссылки задает отношение f (μ) = X * b между средней μ отклика и линейной комбинацией предикторов X * b.
Для получения дополнительной информации о канонических функциях ссылки смотрите Canonical Link Function.
Пример: 'Link','probit'
Типы данных: char
| string
| single
| double
| struct
'Options'
- Опции оптимизацииstatset ('fitglm
')
(по умолчанию) | структуруОпции оптимизации, заданные как структура. Этот аргумент определяет параметры управления для итерационного алгоритма, который fitglm
использует.
Создайте 'Options'
значение при помощи функции statset
или путем создания массива структур, содержащего поля и значения, описанные в этой таблице.
Имя поля | Значение | Значение по умолчанию |
---|---|---|
Display | Количество информации, отображаемой алгоритмом
| 'off' |
MaxIter | Максимально допустимое количество итераций, заданное в виде положительного целого числа | 100 |
TolX | Допуск на разрыв для параметров, заданный как положительная скалярная величина | 1e-6 |
Можно также ввести набор состояний ('
в Командном окне, чтобы увидеть имена и значения по умолчанию полей, которые fitglm
')fitglm
принимает в 'Options'
аргумент имя-значение.
Пример: 'Options',statset('Display','final','MaxIter',1000)
задает отображение окончательной информации результатов итерационного алгоритма и изменение максимального количества итераций равного 1000.
Типы данных: struct
'Offset'
- Переменная смещенияПеременная смещения в подгонке, заданная как разделенная разделенными запятой парами, состоящая из 'Offset'
и имя переменной в tbl
или числовой вектор с той же длиной, что и ответ.
fitglm
использует Offset
как дополнительный предиктор со значением коэффициента, фиксированным на 1. Другими словами, формула для подбора кривой
f (<reservedrangesplaceholder1>) = Offset + X*b
,
где f - ссылка функция, μ - средняя характеристика, а X * b - линейная комбинация предикторов X. The Offset
предиктор имеет коэффициент 1
.
Например, рассмотрим регрессионую модель Пуассона. Предположим, что количество отсчётов известно по теоретическим причинам, что оно пропорционально предиктору A
. При помощи функции log link и путем определения log(A)
в качестве смещения можно заставить модель удовлетворить этому теоретическому ограничению.
Типы данных: single
| double
| char
| string
'PredictorVars'
- Переменные предиктораПеременные предиктора для использования в подгонку, заданные как разделенная разделенными запятой парами, состоящая из 'PredictorVars'
и либо строковый массив, либо массив ячеек из векторов символов с именами переменных в таблице или массиве набора данных tbl
, или логический или числовой вектор индекса, указывающий, какие столбцы являются переменными предиктора.
Строковые значения или векторы символов должны быть среди имен в tbl
, или имена, которые вы задаете используя 'VarNames'
аргумент пары "имя-значение".
По умолчанию все переменные в X
, или все переменные в tbl
кроме ResponseVar
.
Например, можно задать вторую и третью переменные как переменные-предикторы, используя любой из следующих примеров.
Пример: 'PredictorVars',[2,3]
Пример: 'PredictorVars',logical([0 1 1 0 0 0])
Типы данных: single
| double
| logical
| string
| cell
'ResponseVar'
- Переменная откликаtbl
(по умолчанию) | вектор символов или строковый скаляр, содержащий имя переменной | логический или числовой вектор индексаПеременная отклика для использования в подгонке, заданная как разделенная разделенными запятой парами, состоящая из 'ResponseVar'
и либо вектор символов, либо строковый скаляр, содержащий имя переменной в таблице или массиве набора данных tbl
, или логический или числовой вектор индекса, указывающий, какой столбец является переменной отклика. Обычно вам нужно использовать 'ResponseVar'
при подгонке таблицы или массива набора данных tbl
.
Для примера можно задать четвертую переменную, скажем yield
, как ответ из шести переменных, одним из следующих способов.
Пример: 'ResponseVar','yield'
Пример: 'ResponseVar',[4]
Пример: 'ResponseVar',logical([0 0 0 1 0 0])
Типы данных: single
| double
| logical
| char
| string
'VarNames'
- Имена переменных{'x1','x2',...,'xn','y'}
(по умолчанию) | строковый массив | массивов ячеек из векторов символовИмена переменных, заданные как разделенная разделенными запятой парами, состоящая из 'VarNames'
и строковые массивы или массив ячеек из векторов символов, включая имена для столбцов X
во-первых, и имя переменной отклика y
последний.
'VarNames'
не применяется к переменным в таблице или массиве набора данных, поскольку эти переменные уже имеют имена.
Имена переменных не должны быть допустимыми идентификаторами MATLAB. Однако, если имена недопустимы, вы не можете использовать формулу, когда подбираете или корректируете модель; для примера:
Вы не можете использовать формулу, чтобы задать условия, которые нужно добавить или удалить при использовании addTerms
функцию или removeTerms
функция, соответственно.
Вы не можете использовать формулу, чтобы задать нижнюю и верхнюю границы модели, когда вы используете step
или stepwiseglm
функция с аргументами пары "имя-значение" 'Lower'
и 'Upper'
, соответственно.
Перед указанием 'VarNames',varNames
можно проверить имена переменных в varNames
при помощи isvarname
функция. Если имена переменных недопустимы, можно преобразовать их, используя matlab.lang.makeValidName
функция.
Пример: 'VarNames',{'Horsepower','Acceleration','Model_Year','MPG'}
Типы данных: string
| cell
'Weights'
- Веса наблюденийones(n,1)
(по умолчанию) | n вектор -by-1 неотрицательных скалярных значенийВеса наблюдений, заданные как разделенная разделенными запятой парами, состоящая из 'Weights'
и вектор n -by-1 неотрицательных скалярных значений, где n - количество наблюдений.
Типы данных: single
| double
mdl
- Обобщенная линейная регрессионая модельGeneralizedLinearModel
объектОбобщенная линейная регрессионая модель, заданная как GeneralizedLinearModel
объект, созданный с помощью fitglm
или stepwiseglm
.
Матрица терминов 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
для переменной отклика в последнем столбце каждой строки.
Формула для спецификации модели является вектором символов или строковым скаляром вида '
.y
~ <reservedrangesplaceholder0>
'
y
- имя отклика.
terms
представляет предикторные условия в модели, использующей обозначение Уилкинсона.
Чтобы представлять переменные предиктора и отклика, используйте имена переменных входных tbl
таблицы или имена переменных, заданные при помощи
VarNames
. Значение по умолчанию VarNames
является {'x1','x2',...,'xn','y'}
.
Для примера:
'y ~ x1 + x2 + x3'
задает линейную модель с тремя переменными с точкой пересечения.
'y ~ x1 + x2 + x3 – 1'
задает линейную модель с тремя переменными без точки пересечения. Обратите внимание, что формулы включают постоянный (перехват) термин по умолчанию. Чтобы исключить постоянный термин из модели, вы должны включить –1
в формуле.
Формула включает в себя постоянный термин, если вы явным образом не удаляете термин используя –1
.
Уилкинсон обозначения описывает термины, присутствующие в модели. Обозначение относится к терминам, присутствующим в модели, а не к умножителям (коэффициентам) этих членов.
Уилкинсон обозначения использует эти символы:
+
средства включают следующую переменную.
–
средства не включают следующую переменную.
:
задает взаимодействие, которое является продуктом терминов.
*
задает взаимодействие и все условия более низкого порядка.
^
поднимает предиктор в степень, в точности как в *
повторяется, так ^
включает также условия более низкого порядка.
()
группы терминов.
Эта таблица показывает типичные примеры обозначению Уилкинсона.
Уилкинсон Обозначение | Термины в стандартном обозначении |
---|---|
1 | Константа ( точку пересечения) термин |
x1^k , где k является положительным целым числом | x1 , x12 ..., x1k |
x1 + x2 | x1 , x2 |
x1*x2 | x1 , x2 , x1*x2 |
x1:x2 | x1*x2 только |
–x2 | Не включать x2 |
x1*x2 + x3 | x1 , x2 , x3 , x1*x2 |
x1 + x2 + x3 + x1:x2 | x1 , x2 , x3 , x1*x2 |
x1*x2*x3 – x1:x2:x3 | x1 , x2 , x3 , x1*x2 , x1*x3 , x2*x3 |
x1*(x2 + x3) | x1 , x2 , x3 , x1*x2 , x1*x3 |
Для получения дополнительной информации см. Обозначение Уилкинсона.
Функция ссылки по умолчанию для обобщенной линейной модели является canonical link function.
Распределение | Канонические Ссылки Имени функции | Функция ссылки | Средняя (обратная) функция |
---|---|---|---|
'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 |
Обобщенная линейная модель mdl
является стандартной линейной моделью, если вы не задаете обратное со Distribution
Пара "имя-значение".
Для таких методов, как plotResiduals
или devianceTest
, или свойства GeneralizedLinearModel
объект, см. GeneralizedLinearModel
.
После обучения модели можно сгенерировать код C/C + +, который предсказывает ответы для новых данных. Для генерации кода C/C + + требуется MATLAB Coder™. Для получения дополнительной информации смотрите Введение в генерацию кода .
fitglm
рассматривает категориальный предиктор следующим образом:
Модель с категориальным предиктором, которая имеет L уровни (категории), включает L - 1 переменные показателя. Модель использует первую категорию в качестве ссылочного уровня, поэтому она не включает переменную индикатора для ссылочного уровня. Если тип данных категориального предиктора categorical
, затем можно проверить порядок категорий при помощи categories
и переупорядочить категории при помощи reordercats
для настройки уровня ссылки. Для получения дополнительной информации о создании переменных индикатора, смотрите Автоматическое создание переменных фиктива.
fitglm
рассматривает группу переменных индикатора L-1 как одну переменную. Если вы хотите считать переменные индикатора отдельными переменными предиктора, создайте переменные индикатора вручную при помощи dummyvar
. Затем используйте переменные индикатора, кроме той, которая соответствует ссылочному уровню категориальной переменной, когда вы подбираете модель. Для категориального предиктора X
, если вы задаете все столбцы dummyvar(X)
и точка пересечения член как предикторы, тогда матрица дизайна становится неполным рангом.
Условия взаимодействия между непрерывным предиктором и категориальным предиктором с L уровнями состоят из поэлементного произведения переменных показателя L-1 с непрерывным предиктором.
Условия взаимодействия между двумя категориальными предикторами с L и M уровнями состоят из переменных (L - 1) * (M - 1) индикатора, чтобы включать все возможные комбинации двух категориальных уровней предиктора.
Вы не можете задать условия более высокого порядка для категориального предиктора, потому что квадрат индикатора равен себе.
fitglm
рассматривает NaN
, ''
(пустой символьный вектор), ""
(пустая строка), <missing>
, и <undefined>
значения в tbl
, X
, и Y
чтобы быть отсутствующими значениями. fitglm
не использует наблюдения с отсутствующими значениями в подгонке. The ObservationInfo
свойство подобранной модели указывает, указывает или нет fitglm
использует каждое наблюдение в подгонке.
Использование stepwiseglm
для автоматического выбора спецификации модели. Использование step
, addTerms
, или removeTerms
чтобы настроить подобранную модель.
[1] Collett, D. Modeling Binary Data. Нью-Йорк: Chapman & Hall, 2002.
[2] Добсон, А. Дж. Введение в обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.
[3] McCullagh, P., and J. A. Nelder. Обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.
Эта функция поддерживает длинные массивы для данной , которой не помещаютси в память, с некоторыми ограничениями.
Если какой-либо входной параметр в fitglm
является длинный массив, тогда все другие входы также должны быть длинные массивы. Это включает непустые переменные, поставляемые с 'Weights'
, 'Exclude'
, 'Offset'
, и 'BinomialSize'
Пары "имя-значение".
Количество итераций по умолчанию 5. Количество итераций можно изменить с помощью 'Options'
Пара "имя-значение" для прохождения в структуре параметров. Создайте структуру опций с помощью statset
чтобы задать другое значение для MaxIter
.
Для высоких данных, fitglm
возвращает CompactGeneralizedLinearModel
объект, который содержит большую часть тех же свойств, что и GeneralizedLinearModel
объект. Основное различие заключается в том, что компактный объект чувствителен к требованиям памяти. Компактный объект не включает свойства, которые включают данные или включают массив того же размера, что и данные. Компактный объект не содержит эти GeneralizedLinearModel
свойства:
Diagnostics
Fitted
Offset
ObservationInfo
ObservationNames
Residuals
Steps
Variables
Можно вычислить невязки непосредственно из компактного объекта, возвращенного GLM = fitglm(X,Y)
использование
RES = Y - predict(GLM,X); S = sqrt(GLM.SSE/GLM.DFE); histogram(RES,linspace(-3*S,3*S,51))
Для получения дополнительной информации см. Раздел «Длинные массивы для данных , которых не помещаютсь в память,».
Эта функция полностью поддерживает массивы GPU. Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.