知り合いから統計ソフトのエラーがわからない、という質問が来た。「NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED」ってどういう意味、というような話。
次のような返事を出したが、冒頭のジャパンの募金箱のことがわからないという。残念だ。
統計計算の基本は、反復による近似計算です。
五次以上の方程式は、一般解によって解けないので、近似計算をすることになります。
近似計算のイメージは、ジャパンの募金箱です。お金を適当に放り込むと、漏斗のようになっている穴にコーロコーロと転がって入っていきますよね。あんな感じで、一つの答えに向かって、最初は遠いところからなんですが、よりフィットが高い方向に進んでいきます。ここで決まり!というポイントは永遠に出てこないのですが、カラカラカラと変化幅がある程度小さくなると良し!とするわけです。これがcriterion、収束基準ですね。これ以下の幅になったらよしとする、という基準。
でも、もの(データや初期値)によっては、いつまでたってもコロコロしつづけて、カラカラと落ち着かないことがあります。どうしても基準を優先すると、PCは終わることなく計算を続けます。本当に終わることなく。
で、それは困ると言うことで、なんぼなんでも1000回ぐらいコロコロしたら答えは出るでしょう、もしそれで出ないのなら、モデルかデータの方を疑うべきじゃないか、ということで、回転の上限を決めます。これがiterationの設定。多くの統計ソフトはデフォルト値として1000回とか10000回とか決めてますが、その回転数でconverge(収束)しないというエラーが出たら、上限を挙げてやるのが一つの解決策になります。
もちろん、収束基準をゆるめてやるのももう一つの方法です。
さらに、データやモデルを考え直すのも一つの方法です。