В R, после подгонки GLM вы можете получить краткую информацию, содержащие остаточные девиантности и нулевую девиантность, который говорит вам, насколько хорошо ваша модель по сравнению с моделью с только термином перехвата, для примера модели:Как вы получаете нулевые и остаточные эквиваленты R в Matlab fitglm?
model <- glm(formula = am ~ mpg + qsec, data=mtcars, family=binomial)
мы имеем:
> summary(model)
...
Null deviance: 43.2297 on 31 degrees of freedom
Residual deviance: 7.5043 on 29 degrees of freedom
AIC: 13.504
...
В Matlab, когда вы используете fitglm
вы возвращаете объект из GeneralizedLinearModel
класса, который имеет Deviance
свойство, содержащее остаточные девиации. Однако я не могу найти ничего, непосредственно связанного с нулевым отклонением. Каков самый простой способ рассчитать это?
Пример Matlab код:
load fisheriris.mat
model = fitglm(meas(:, 1), ismember(species, {'setosa'}), 'Distribution', 'binomial')
производит:
model =
Generalized Linear regression model:
logit(y) ~ 1 + x1
Distribution = Binomial
Estimated Coefficients:
Estimate SE tStat pValue
_________________ _________________ _________________ ____________________
(Intercept) 27.8285213954246 4.8275686220899 5.76450042948896 8.19000695766331e-09
x1 -5.17569812610148 0.893399843474784 -5.79326061438645 6.90328570107794e-09
150 observations, 148 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 119, p-value = 9.87e-28
с остаточной девиации от model.Deviance
:
>> model.Deviance
ans =
71.8363992272217