1

によって推定された多くのモデルを含む .do ファイルを実行していますxtlogit。モデルが収束しない場合でも、これをログに記録したいと思います。.do ファイルの実行には数時間かかるため、通常はその場所を離れて別のことをします。残念ながら、モデルが収束しないと、.do ファイル全体が停止します。したがって、capture noisily {}.do ファイル全体を実行するために使用しました。xtlogitただし、これは、変数の数と想定されるモデルの複雑さに応じて、各コマンドで個別に指定した最大反復回数を無視しているようです。

set maxiterモデルを実行する前にグローバルに使用することで、既に回避策を見つけました。しかし、これではモデルごとの反復をより細かく指定することはできません (私が頻繁に使用しない限り)

のこの動作に関するレポートは見つかりませんでしcaptureた。たぶん、私の回避策よりも良いアプローチがありset maxiterますか?

以下は、反復回数が少なすぎることによって手動でエラーを再現するコードの例です。

webuse union, clear
capture noisily {
xtlogit union age grade i.not_smsa south##c.year, fe iter(2)
xtlogit union age grade i.not_smsa south##c.year, iter(3) pa
xtlogit union age grade i.not_smsa south##c.year, fe iter(2)
}

.do ファイルは 2 番目のモデルの後で停止し、「収束が達成されませんでした」というエラー メッセージが表示 r(430);され、3 番目のモデルには進みませんcapture。.

4

3 に答える 3