[ https://issues.apache.org/jira/browse/MATH-1153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14249124#comment-14249124 ]
Phil Steitz commented on MATH-1153: ----------------------------------- Sorry I did not comment on the goodness of fit tests. Those are more problematic, as having to cherry-pick seeds indicates that the generated values may not follow the target distribution. Looking at G-tests as well would be a good idea, as would looking at a range of different distribution parameter values. I will have a look at the code and homogeneity tests tonight. > Sampling from a 'BetaDistribution' is slow > ------------------------------------------ > > Key: MATH-1153 > URL: https://issues.apache.org/jira/browse/MATH-1153 > Project: Commons Math > Issue Type: Improvement > Reporter: Sergei Lebedev > Priority: Minor > Fix For: 3.4 > > Attachments: ChengBetaSampler.java, ChengBetaSamplerTest.java > > > Currently the `BetaDistribution#sample` uses inverse CDF method, which is > quite slow for sampling-intensive computations. I've implemented a method > from the R. C. H. Cheng paper and it seems to work much better. Here's a > simple microbenchmark: > {code} > o.j.b.s.SamplingBenchmark.algorithmBCorBB 1e-3 1000 thrpt 5 > 2592200.015 14391.520 ops/s > o.j.b.s.SamplingBenchmark.algorithmBCorBB 1000 1000 thrpt 5 > 3210800.292 33330.791 ops/s > o.j.b.s.SamplingBenchmark.commonsVersion 1e-3 1000 thrpt 5 > 31034.225 438.273 ops/s > o.j.b.s.SamplingBenchmark.commonsVersion 1000 1000 thrpt 5 > 21834.010 433.324 ops/s > {code} > Should I submit a patch? > R. C. H. Cheng (1978). Generating beta variates with nonintegral shape > parameters. Communications of the ACM, 21, 317–322. -- This message was sent by Atlassian JIRA (v6.3.4#6332)