{"action":"created","issue":{"url":"https://api.github.com/repos/openturns/openturns/issues/746","repository_url":"https://api.github.com/repos/openturns/openturns","labels_url":"https://api.github.com/repos/openturns/openturns/issues/746/labels{/name}","comments_url":"https://api.github.com/repos/openturns/openturns/issues/746/comments","events_url":"https://api.github.com/repos/openturns/openturns/issues/746/events","html_url":"https://github.com/openturns/openturns/pull/746","id":311413489,"number":746,"title":"[RFC] Improve bernstein copula factory","user":{"login":"regislebrun","id":8220933,"avatar_url":"https://avatars0.githubusercontent.com/u/8220933?v=4","gravatar_id":"","url":"https://api.github.com/users/regislebrun","html_url":"https://github.com/regislebrun","followers_url":"https://api.github.com/users/regislebrun/followers","following_url":"https://api.github.com/users/regislebrun/following{/other_user}","gists_url":"https://api.github.com/users/regislebrun/gists{/gist_id}","starred_url":"https://api.github.com/users/regislebrun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/regislebrun/subscriptions","organizations_url":"https://api.github.com/users/regislebrun/orgs","repos_url":"https://api.github.com/users/regislebrun/repos","events_url":"https://api.github.com/users/regislebrun/events{/privacy}","received_events_url":"https://api.github.com/users/regislebrun/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-04-04T22:31:49Z","updated_at":"2018-04-05T16:54:47Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/openturns/openturns/pulls/746","html_url":"https://github.com/openturns/openturns/pull/746","diff_url":"https://github.com/openturns/openturns/pull/746.diff","patch_url":"https://github.com/openturns/openturns/pull/746.patch"},"body":"The primary purpose of this PR is to enhance the BernsteinCopulaFactory class. These enhancements are twofold:\r\n  * Now the result of the estimation is an EmpiricalBernsteinCopula instance instead of a Mixture of ComposedDistribution with independent Beta atoms, which was mathematically exact but very inefficient. The EmpiricalBernsteinCopula (not yet documented but tested) is at least two orders of magnitude more efficient.\r\n  * Two new methods to compute the bin number are available in addition to the previous AMISE method. The first is based on log-likelihood maximization with or without k-fold, the second is goal-oriented toward the nonparametric estimation of Csiszar divergences\r\n\r\nSome minor improvements have been made:\r\n  * There is a new Sample::toEmpiricalCopula() method to convert any sample into its normalized ranks conterpart\r\n  * The accuracy of Mixture::computeLogPDF() has been improved\r\n\r\nI am still working on the documentation of EmpiricalBernsteinCopula (expected to be finished in few hours) and will update the Changelog at the end, but as there is already some code to review I prefer not to wait before to propose the PR"},"comment":{"url":"https://api.github.com/repos/openturns/openturns/issues/comments/379003737","html_url":"https://github.com/openturns/openturns/pull/746#issuecomment-379003737","issue_url":"https://api.github.com/repos/openturns/openturns/issues/746","id":379003737,"user":{"login":"regislebrun","id":8220933,"avatar_url":"https://avatars0.githubusercontent.com/u/8220933?v=4","gravatar_id":"","url":"https://api.github.com/users/regislebrun","html_url":"https://github.com/regislebrun","followers_url":"https://api.github.com/users/regislebrun/followers","following_url":"https://api.github.com/users/regislebrun/following{/other_user}","gists_url":"https://api.github.com/users/regislebrun/gists{/gist_id}","starred_url":"https://api.github.com/users/regislebrun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/regislebrun/subscriptions","organizations_url":"https://api.github.com/users/regislebrun/orgs","repos_url":"https://api.github.com/users/regislebrun/repos","events_url":"https://api.github.com/users/regislebrun/events{/privacy}","received_events_url":"https://api.github.com/users/regislebrun/received_events","type":"User","site_admin":false},"created_at":"2018-04-05T16:54:47Z","updated_at":"2018-04-05T16:54:47Z","author_association":"CONTRIBUTOR","body":"The same code is in EmpiricalBernsteinCopula::computeLogPDF(). I had something in mind similar to what is described in the reference, ie to keep track of the maximum element and to update the estimate when a new maximum element is found, but I messed things at one point, resulting in something neither more robust nor more accurate than the trivial version, sad. I will switch the code of EmpiricalBernsteinCopula::computeLogPDF() to the trivial version to be consistent with Mixture::computeLogPDF()"}}
{"actor":{"display_login":"regislebrun"}}