2014-03-05 2 views
5

this question에이어서, scipy에서 연속 분포를 맞추기 위해 MLE (최대 우도 추정) 이외의 방법을 사용하는 방법이 있습니까? 내 데이터가 MLE 방법이 다양하게 나타날 수 있다고 생각하므로 순간의 방법을 사용하려고하지만 대신 scipy에서 수행하는 방법을 찾을 수 없습니다. 특히,이 가능한 경우 누구나 알고 있나요scipy의 모멘트 방법?

scipy.stats.genextreme.fit(data, method=method_of_moments) 

같은 것을 찾을 것으로 예상하고있어, 그렇다면 어떻게 할 수 있나요?

+3

어쨌든 scipy 통계에는 없지만 어쨌든. DIY를 사용하는 것이 더 나을 것입니다. 관련된 수학에 대한 자세한 내용을 제공하면 유용하다고 말할 수 있습니다. –

답변

1

몇 가지 언급 :

1) scipy은 GMM에 대한 지원이 없습니다. 이 경우, http://rpy.sourceforge.net/rpy2/doc-2.1/html/index.html

2) 융합의 안정성에 대해서 : statsmodels (http://statsmodels.sourceforge.net/stable/gmm.html)를 통해 GMM 일부 지원, 당신은 또한 Rpy2를 통해 많은 R 루틴에 액세스 할 수 있습니다 (그리고 R는 GMM의 모든 맛 이제까지 발명을 수밖에 없다)이있다 문제가 있다면 문제는 최대화되는 목표 (예 : 일반화 된 순간과 반대되는 가능성)가 아닌 옵티 마이저를 사용하는 것이 좋습니다. 그래디언트 옵티 마이저는 매우 까다 롭습니다 (또는 오히려 우리가 제공하는 문제는 그래디언트 최적화에 적합하지 않아 컨버전스가 불량합니다).

statsmodels와 Rpy가 필요한 루틴을 제공하지 않는다면, 순간 계산을 자세한 정보로 작성하고 직접 최대화 할 수있는 방법을 확인하는 것이 좋습니다. 잘 지내니?