Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R: Error with polr(): initial value in 'vmmin' is not finite

Tags:

r

I'm trying to estimate an ordered probit model using polr: polr(Rating ~ Currac + Debt + Inflation + GDPpc + GDPgr + Ratio + Levelofdev + Eurozone + Default, method ="probit")

where Rating is an ordered discrete dependent variable and the independent variables are a set of economic determinants (e.g. inflation rate).

However, I keep getting the same error:

Error in optim(s0, fmin, gmin, method = "BFGS", ...) : initial value in 'vmmin' is not finite

I found it in the C code (src/main/optim.c), at line 523 in the procedure vmmin. An error is thrown because the result of function fminfn is not finite. In this function fminfn, at line 82, the result is calculated as result = REAL(s)[0]/(OS->fnscale). This does not make much sense to me, however.

I understood it should have something to do with a function evaluating at an infinite value at the starting values. I was hoping someone could explain this in more detail, or help me overcome the problem.

Exluding/omitting NA-values from the dataset does not resolve the problem. However, when I delete either Inflation or GDPpc from the set of regressors, it suddenly works fine. And when I delete everything else but keep both Inflation and GDPpc, it also still works.

If you have experienced the same problem or might know how to deal with this, I would be really grateful for your response.

Thanks a lot,

Wouter

like image 476
Wouter Avatar asked Mar 07 '15 15:03

Wouter


1 Answers

I encountered a very similar issue when using polr() for ordered logistic regression. I was able get the algorithm to converge using the orm function in the rms package https://www.rdocumentation.org/packages/rms/versions/6.0-1/topics/orm

Still worth investigating how the distribution of Inflation and GDPpc differs from each of the other independent variables in your model across Rating.

like image 111
Annabelle Avatar answered Nov 12 '22 11:11

Annabelle