首页 > 解决方案 > 达到迭代限制(一个类别中的观察太少?)

问题描述

为了识别数据集中的重要变量,我开始为每个变量建立一个单变量逻辑回归模型。但是,对于某些分类变量,在某些类别中只有少数观测值(观测总数为 1155;没有缺失值)。运行代码

modelspec1='Y ~ X';
B1 = fitglm(table,modelspec1,'Distribution','binomial');

返回错误

Warning: Iteration limit reached. 
In glmfit (line 324)
In GeneralizedLinearModel/fitter (line 575)
In classreg.regr.FitObject/doFit (line 94)
In GeneralizedLinearModel.fit (line 882)
In fitglm (line 142) 

并且 beta 的估计值变为 100 左右,具有巨大的标准误差和接近 1 的 p 值。我尝试使用增加迭代次数

opts = statset('glmfit');
opts.MaxIter = 10000; % default value for glmfit is 100.

但它没有帮助。我真的需要得到某种估计(遗憾的是,只删除一个类别不是一种选择)。我该如何解决这个问题?

标签: matlabiterationlogistic-regressioncategorical-data

解决方案


推荐阅读