ADMB

ADMB
ADMB
ADMB logo.jpg
설계자데이비드 푸르니에
개발자ADMB 핵심팀
안정된 릴리스
2021년 3월 7일, 16개월[1] 전(2021-03-07)
OS크로스 플랫폼
면허증.BSD
웹 사이트admb-project.org
사투리
C++

ADMB 또는 AD Model Builder는 비선형 통계 [2][3]모델링을 위한 무료 오픈 소스 소프트웨어 스위트입니다.David Fournier에 의해 만들어졌으며 현재는 비영리 ADMB 재단의 설립인 ADMB Project에 의해 개발되고 있습니다.AD Model Builder의 "AD"는 AUTODIF 라이브러리에서 제공되는 자동 차별화 기능을 말합니다. AUTODIF 라이브러리는 David Fournier가 만든 C++ 언어 확장 기능으로, 리버스 모드 자동 [4]차별화를 구현합니다.관련 소프트웨어 패키지인 ADMB-RE랜덤 [5]효과 모델링을 추가로 지원합니다.

기능과 용도

마르코프 연쇄 몬테카를로 방법은 ADMB 소프트웨어에 통합되어 베이지안 [6]모델링에 유용하다.베이지안 계층 모델 외에도 ADMB는 라플라스 근사 및 중요도 [5]샘플링을 사용하여 빈도주의 프레임워크에서 랜덤 효과 모델링에 대한 지원을 제공한다.

ADMB는 학술 기관, 정부 기관 및 국제 [7]위원회의 과학자들에 의해 널리 사용되며, 가장 일반적으로 생태 모델링에 사용됩니다.특히, [8]이 소프트웨어를 사용해 많은 수산 육종 평가 모델이 구축되고 있다.ADMB는 Windows, Linux, Mac OS X 및 OpenSolaris 운영 체제에서 [9]사용할 수 있는 버전과 함께 New BSD [9]License에 따라 무료로 제공됩니다.ADMB의 소스 코드는 2009년 [10]3월에 공개되었습니다.[11]

이력 및 배경

실행

1970년대 데이비드 푸르니에가 어업에서 고도로 매개 변수화된 통합 통계 모델을 개발하면서 AUTODIF 라이브러리와 궁극적으로는 ADMB를 개발하게 되었다.이러한 모델의 우도 방정식은 일반적으로 비선형이며 모수의 추정치는 수치적 방법으로 구한다.

Fournier의 연구 초기에, 이러한 우도 문제에 대한 일반적인 수치적 해법은 우도 표면의 구배에 대한 정확한 정보를 통합하는 함수 최소화 알고리즘을 통해서만 안정적으로 달성될 수 있다는 것이 분명해졌다.구배 계산(즉, 모든 모델 변수에 대한 우도의 부분 도함수)도 우도 계산 자체와 동일한 정확도로 수행되어야 한다.

Fournier는 미적분의 연쇄 법칙에 기초하여 필요한 도함수를 계산하기 위한 코드 작성 프로토콜을 개발했습니다.이 프로토콜은 "역방향 모드 자동 차별화"[12]로 알려진 일련의 메서드와 매우 유사합니다.

이러한 방법을[14][15][16] 사용하는 통계 모델에는 일반적으로 8개의 구성 코드 세그먼트가 포함되어 있었다.

  1. 목적 함수
  2. 추정할 매개변수와 관련하여 목적 함수의 부분 도함수를 계산하는 인접 코드
  3. 파생 연산을 위한 중간 데이터를 저장하는 전용 메모리('스택'이라고 함) 및 이를 관리하기 위한 소프트웨어
  4. 기능 최소화 장치
  5. 미분이 유한차이 근사치와 관련하여 정확한지 확인하는 알고리즘
  6. 함수 최소화기 및 해당 파생 코드로 조작할 수 있는 벡터에 모델 매개변수를 삽입하는 알고리즘
  7. 매개변수 값을 우도 계산 및 해당 파생 코드로 되돌리는 알고리즘
  8. 추정할 매개변수와 관련하여 목적적 함수의 두 번째 부분 도함수인 헤시안 행렬을 계산하는 알고리즘.

모델 개발자는 보통 이러한 구성 요소 중 첫 번째 구성 요소에만 관심이 있습니다.나머지 7개의 개발 및 유지보수에 드는 오버헤드를 줄일 수 있는 프로그래밍 툴을 사용하면 생산성이 크게 향상됩니다.

