R multinom()函数在100次迭代后停止,原因是什么?
我有相当多的数据,它有80列,大约22万行 当我试图使用R multinom()函数在100次迭代后停止,原因是什么?,r,statistics,regression,R,Statistics,Regression,我有相当多的数据,它有80列,大约22万行 当我试图使用nnet的multinom()函数对无序的多分类数据执行多元逻辑回归时,该函数似乎在100次迭代后停止: # weights: 322 (270 variable) initial value 807521.728781 iter 10 value 191523.940813 iter 20 value 163085.728004 iter 30 value 146262.378340 iter 40 value 139398
nnet
的multinom()
函数对无序的多分类数据执行多元逻辑回归时,该函数似乎在100次迭代后停止:
# weights: 322 (270 variable)
initial value 807521.728781
iter 10 value 191523.940813
iter 20 value 163085.728004
iter 30 value 146262.378340
iter 40 value 139398.851395
iter 50 value 134606.101687
iter 60 value 133588.725646
iter 70 value 133253.102380
iter 80 value 133129.328709
iter 90 value 133098.717752
iter 100 value 133095.661773
final value 133095.661773
stopped after 100 iterations
我还尝试使用VGAM
的vglm()
,但它给了我以下错误:
Error in outer(X, Y, FUN, ...) : allocMatrix: too many elements specified
一个可能的解释是,我的微型macbook air不适合这份工作,但我想知道,对于我目前拥有的数据集,我还必须执行什么样的多项式逻辑回归?如果您查看
的帮助,multinom
表示它调用nnet
,..
是nnet
的附加参数。其中一个参数是maxit
,默认为100。将其作为参数添加到最大迭代次数中
您还可以查看有关
vglm
错误的信息。如果您查看multinom()
的文档,您会看到它包含一个参数…
,用于“nnet的附加参数”
然后,查看的文档,您将看到以下用法:
nnet(x, y, weights, size, Wts, mask,
linout = FALSE, entropy = FALSE, softmax = FALSE,
censored = FALSE, skip = FALSE, rang = 0.7, decay = 0,
maxit = 100, Hess = FALSE, trace = TRUE, MaxNWts = 1000,
abstol = 1.0e-4, reltol = 1.0e-8, ...)
您遇到的问题是默认的
maxit
为100。尝试将maxit=1000
(或任何您想要的)添加到multinom()
参数中。我还没有测试过这个(我需要你包含可复制的样本数据),但我认为它会起作用。@Edward你的答案更完整,所以我建议你取消删除它。@Edward请随意放回你的答案或相应地编辑我的答案。你的更完整@安德烈取消了我的回答。谢谢