ADMBまたはAD Model Builder は、非線形統計モデリングのための無料のオープンソースソフトウェアスイートです。[ 3 ] [ 4 ]これは David Fournier によって作成され、現在は非営利団体 ADMB Foundation の創設である ADMB プロジェクトによって開発されています。AD Model Builder の「AD」は、逆モード自動微分を実装する C++ 言語拡張機能であるAUTODIF ライブラリから提供される自動微分機能を指します。 [ 5 ]関連ソフトウェアパッケージであるADMB-REは、ランダム効果のモデリングに対する追加サポートを提供します。[ 6 ]
マルコフ連鎖モンテカルロ法はADMBソフトウェアに統合されており、ベイズモデリングに役立ちます。[ 7 ]ベイズ階層モデルに加えて、ADMBはラプラス近似と重点サンプリングを使用して頻度論的フレームワークでランダム効果をモデリングするサポートを提供します。[ 6 ]
ADMBは、学術機関、政府機関、国際委員会の科学者によって広く使用されており、[ 8 ]最も一般的には生態学的モデリングに使用されています。特に、多くの漁業資源評価モデルがこのソフトウェアを使用して構築されています。[ 9 ] ADMBは、New BSDライセンスの下で無料で利用でき、[ 10 ] Windows、Linux、Mac OS X、およびOpenSolarisオペレーティングシステム 用のバージョンが利用可能です。[ 10 ] ADMBのソースコードは、2009年3月に公開されました。[ 11 ] [ 12 ]
1970年代にデビッド・フルニエが行った、漁業における高度にパラメータ化された統合統計モデルの開発に関する研究は、AUTODIFライブラリ、そして最終的にはADMBの開発を促した。これらのモデルにおける尤度方程式は通常非線形であり、パラメータの推定値は数値的手法によって得られる。
フォーニエの研究初期において、これらの尤度問題に対する一般的な数値解は、尤度曲面の勾配に関する正確な情報を組み込んだ関数最小化アルゴリズムを用いることによってのみ確実に得られることが明らかになった。勾配(すなわち、すべてのモデル変数に関する尤度の偏微分)の計算も、尤度計算自体と同じ精度で行う必要がある。
フルニエは、微分法の連鎖律に基づいて必要な導関数を計算するコードを作成するためのプロトコルを開発しました。このプロトコルは、逆モード自動微分として知られるようになった一連の方法と非常によく似ています 。[ 13 ]
これらの方法を用いた統計モデル [ 14 ] [ 15 ] [ 16 ] [ 17 ] は、通常、8つの構成コードセグメントを含んでいた。
モデル開発者は通常、これらの構成要素のうち最初の要素にしか関心がありません。残りの7つの要素の開発と保守にかかる負担を軽減できるプログラミングツールがあれば、開発者の生産性は大幅に向上するでしょう。
ビャルネ・ストロヴストルップは、1970年代にベル研究所でC言語の拡張としてC++の開発を開始しました。C++は広く普及し、1989年までにはパーソナルコンピュータ向けのC++コンパイラが利用可能になりました。C++のポリモーフィズムにより、あらゆる数学演算子と関数をオーバーロードして、あらゆるコンピュータプログラムにおける微分可能な数値演算の導関数寄与を自動的に計算できるプログラミングシステムを構想することが可能になりました。
Fournier は 1989 年に Otter Research Ltd. を設立し、1990 年までに AUTODIF ライブラリには、導関数計算用の特別なクラスと、すべての C++ 演算子および標準 C++ 数学ライブラリのすべての関数に必要なオーバーロード関数が含まれるようになりました。AUTODIF ライブラリは、目的関数自体と同じ精度で目的関数の導関数を自動的に計算し、統計モデルの導関数コードを記述および保守するという面倒な作業から開発者を解放します。モデル開発の観点から同様に重要なことに、AUTODIF ライブラリには、「勾配スタック」、準ニュートン関数最小化器、導関数チェッカー、およびベクトルと行列のコンテナクラスが含まれています。AUTODIF ライブラリの最初のアプリケーションは 1992 年に公開されました [ 18 ]
しかし、AUTODIFライブラリは、開発者が上記に挙げたモデル構成要素すべてを記述する必要を完全に免除するものではありません。1993年、Fournierは、テンプレートを使用して記述されたモデルをAUTODIFライブラリアプリケーションに変換するツールを作成することでモデル仕様を簡素化する特別な「テンプレート」言語であるADMBを作成することで、統計モデルの記述をさらに抽象化しました。ADMBは、モデルと関数最小化器の間でモデルパラメータの交換を管理するコードを生成し、ヘッセ行列を自動的に計算して逆行列を計算し、推定パラメータの共分散の推定値を提供します。このように、ADMBは、モデル開発者を非線形最適化の管理に伴う面倒なオーバーヘッドから完全に解放し、統計モデルのより興味深い側面に集中できるようにします。
1990年代半ばまでに、ADMBは資源管理のあらゆる側面に取り組む研究者から広く受け入れられるようになった。ADMBに基づく個体群モデルは、クジラ、イルカ、アシカ、ペンギン、アホウドリ、アワビ、ロブスター、マグロ、カジキ、サメ、エイ、カタクチイワシ、スケトウダラなど、絶滅危惧種や商業的に価値のある魚類の個体群を監視するために使用されている。ADMBはまた、電子タグで追跡された多くの動物種の移動を再現するためにも使用されている。
2002年、フォーニエはハンス・スカウグと協力し、ADMBにランダム効果を導入した。この開発には、2次および3次導関数の自動計算、および特定の場合には順方向自動微分に続いて逆方向自動微分を2回実行する機能が含まれていた。
2007年、ジョン・シバート、マーク・モーダー、アンダース・ニールセンを含むADMBユーザーグループは、ADMBの長期的な開発とメンテナンスについて懸念を抱きました。ADMBをオープンソースプロジェクトとして無償配布する目的で、Otter Research社とADMBの著作権を売却する合意が成立しました。ADMBの開発を調整し、利用を促進するために、非営利団体であるADMB Foundationが設立されました。ADMB Foundationは、Otter Research社からADMBを購入するための資金をゴードン・アンド・ベティ・ムーア財団に求める提案書を作成しました。ムーア財団は、カリフォルニア大学サンタバーバラ校の国立生態分析統合センターに2007年後半に助成金を提供し、カリフォルニア大学理事会がADMBの権利を購入できるようにしました。購入は2008年半ばに完了し、完全なADMBライブラリは2008年12月にADMBプロジェクトのウェブサイトに掲載されました。2009年5月までに、ライブラリのダウンロード数は3000件を超えました。ソースコードは2009年12月に公開されました。2010年半ばには、ADMBはすべての一般的なオペレーティングシステム(Windows、Linux、macOS、Sun/SPARC)、すべての一般的なC++コンパイラ(GCC、Visual Studio、Borland)、および32ビットと64ビットの両方のアーキテクチャでサポートされるようになりました。
ADMBプロジェクトの最初の2年間、ADMB財団は、さまざまなプラットフォーム向けADMBの構築の自動化、インストールの効率化、およびユーザーフレンドリーな作業環境の構築に重点を置いて活動してきました。計画されている技術開発には、内部計算の並列化、ハイブリッドMCMCの実装、およびランダム効果モデルで使用するための大規模疎行列の改良が含まれます。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)