Bjarne Strostrup은 1970년대에 C 프로그래밍 언어의 확장으로 Bell Labs에서 C++ 개발을 시작했습니다.C++는 널리 퍼졌고 1989년에는 개인용 컴퓨터에 C++ 컴파일러를 사용할 수 있게 되었습니다.C++의 다형성은 모든 수학 연산자와 함수가 과부하가 되어 모든 컴퓨터 프로그램에서 모든 미분 가능한 숫자 연산의 파생 기여도를 자동으로 계산할 수 있는 프로그래밍 시스템을 예상할 수 있게 합니다.

오터 리서치

Fournier는 1989년에 Otter Research Ltd.를 설립하였고, 1990년까지 AUTODIF Library는 모든 C++ 연산자와 표준 C++ 수학 라이브러리의 모든 함수에 필요한 미분 계산 및 과부하 함수를 위한 특별 클래스를 포함하였습니다.AUTODIF 라이브러리는 목적함수와 동일한 정확도로 목적함수의 미분을 자동으로 계산하므로 개발자는 통계 모델에 대한 파생 코드를 작성하고 유지하는 부담스러운 작업으로부터 해방됩니다.모델 개발의 관점에서 마찬가지로 중요한 AUTODIF 라이브러리는 "구배적 스택", 준뉴턴 함수 최소화기, 파생 검사기 및 벡터 및 행렬에 대한 컨테이너 클래스를 포함합니다.AUTODIF 도서관은 1992년에 처음 적용되었다

단, AUTODIF 라이브러리는 개발자가 위의 모든 모델 구성 요소를 기술하는 것을 완전히 배제하지는 않습니다.1993년 Fournier는 템플릿을 사용하여 작성된 모델을 AUTODIF 라이브러리 응용 프로그램으로 변환하는 도구를 만들어 모델 사양을 단순화하는 특별한 "템플릿" 언어인 ADMB를 만들어 통계 모델 작성을 더욱 추상화했습니다.ADMB는 모델과 함수 최소화기 사이의 모델 매개 변수 교환을 관리하는 코드를 생성하고, 자동으로 헤시안 행렬을 계산하여 추정된 매개 변수의 공분산을 추정하기 위해 반전합니다.따라서 ADMB는 모델 개발자가 비선형 최적화 관리의 모든 지루한 오버헤드로부터 해방되어 통계 모델의 더 흥미로운 측면에 집중할 수 있도록 합니다.

1990년대 중반까지 ADMB는 자원 관리의 모든 측면을 연구하는 연구원들로부터 인정을 받았습니다.ADMB에 기초한 개체군 모델은 멸종위기종과 고래, 돌고래, 바다사자, 펭귄, 알바트로스, 전복, 바닷가재, 참치, 말린, 상어, 가오리, 멸치, 명태를 포함한 상업적 가치가 있는 물고기 개체군을 모두 모니터링하는 데 사용됩니다.ADMB는 또한 전자 태그로 추적되는 많은 종의 동물들의 움직임을 재구성하는 데 사용되어 왔다.

2002년에 Fournier는 한스 스카우그와 협력하여 ADMB에 랜덤 효과를 도입했습니다.이 개발에는 두 번째와 세 번째 파생상품의 자동 계산과 전진 모드 자동 미분 사용, 그리고 특정한 경우에 역모델 AD의 두 번의 스위프가 포함되었다.

ADMB 프로젝트

2007년에 John Sibert, Mark Maunder 및 Anders Nielsen을 포함한 ADMB 사용자 그룹은 ADMB의 장기적인 개발과 유지보수에 대해 우려하게 되었습니다.ADMB를 오픈소스 프로젝트로 만들어 무료로 배포할 목적으로 ADMB에 저작권을 판매하기로 Otter Research와 합의했습니다.비영리 ADMB 재단은 ADMB의 개발과 사용을 조정하기 위해 설립되었습니다.ADMB 재단은 Gordon and Betty Moore Foundation에 Otter Research로부터 ADMB를 인수하기 위한 자금의 제안서를 작성했습니다.무어 재단은 2007년 말 캘리포니아 대학 산타바바라 국립생태분석 및 합성센터에 보조금을 지급하여 캘리포니아 대학의 리젠트가 ADMB에 대한 권리를 구입할 수 있도록 했다.구입은 2008년 중반에 완료되었으며, 완전한 ADMB 라이브러리는 2008년 12월에 ADMB Project 웹사이트에 게시되었습니다.2009년 5월까지 3000건 이상의 라이브러리가 다운로드되었습니다.소스코드는 2009년 12월에 제공되었습니다.2010년 중반 ADMB는 모든 공통 운영체제(Windows, Linux, MacOS 및 Sun/SPARC)와 모든 공통 C++ 컴파일러(GCC, Visual Studio, Borland) 및 32비트 및 64비트 아키텍처 모두에서 지원되었습니다.

