What is ICMFrequency? and How do you specify it?
2 views (last 30 days)
I came across with an issue while fitting ecdf function for a large dataset (>700 ). When I specify the NameValue parameter "ICMFrequency" as anything greater than 15 it works almost instantly. The default value is supposed to be 10 and when I set it to default, it sits there for ever. I would like to know some clarification regarding this parameter. I have searched everywhere including google searches but no luck so far. Thanks in advance.
Liam Walsh on 23 May 2022
To find the ecdf for interval-censored data, ecdf uses the EMICM algorithm as laid out in:
Anderson-Bergman, Clifford. "An Efficient Implementation of the EMICM Algorithm for the Interval Censored NPMLE." Journal of Computational and Graphical Statistics 26, no. 2 (April 3, 2017): 463–67.
This algorithm is iterative, and works by alternating until the ecdf is found between two different procedures - an expectation-maximization procedure (EM), and an iterative convex minorant procedure (ICM). The ICMFrequency Name-Value pair controls the frequency of the ICM step. By default, the algorithm will compute the ICM every 10th iteration, and the EM step every other iteration. Changing the ICMFrequency paramter changes how often the ICM algorithm is run. For more information, please see this doc page:
Are you willing to share your data? I'd like to investigate a bit further why you are seeing this behavior with the ICMFrequency with your data.