I'm trying to use proc MI to do a multiple imputation to replace missing data. Some of the missing values are below a chemical limit of detection, so I need to use the maximum=L option. My problem is that when I include all 9 of my variables in the imputation model, I receive a message that says:
"ERROR: An imputed variable value is not in the specified range after 100000000 tries."
I realize that I can increase the number of iterations used in the imputation by changing the value of minmaxiter=N, but there seems to be a limit to the number of iterations that Proc MI will use (~2E9), and if my minmaxiter value is too high, I get another error message:
"ERROR: Invalid Operation.
ERROR: Termination due to Floating Point Exception"
Does anyone know how to increase the maximum minmaxiter value? Or does anyone have any other suggestions for using proc MI to circumvent this problem?
The failure to converge indicates a relatively flat response surface.
I've not used PROC MI, but have used the underlying EM algorithm on a flat surface and gotten this problem. There may not be a solution beyond re-programming using another search algorithm (I ended up with Newton-Raphson; it's much more "brute force", but will converge to a proper answer with a fine enough grid.).
I'd be interested to here if there are other approaches that allow a solution within MI.