ADMB 프로젝트 첫 2년간 ADMB Foundation은 다양한 플랫폼용 ADMB 구축 자동화, 설치 합리화 및 사용자 친화적인 작업 환경 구축에 주력해 왔습니다.계획된 기술 개발에는 내부 계산의 병렬화, 하이브리드 MCMC의 구현 및 랜덤 효과 모델에 사용하기 위한 대형 스파스 매트릭스의 개선이 포함된다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "ADMB Project".
  2. ^ "admb-project". ADMB Project. Archived from the original on 3 March 2009. Retrieved 2009-04-01.
  3. ^ Fournier, D.A., H.J. Skaug, J. Ancheta, J. Ianelli, A. Magnusson, M.N. Maunder, A.닐슨, J. 시버트, 2012년.AD Model Builder: 고도로 매개 변수화된 복잡한 비선형 모델의 통계적 추론을 위해 자동 미분을 사용합니다.Optim. 방법 소프트. 27:233-249
  4. ^ "AUTODIF: A C++ Array Language Extension with Automatic Differentiation For Use in Nonlinear Modeling and Statistics" (PDF). ADMB Project. Archived from the original (PDF) on 2011-07-11. Retrieved 2008-12-03.
  5. ^ a b "Random effects in AD Model Builder: ADMB-RE user guide" (PDF). ADMB Project. Archived from the original (PDF) on 2011-07-11. Retrieved 2008-12-03.
  6. ^ "An Introduction to AD Model Builder Version 9.0.0" (PDF). ADMB Project. Archived from the original (PDF) on 2011-01-04. Retrieved 2008-12-03.
  7. ^ "ADMB User Base and Major Applications". ADMB Project. Archived from the original on 2011-07-24. Retrieved 2008-12-02.
  8. ^ "Bibliography: Stock assessments". ADMB Project. Archived from the original on 2013-02-26. Retrieved 2008-12-03.
  9. ^ a b "ADMB Downloads". ADMB Project. Retrieved 2010-07-28.
  10. ^ "UCSB Press Release: "Fisheries Stock Assessment Software Now Publicly Accessible"". University of California, Santa Barbara. Retrieved 2008-12-09.
  11. ^ "ADMB Source Code Available". ADMB Project. Archived from the original on 2010-04-18. Retrieved 2009-05-14.
  12. ^ A. 그리완과 G.F.콜리스(에드)알고리즘의 자동 미분(이론, 구현 및 응용)산업 및 응용 수학 학회.1992.
  13. ^ D. Fournier와 나.두난이.일반화 지연차 모델을 이용한 길이 기반 재고 평가 방법.캐나다 수산 및 수생 과학 저널, 44 (2):422-437, 1987.
  14. ^ D. Fournier와 A.워버튼.복합 모델을 도입하여 모의 적응 제어에 의한 수산 관리 모델 평가.캐나다 수산 및 수생과학 저널. 46(6):1002-1012, 1989.
  15. ^ D. Fournier, J. Sibert, J. Majkowski, J. Hampton.MULTFAN은 남방참다랑어(Thunnus maccoyii) 데이터를 사용하여 설명되는 다장 주파수 데이터 세트로부터 성장 파라미터 및 연령 구성을 추정하기 위한 우도 기반 방법이다.캐나다 수산 및 수생 과학 저널, 47(2):301-317, 1990.
  16. ^ J. 시버트, J. 햄튼, D.Fournier, 그리고 P.Bills. 스킵잭 참치(Katsuwonus pelamis)에 응용한 태그 부착 데이터에서 어류의 이동 파라미터를 추정하기 위한 이류 확산 반응 모델.캐나다 수산 및 수생 과학 저널, 56(6):925-938, 1999.
  17. ^ K. N. Holland, R. Brill, R. Chang, J. Sibert, D.포니어.큰눈참치(참치)의 생리적행동적 온도 조절.네이처, 358:410--412, 1992.

외부 링크