Создание обобщенной модели линейной регрессии
возвращает обобщенную линейную модель с дополнительными опциями, заданными одним или несколькими 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) большие. Это означает, что ни один из коэффициентов не является значимым. Большое значение p для теста модели, 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-by- (p + 1) терм матрицу | символьный вектор или строковая скалярная формула в форме'y ~ terms'Спецификация модели, заданная как одно из этих значений.
Символьный вектор или строковое скалярное имя модели.
| Стоимость | Тип модели |
|---|---|
'constant' | Модель содержит только константу (пересечение). |
'linear' | Модель содержит пересечение и линейный член для каждого предиктора. |
'interactions' | Модель содержит пересечение, линейный член для каждого предиктора и все произведения пар различных предикторов (без квадратов). |
'purequadratic' | Модель содержит член пересечения и линейные и квадратные члены для каждого предиктора. |
'quadratic' | Модель содержит член пересечения, линейные и квадратные члены для каждого предиктора и все произведения пар различных предикторов. |
'poly | Модель - многочлен со всеми членами до степени i в первом предикторе, степень j во втором предикторе и так далее. Укажите максимальную степень для каждого предиктора, используя цифры от 0 до 9. Модель содержит члены взаимодействия, но степень каждого члена взаимодействия не превышает максимального значения указанных степеней. Например, 'poly13' имеет члены перехвата и x1, x2, x22, x23, x1 * x2 и x1 * x22, где x1 и x2 являются первым и вторым предикторами соответственно. |
Матрица t-by- ( p + 1), или Terms Matrix, задающая члены в модели, где 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, вы можете указать ответ как матрицу из двух столбцов со счетчиками в столбце 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 (мкм) = log (мкм) | λ = exp (Xb) |
'logit' | f (λ) = log (λ/( 1-λ)) | λ = exp (Xb )/( 1 + exp (Xb)) |
'probit' | f (λ) = Φ-1 (λ), где Λ - кумулятивная функция распределения стандартного нормального распределения. | (Xb) |
'comploglog' | f (λ) = log (-log (1 - λ)) | λ = 1 - exp (-exp (Xb)) |
'reciprocal' | f (λ) = 1/λ | λ = 1/( Xb) |
p (число) | f (мкр) = мкп | λ = Xb1/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) определяет отображение окончательной информации о результатах итеративного алгоритма и изменяет максимальное число итераций на 1000.
Типы данных: struct
'Offset' - Переменная смещенияПеременная смещения в посадке, заданная как разделенная запятыми пара, состоящая из 'Offset' и имя переменной в tbl или числовой вектор с той же длиной, что и отклик.
fitglm использование Offset в качестве дополнительного предиктора со значением коэффициента, зафиксированным в 1. Другими словами, формула для подгонки
f (λ) = Offset + X*b,
где f - функция связи, λ - средний отклик, а X * b - линейная комбинация предикторов X. 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)
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 |
Дополнительные сведения см. в статье Нотация Уилкинсона.
Функцией связи по умолчанию для обобщенной линейной модели является каноническая функция связи.
| Распределение | Имя канонической функции связи | Функция связи | Средняя (обратная) функция |
|---|---|---|---|
'normal' | 'identity' | f (λ) = λ | λ = Xb |
'binomial' | 'logit' | f (μ) = регистрация (μ/(1 - μ)) | λ = exp (Xb )/( 1 + exp (Xb)) |
'poisson' | 'log' | f (мкм) = log (мкм) | λ = exp (Xb) |
'gamma' | -1 | f (λ) = 1/λ | λ = 1/( Xb) |
'inverse gaussian' | -2 | f (мк2) = 1/мк2 | λ = (Xb) -1/2 |
Обобщенная линейная модель mdl является стандартной линейной моделью, если не указано иное с помощью Distribution пара имя-значение.
Для таких методов, как plotResiduals или devianceTestили свойства GeneralizedLinearModel объект, см. GeneralizedLinearModel.
После обучения модели можно создать код C/C + +, который предсказывает ответы на новые данные. Для создания кода C/C + + требуется Coder™ MATLAB. Дополнительные сведения см. в разделе Введение в создание кода .
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] Коллетт, D. Моделирование двоичных данных. Нью-Йорк: Chapman & Hall, 2002.
[2] Добсон, А. Дж. Введение в обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.
[3] Маккалла, П. и Дж. А. Нелдер. Обобщенные линейные модели. Нью-Йорк: Chapman & Hall, 1990.
Эта функция поддерживает массивы tall для данных из памяти с некоторыми ограничениями.
Если какой-либо входной аргумент для 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))
Дополнительные сведения см. в разделе Tall Arrays for Out-of-Memory Data.
Эта функция полностью поддерживает массивы графических процессоров. Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.