[ 
https://issues.apache.org/jira/browse/RNG-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16842471#comment-16842471
 ] 

Alex D Herbert commented on RNG-96:
-----------------------------------

{quote}I used "gnuplot" but the figures which you have posted (on other 
tickets) look nicer.
{quote}
They are just saved charts drawn from a pivot table in OpenOffice using the 
defaults. Those graphs did not use a plot within a plot as is required for the 
web site distribution plots. It's probably easier to just update the two plots 
that will change. This could even be done by editing the image files to swap 
the text at the top of the chart as the parameters have just been reversed. But 
that would be lazy.

If you have the gnuplot scripts I'll update the plots. It may be nice to have a 
line on the plot computed using the actual PDF.

 

> AhrensDieterMarsagliaTsangGammaSampler incorrectly names parameters
> -------------------------------------------------------------------
>
>                 Key: RNG-96
>                 URL: https://issues.apache.org/jira/browse/RNG-96
>             Project: Commons RNG
>          Issue Type: Bug
>          Components: sampling
>    Affects Versions: 1.3
>            Reporter: Alex D Herbert
>            Assignee: Alex D Herbert
>            Priority: Minor
>             Fix For: 1.3
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The AhrensDieterMarsagliaTsangGammaSampler has parameters alpha and theta.
> Using the naming conventions on [Wikipedia Gamma 
> distribution|https://en.wikipedia.org/wiki/Gamma_distribution] the alpha 
> parameter is also known as the shape and the theta parameter is the scale:
> {noformat}
> // Wikipedia
> alpha = shape
> theta = scale
> {noformat}
> However if the sampler is run with the same parameters as the Wikipedia 
> article histograms of the output sample distribution does not match. They 
> need to be swapped indicating a naming mismatch.
> Studying the same algorithm in o.a.c.math3.distribution.GammaDistribution it 
> appears that the theta parameter is being used by Commons RNG as the shape 
> and the alpha parameter is being used as the scale. So the names are 
> incorrect and have been swapped.
> {noformat}
> // Commons RNG
> alpha = scale (wrong)
> theta = shape (wrong)
> {noformat}
> The unit tests for this sampler does this:
> {code:java}
> // Gamma (theta < 1).
> add(LIST, new 
> org.apache.commons.math3.distribution.GammaDistribution(unusedRng,
>     thetaGammaSmallerThanOne, alphaGamma),
>     new AhrensDieterMarsagliaTsangGammaSampler(
>             RandomSource.create(RandomSource.XOR_SHIFT_1024_S),
>             alphaGamma, thetaGammaSmallerThanOne));
> // Gamma (theta > 1).
> add(LIST, new 
> org.apache.commons.math3.distribution.GammaDistribution(unusedRng, 
>     thetaGammaLargerThanOne, alphaGamma),
>     new AhrensDieterMarsagliaTsangGammaSampler(
>               RandomSource.create(RandomSource.WELL_44497_B),
>                                                
>               alphaGamma, thetaGammaLargerThanOne));
> {code}
> This is a different parameter order for the two samplers.
>  So the tests enforce the fact that the parameters are swapped between 
> Commons Math3 and Commons RNG.
> Changing the actual parameter order would be a change of functionality. So 
> this can be fixed by updating the Javadoc and parameter names for the sampler.
> {noformat}
> // Commons RNG
> alpha renamed to theta (scale)
> theta renamed to alpha (shape)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to