Компактный обобщенный класс линейной регрессионой модели
CompactGeneralizedLinearModel
является компактной версией полного обобщенного объекта линейной регрессионой модели GeneralizedLinearModel
. Поскольку компактная модель не хранит входные данные, используемые для соответствия модели, или информацию, относящуюся к процессу аппроксимации, CompactGeneralizedLinearModel
объект потребляет меньше памяти, чем GeneralizedLinearModel
объект. Вы все еще можете использовать компактную модель для предсказания откликов с помощью новых входных данных, но некоторых GeneralizedLinearModel
функции объекта не работают с компактной моделью.
Создайте CompactGeneralizedLinearModel
модель из полного, обученного GeneralizedLinearModel
моделировать при помощи compact
.
fitglm
возвращает CompactGeneralizedLinearModel
когда вы работаете с длинными массивами и возвращаете GeneralizedLinearModel
при работе с таблицами в оперативной памяти и массивами.
CoefficientCovariance
- Ковариационная матрица оценок коэффициентовЭто свойство доступно только для чтения.
Ковариационная матрица оценок коэффициентов, заданная в виде p -by - p матрицы числовых значений. p - количество коэффициентов в подобранной модели.
Для получения дополнительной информации см. «Стандартные ошибки коэффициентов и доверительные интервалы».
Типы данных: single
| double
CoefficientNames
- Имена коэффициентовЭто свойство доступно только для чтения.
Имена коэффициентов, заданные как массив ячеек из векторов символов, каждый из которых содержит имя соответствующего термина.
Типы данных: cell
Coefficients
- Значения коэффициентовЭто свойство доступно только для чтения.
Значения коэффициентов, заданные как таблица. Coefficients
содержит по одной строке для каждого коэффициента и следующих столбцов:
Estimate
- Расчетное значение коэффициента
SE
- Стандартная ошибка оценки
tStat
- t -статистический для теста, что коэффициент равен нулю
pValue
- p -value для t -statistic
Использовать anova
(только для линейной регрессионой модели) или coefTest
для выполнения других тестов коэффициентов. Использовать coefCI
чтобы найти доверительные интервалы оценок коэффициентов.
Чтобы получить любой из этих столбцов в качестве вектора, индексируйте в свойство с помощью записи через точку. Для примера получите вектор оцененного коэффициента в модели mdl
:
beta = mdl.Coefficients.Estimate
Типы данных: table
NumCoefficients
- Количество коэффициентов моделиЭто свойство доступно только для чтения.
Количество коэффициентов модели, заданное как положительное целое число. NumCoefficients
включает коэффициенты, которые установлены в нуль, когда члены модели неполного ранга.
Типы данных: double
NumEstimatedCoefficients
- Количество расчетных коэффициентовЭто свойство доступно только для чтения.
Количество оцененных коэффициентов в модели, заданное в виде положительного целого числа. NumEstimatedCoefficients
не включает коэффициенты, которые равны нулю, когда члены модели неполного ранга. NumEstimatedCoefficients
- степени свободы для регрессии.
Типы данных: double
Deviance
- Отклонение подгонкиЭто свойство доступно только для чтения.
Отклонение подгонки, заданное в виде числового значения. Отклонение полезно для сравнения двух моделей, когда одна модель является частным случаем другой модели. Различие между отклонением двух моделей имеет хи-квадратное распределение со степенями свободы, равными различиями в количестве предполагаемых параметров между этими двумя моделями. Для получения дополнительной информации см. «Отклонение».
Типы данных: single
| double
DFE
- Степени свободы для ошибкиЭто свойство доступно только для чтения.
Степени свободы для ошибки (невязки), равные количеству наблюдений минус количество оцененных коэффициентов, заданное в виде положительного целого числа.
Типы данных: double
Dispersion
- Масштабный коэффициент отклонения откликаЭто свойство доступно только для чтения.
Шкала коэффициент отклонения отклика, заданный как числовой скаляр.
Если на 'DispersionFlag'
Аргумент пары "имя-значение" из fitglm
или stepwiseglm
является true
, затем функция оценивает Dispersion
масштабный коэффициент при вычислении отклонения отклика. Отклонение отклика равно теоретическому отклонению, умноженной на масштабный коэффициент.
Например, функция отклонения для биномиального распределения является p (1- p )/ n, где p является параметром вероятности, а n является параметром размера выборки. Если Dispersion
близок 1
Отклонение данных, по-видимому, согласуется с теоретическим отклонением биномиального распределения. Если Dispersion
больше 1
, набор данных «чрезмерно диспергирован» относительно биномиального распределения.
Типы данных: double
DispersionEstimated
- Флаг для указания использования масштабного коэффициента дисперсииЭто свойство доступно только для чтения.
Флаг, указывающий, fitglm
использовали Dispersion
масштабный коэффициент для вычисления стандартных ошибок для коэффициентов в Coefficients.SE
, заданный как логическое значение. Если DispersionEstimated
является false
, fitglm
использовали теоретическое значение отклонения.
DispersionEstimated
можно false
только для биномиальных и пуассоновских распределений.
Задайте DispersionEstimated
путем установки 'DispersionFlag'
Аргумент пары "имя-значение" из fitglm
или stepwiseglm
.
Типы данных: logical
LogLikelihood
- Логарифмическая правдоподобностьЭто свойство доступно только для чтения.
Логарифмическая правдоподобность распределения модели в значениях отклика, заданная в виде числового значения. Среднее значение подгоняется из модели, а другие параметры оцениваются как часть подгонки.
Типы данных: single
| double
ModelCriterion
- Критерий для сравнения моделейЭто свойство доступно только для чтения.
Критерий сравнения моделей, заданный как структура с этими полями:
AIC
- информационный критерий Акайке. AIC = –2*logL + 2*m
, где logL
- логарифмическая правдоподобность и m
- количество предполагаемых параметров.
AICc
- информационный критерий Akaike скорректирован для размера выборки. AICc = AIC + (2*m*(m + 1))/(n – m – 1)
, где n
количество наблюдений.
BIC
- байесовский информационный критерий. BIC = –2*logL + m*log(n)
.
CAIC
- Согласованный информационный критерий Акайке. CAIC = –2*logL + m*(log(n) + 1)
.
Информационные критерии являются инструментами выбора модели, которые можно использовать, чтобы сравнить несколько моделей, подгоняемых к одним и тем же данным. Эти критерии являются основанными на вероятностях показателями подгонки модели, которые включают штраф за сложность (в частности, количество параметров). Различные информационные критерии различаются формой штрафа.
Когда вы сравниваете несколько моделей, модель с самым низким значением информационного критерия является наиболее подходящей моделью. Наиболее подходящая модель может варьироваться в зависимости от критерия, используемого для сравнения модели.
Чтобы получить любое из значений критерия в виде скаляра, индексируйте в свойство с помощью записи через точку. Для примера получите значение AIC aic
в mdl модели
:
aic = mdl.ModelCriterion.AIC
Типы данных: struct
Rsquared
- R-квадрат для моделиЭто свойство доступно только для чтения.
R-квадрат значения для модели, заданный как структура с пятью полями.
Область | Описание | Уравнение |
---|---|---|
Ordinary | Обыкновенный (нескорректированный) R-квадрат |
|
Adjusted | R-квадрат скорректирован для количества коэффициентов |
N - количество наблюдений ( |
LLR | Логарифмическая правдоподобность |
L - логарифмическая правдоподобность подобранной модели ( |
Deviance | Отклонение R-квадрат |
D является отклонением подобранной модели ( |
AdjGeneralized | Скорректированный обобщенный R-квадрат |
R2AddGeneralized является корректировкой Нагелкерке [2] к формуле, предложенной Maddala [3], Коксом и Снеллом [4] и Magee [5] для логистических регрессионых моделей. |
Чтобы получить любое из этих значений в виде скаляра, индексируйте в свойство с помощью записи через точку. Для примера получить скорректированное значение R-квадрат в модели mdl
, введите:
r2 = mdl.Rsquared.Adjusted
Типы данных: struct
SSE
- Сумма квадратов ошибокЭто свойство доступно только для чтения.
Сумма квадратичных невязок (остатков), заданная в виде числового значения.
Типы данных: single
| double
SSR
- Регрессионная сумма квадратовЭто свойство доступно только для чтения.
Регрессионная сумма квадратов, заданная в виде числового значения. Регрессионная сумма квадратов равна сумме квадратов отклонений подобранных значений от их среднего.
Типы данных: single
| double
SST
- Общая сумма квадратовЭто свойство доступно только для чтения.
Общая сумма квадратов, заданная в виде числового значения. Общая сумма квадратов равна сумме квадратов отклонений вектора отклика y
от mean(y)
.
Типы данных: single
| double
Distribution
- Обобщенная информация о распределенииЭто свойство доступно только для чтения.
Обобщенная информация о распределении, заданная как структура с полями, описанными в этой таблице.
Область | Описание |
---|---|
Name | Имя распределения: 'normal' , 'binomial' , 'poisson' , 'gamma' , или 'inverse gaussian' |
DevianceFunction | Функция, которая вычисляет компоненты отклонения как функцию от установленных значений параметров и значений отклика |
VarianceFunction | Функция, которая вычисляет теоретическое отклонение для распределения как функцию от подобранных значений параметров. Когда DispersionEstimated является true программное обеспечение умножает функцию отклонения на Dispersion при расчете стандартных ошибок коэффициентов. |
Типы данных: struct
Formula
- Информация о моделиLinearFormula
объектЭто свойство доступно только для чтения.
Информация о модели, заданная как LinearFormula
объект.
Отобразите формулу подобранной модели mdl
использование записи через точку:
mdl.Formula
Link
- Функция LinkЭто свойство доступно только для чтения.
Ссылка, заданная как структура с полями, описанными в этой таблице.
Область | Описание |
---|---|
Name | Имя функции ссылки, заданное как вектор символов. Если вы задаете функцию link с помощью указателя на функцию, то Name является '' . |
Link | Function f, который задает функцию link, заданную как указатель на функцию |
Derivative | Производная f, заданная как указатель на функцию |
Inverse | Обратная переменная f, заданная как указатель на функцию |
Функция link является f функций, которая связывает μ параметра распределения с подобранной линейной комбинацией Xb из предикторов:
f (<reservedrangesplaceholder1>) = Xb.
Типы данных: struct
NumObservations
- Количество наблюденийЭто свойство доступно только для чтения.
Количество наблюдений функции аппроксимации, используемой в подборе кривой, заданное в виде положительного целого числа. NumObservations
- количество наблюдений, представленных в исходной таблице, наборе данных или матрице, минус любые исключенные строки (заданные с 'Exclude'
аргумент пары "имя-значение") или строки с отсутствующими значениями.
Типы данных: double
NumPredictors
- Количество переменных предиктораЭто свойство доступно только для чтения.
Количество переменных предиктора, используемых для подгонки модели, заданное в виде положительного целого числа.
Типы данных: double
NumVariables
- Количество переменныхЭто свойство доступно только для чтения.
Количество переменных во входных данных, заданное как положительное целое число. NumVariables
- количество переменных в исходной таблице или наборе данных или общее количество столбцов в матрице предиктора и векторе отклика.
NumVariables
также включает любые переменные, которые не используются для подгонки модели в качестве предикторов или в качестве отклика.
Типы данных: double
PredictorNames
- Имена предикторов, используемых для подгонки моделиЭто свойство доступно только для чтения.
Имена предикторов, используемых для подгонки модели, заданные как массив ячеек из векторов символов.
Типы данных: cell
ResponseName
- Имя переменной откликаЭто свойство доступно только для чтения.
Имя переменной отклика, заданное как вектор символов.
Типы данных: char
VariableInfo
- Информация о переменныхЭто свойство доступно только для чтения.
Информация о переменных, содержащихся в Variables
, заданная как таблица с одной строкой для каждой переменной и столбцами, описанными в этой таблице.
Столбец | Описание |
---|---|
Class | Класс переменной, заданный как массив ячеек из векторов символов, таких как 'double' и 'categorical' |
Range | Переменная область значений, заданная как массив ячеек из векторов
|
InModel | Индикатор того, какие переменные находятся в подобранной модели, заданный как логический вектор. Значение true если модель включает переменную. |
IsCategorical | Индикатор категориальных переменных, заданный как логический вектор. Значение true если переменная категориальна. |
VariableInfo
также включает любые переменные, которые не используются для подгонки модели в качестве предикторов или в качестве отклика.
Типы данных: table
VariableNames
- Имена переменныхЭто свойство доступно только для чтения.
Имена переменных, заданные как массив ячеек из векторов символов.
Если подгонка основана на таблице или наборе данных, это свойство задает имена переменных в таблице или наборе данных.
Если подгонка основана на матрице предиктора и векторе отклика, VariableNames
содержит значения, заданные в 'VarNames'
Аргумент пары "имя-значение" способа аппроксимации. Значение по умолчанию 'VarNames'
является {'x1','x2',...,'xn','y'}
.
VariableNames
также включает любые переменные, которые не используются для подгонки модели в качестве предикторов или в качестве отклика.
Типы данных: cell
coefCI | Доверительные интервалы оценок коэффициентов обобщенной линейной регрессионой модели |
coefTest | Линейный тест гипотезы на обобщенных коэффициентах линейной регрессионой модели |
devianceTest | Анализ отклонения для обобщенной линейной регрессионой модели |
partialDependence | Вычисление частичной зависимости |
plotPartialDependence | Создайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE) |
plotSlice | График срезов через подобранную обобщенную линейную регрессионую поверхность |
gather | Сбор свойств модели машинного обучения с графический процессор |
Подгонка обобщенной линейной регрессионной модели к данным и уменьшение размера полной, подобранной модели путем отброса выборочных данных и некоторой информации, связанной с процессом подгонки.
Загрузите largedata4reg
набор данных, который содержит 15 000 наблюдений и 45 переменные.
load largedata4reg
Подгонка обобщенной линейной регрессионой модели к данным с помощью первых 15 переменных предиктора.
mdl = fitglm(X(:,1:15),Y);
Компактность модели.
compactMdl = compact(mdl);
Компактная модель отбрасывает исходные выборочные данные и некоторую информацию, связанную с процессом подгонки, поэтому она использует меньше памяти, чем полная модель.
Сравните размер полной модели mdl
и компактную модель compactMdl
.
vars = whos('compactMdl','mdl'); [vars(1).bytes,vars(2).bytes]
ans = 1×2
15517 4382500
Компактная модель потребляет меньше памяти, чем полная модель.
Отклонение - обобщение остаточной суммы квадратов. Он измеряет качество подгонки по сравнению с насыщенной моделью.
Отклонение модели M 1 в два раза больше разницы между логарифмической правдоподобностью модели M 1 и насыщенной моделью M s. Насыщенная модель является моделью с максимальным количеством параметров, которые вы можете оценить.
Например, если у вас есть n наблюдения (y i, i = 1, 2,..., n) с потенциально различными значениями для X iTβ, тогда можно задать насыщенную модель с n параметрами. Пусть L (b, y) обозначают максимальное значение функции правдоподобия для модели с b параметрами. Тогда отклонение модели M 1 является
где b 1 и b s содержат предполагаемые параметры для модели M 1 и насыщенной модели, соответственно. Отклонение имеет распределение хи-квадрат с n - p степенями свободы, где n - количество параметров в насыщенной модели и p - количество параметров в модели M 1.
Предположим, что у вас есть две различные обобщенные линейные регрессионые модели M 1 и M 2, и M 1 имеет подмножество членов в M 2. Можно оценить подгонку моделей путем сравнения отклонений D 1 и D 2 двух моделей. Различие отклонений
Асимптотически, разностное D имеет хи-квадратное распределение со степенями свободы v равное разности в количестве параметров, оцененных в M 1 и M 2. Вы можете получить p -value для этого теста с помощью 1 – chi2cdf(D,v)
.
Обычно вы исследуете D с помощью модели M 2 с постоянным термином и без предикторов. Поэтому D имеет распределение хи-квадрат с p - 1 степенями свободы. Если дисперсия оценена, различие, разделенная на предполагаемую дисперсию, имеет F распределение с p - 1 числительными степенями свободы и n - p знаменательными степенями свободы.
[1] Макфадден, Дэниел. «Условный логит-анализ качественного поведения выбора». в Frontiers in Econometrics, под редакцией П. Zarembka,105-42. Нью-Йорк: Академическая пресса, 1974.
[2] Нагелкерке, Н. Дж. Д. «Примечание к общему определению коэффициента детерминации». Биометрика 78, № 3 (1991): 691-92.
[3] Maddala, Gangadharrao S. Ограниченно-зависимые и качественные переменные в эконометрике. Монографии эконометрического общества. Нью-Йорк, Нью-Йорк: Cambridge University Press, 1983.
[4] Кокс, Д. Р. и Э. Дж. Снелл. Анализ двоичных данных. 2-е изд. Монографии по статистике и прикладной вероятности 32. Лондон; Нью-Йорк: Чапман и Холл, 1989.
[5] Мэги, Лонни. «Меры R 2, основанные на тестах совместного значения коэффициента вероятности и Вальда». Американский статистик 44, № 3 (август 1990): 250-53.
Указания и ограничения по применению:
Когда вы подбираете модель при помощи fitglm
или stepwiseglm
, вы не можете задать Link
, Derivative
, и Inverse
поля 'Link'
аргумент пары "имя-значение" как анонимные функции. То есть вы не можете сгенерировать код с помощью обобщенной линейной модели, которая была создана с использованием анонимных функций для ссылок. Вместо этого задайте функции для компонентов ссылки.
Для получения дополнительной информации смотрите Введение в генерацию кода.
Указания и ограничения по применению:
Следующие функции объекта полностью поддерживают массивы GPU:
Следующие функции объекта поддерживают объекты модели, оснащенные входными параметрами массива GPU:
Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.