Am 27.01.2025 um 15:36 schrieb Riccardo (Jack) Lucchetti:
On 27/01/2025 13:15, Artur T. wrote:
> I am estimating a system by means of 3SLS. The default max. number of
> iterations is set to 100. The estimator does not converge for my
> specification, and I would like to increase the max. number.
>
> However, I can't find the parameter option for the set command to
> control the max. number of iterations.
Unless I'm mistaken (I'm not overly familiar with this part of the
code), this is currently hardwired at 100, as per line 721 of
plugin/sysest.c.
Certainly looks like it.
I suppose we could make this configurable via some new libset
parameters (ie, those you can set via the "set" command) or perhaps by
overloading one of the existing ones.
IMO it's worth noting that the number of iterations is also affected
by two hardwired scalars named SYS_LL_TOL and SYS_BDIFF_TOL (currently
set at 1.0e-12 and 1.0e-9, respectively) and that we could make those
configurable too.
Just to be clear, for Artur's 3SLS case only SYS_BDIFF_TOL would be
relevant AFAICS. And BTW, this is the *relative* change of the
coefficient in the latest iteration, so rescaling shouldn't make a
difference. (I know, nobody said that it would.)
To be honest, instead of yet another "set" maxiter sub-parameter,
wouldn't it be possible to specify the max number directly with the
--iterate switch? Like: "estimate mySys method=3sls --iterate=200" or
so? Of course only optionally with the current default.
I'm going to send another message with more technical detail questions
to the development list...
thanks
sven