다음은 푸 아송 분포의 람다 매개 변수의 ML 추정량을 비교하는 테스트입니다. 두 번째 열은 BFGS 방법을 사용하여 로그 우도 함수를 최대화함으로써 얻어진 ML 추정기를 나타내고있다최대 우도 추정기의 정확도
with(data.frame(x=rpois(2000, 1.5), i=LETTERS[1:20]),
cbind(cf=tapply(x, i, mean),
iter=optim(rep(1, length(levels(i))), function(par)
-sum(x * log(par[i]) - par[i]), method='BFGS')$par))
첫 번째 열 (참조) 폐쇄 형태의 용액으로부터 얻어진 ML 추정기를 나타낸다. 결과 : 그것은 반복 최적화 방법으로 얻은 추정량을 볼 수 있습니다
cf iter
A 1.38 1.380054
B 1.61 1.609101
C 1.49 1.490903
D 1.47 1.468520
E 1.57 1.569831
F 1.63 1.630244
G 1.33 1.330469
H 1.63 1.630244
I 1.27 1.270003
J 1.64 1.641064
K 1.58 1.579308
L 1.54 1.540839
M 1.49 1.490903
N 1.50 1.501168
O 1.69 1.689926
P 1.52 1.520876
Q 1.48 1.479891
R 1.64 1.641064
S 1.46 1.459310
T 1.57 1.569831
올바른 값에서 꽤 많이 벗어날 수 있습니다. 이것은 예상되는 것이거나 더 좋은 근사값을 산출 할 수있는 또 다른 (다차원) 최적화 기법입니까? 체이스에 의해 제공
'reltol' 매개 변수는'control()'에 전달되어 수렴 임계 값을 조정할 수있게합니다. 필요한 경우 재생 해 볼 수 있습니다. 논쟁의 여지는 있지만, 폐쇄 형 솔루션을 쉽게 계산할 수없는 실제 응용 프로그램의 경우 소수점 이하 두 자리 또는 세 자리의 정확도가 불충분합니까? – Chase
감사합니다. reltol = .Machine $ double.eps 설정은 모든 오류를 제거하는 것으로 보입니다. –
쿨! 도움이 된 것을 기쁘게 생각합니다. 아는 바와 같이 질문에 대한 답변을 게시하고 올바른 질문으로 표시하여 다른 사람들이 귀하의 솔루션을 쉽게 볼 수 있도록 할 수 있습니다. – Chase