Создайте обобщенную линейную регрессионую модель
возвращает обобщенную линейную модель с дополнительными опциями, заданными одним или несколькими 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.