Создайте обобщенную линейную модель регрессии
возвращает обобщенную линейную модель с дополнительными опциями, заданными одним или несколькими 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
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 (p + 1), называет матрицу | вектор символов или формула строкового скаляра в форме 'y ~ terms'
Спецификация модели в виде одного из этих значений.
Вектор символов или строковый скаляр, называющий модель.
Значение | Тип модели |
---|---|
'constant' | Модель содержит только константу (точка пересечения) термин. |
'linear' | Модель содержит точку пересечения и линейный член для каждого предиктора. |
'interactions' | Модель содержит точку пересечения, линейный член для каждого предиктора и все продукты пар отличных предикторов (никакие условия в квадрате). |
'purequadratic' | Модель содержит термин точки пересечения и линейный и придает условиям квадратную форму для каждого предиктора. |
'quadratic' | Модель содержит термин точки пересечения, линейный, и придает квадратную форму условиям для каждого предиктора и всем продуктам пар отличных предикторов. |
'poly | Модель является полиномом со всеми условиями до степени i в первом предикторе, степень j во втором предикторе, и так далее. Задайте максимальную степень для каждого предиктора при помощи цифр 0 хотя 9. Модель содержит периоды взаимодействия, но степень каждого периода взаимодействия не превышает максимальное значение заданных степеней. Например, 'poly13' имеет точку пересечения и x 1, x 2, x 22, x 23, x 1*x2, и x 1*x22 условия, где x 1 и x 2 является первыми и вторыми предикторами, соответственно. |
t (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
чтобы использовать ссылку пробита функционируют и исключают 23-и и 59-е наблюдения из подгонки.'BinomialSize'
— Количество испытаний за биномиальное распределениеКоличество испытаний за биномиальное распределение, которое является объемом выборки в виде разделенной запятой пары, состоящей из 'BinomialSize'
и имя переменной в tbl
, числовой скаляр или числовой вектор из той же длины как ответ. Это - параметр n
для подходящего биномиального распределения. BinomialSize
применяется только когда Distribution
параметром является 'binomial'
.
Если BinomialSize
скалярное значение, которое означает, что все наблюдения имеют то же количество испытаний.
Как альтернатива BinomialSize
, можно задать ответ как матрицу 2D столбца с количествами в столбце 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'
и одно из следующих.
Соедините имя функции | Функция ссылки | Средняя (обратная) функция |
---|---|---|
'identity' | f (μ) = μ | μ = 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 (μ) = 1/μ | μ = 1 / (Xb) |
p (номер) | f (μ) = μp | μ = Xb 1/p |
| f (μ) = S.Link (μ) | μ = S.Inverse xb |
Функция ссылки задает отношение f (μ) = X *b между средним ответом μ и линейной комбинацией предикторов X *b.
Для получения дополнительной информации о канонических функциях ссылки смотрите Каноническую Функцию Ссылки.
Пример: 'Link','probit'
Типы данных: char |
string
| single
| double
| struct
'Options'
— Опции оптимизацииstatset ('fitglm
')
(значение по умолчанию) | структураОпции оптимизации в виде структуры. Этот аргумент определяет параметры управления для итеративного алгоритма это fitglm
использование.
Создайте 'Options'
значение при помощи функции statset
или путем создания массива структур, содержащего поля и значения, описан в этой таблице.
Имя поля | Значение | Значение по умолчанию |
---|---|---|
Display | Объем информации отображен алгоритмом
| 'off' |
MaxIter | Максимальное количество итераций позволено в виде положительного целого числа | 100
|
TolX | Допуск завершения к параметрам в виде положительной скалярной величины | 1e-6 |
Можно также ввести statset ('
в Командном окне, чтобы видеть имена и значения по умолчанию полей это fitglm
')fitglm
принимает в 'Options'
аргумент значения имени.
Пример: 'Options',statset('Display','final','MaxIter',1000)
задает, чтобы отобразить итоговую информацию результатов итеративного алгоритма и изменить максимальное количество итераций, позволенных 1 000.
Типы данных: struct
'Offset'
— Переменная OffsetВозместите переменную в подгонке в виде разделенной запятой пары, состоящей из 'Offset'
и имя переменной в tbl
или числовой вектор с той же длиной как ответ.
fitglm
использование Offset
как дополнительный предиктор с содействующим значением, зафиксированным в 1. Другими словами, формула для подбора кривой
f (μ) = Offset + X*b
,
где f является функцией ссылки, μ является средним ответом, и X *b является линейной комбинацией предикторов X. Offset
предиктор имеет коэффициент 1
.
Например, рассмотрите модель регрессии Пуассона. Предположим, что количество количеств известно по теоретическим причинам быть пропорциональным предиктору A
. При помощи журнала соединяют функцию и путем определения 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 (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)
0
в конце каждого термина представляет переменную отклика. В общем случае вектор-столбец из нулей в матрице условий представляет положение переменной отклика. Если у вас есть переменные прогноза и переменные отклика в матрице и вектор-столбце, то необходимо включать 0
для переменной отклика в последнем столбце каждой строки.
Формула для спецификации модели является вектором символов или строковым скаляром формы '
.y
~ terms
'
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 (μ) = μ | μ = 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 |
Обобщенная линейная модель 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
не использует наблюдения с отсутствующими значениями в подгонке. ObservationInfo
свойство подобранной модели указывает действительно ли fitglm
использование каждое наблюдение в подгонке.
Используйте stepwiseglm
выбрать спецификацию модели автоматически. Используйте step
, addTerms
, или removeTerms
настраивать подобранную модель.
[1] Collett, D. Моделирование двоичных данных. Нью-Йорк: Chapman & Hall, 2002.
[2] Добсон, A. J. Введение в обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.
[3] Маккуллаг, P. и Дж. А. Нелдер. Обобщенные линейные модели. Нью-Йорк: 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))
Для получения дополнительной информации смотрите Длинные массивы для Данных, которые не помещаются в память.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.