R multinom()函数在100次迭代后停止,原因是什么?

chu*_*tsu 5 statistics regression r

我有相当相对大量的数据,有80列,约220万行.当我试图使用nnetmultinom()函数,在无序多分类数据的功能似乎经过100次迭代停止执行mutlinomial Logistic回归:

# 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
Run Code Online (Sandbox Code Playgroud)

我也尝试使用VGAMvglm()但它给了我下面的错误:

Error in outer(X, Y, FUN, ...) : allocMatrix: too many elements specified
Run Code Online (Sandbox Code Playgroud)

一种可能的解释是,我的小的MacBook Air是达不到这个工作,但是我在想,我有什么其他选择在我目前拥有的数据集执行多项Logistic回归?

Edw*_*ard 14

如果你查看文档multinom(),你会看到它包含一个参数...,用于"nnet的附加参数".

然后,查看文档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, ...)
Run Code Online (Sandbox Code Playgroud)

您遇到的问题是默认maxit值为100.尝试添加maxit=1000(或任何您想要的)添加到您的multinom()参数.我没有测试过这个(我需要你包含可重复的样本数据),但我认为它可以解决这个问题.


Jus*_*tin 5

如果您查看?multinom它的帮助,则表示它调用nnet并且...是附加参数nnet.其中一个参数maxit默认为100.将其作为参数添加到您的最大迭代量应该是什么.

您还可以查看有关错误的此问题vglm.