Message Boards Message Boards

Generating Random Numbers from a Generalized Pareto Distribution

Dear community members, I'm trying to apply Extreme Value Theory to measure operational risks using Mathematica and I'd like to generate some random numbers following a Generalized Pareto Distribution with 3 parameters: location, scale and shape. I know that Mathematica has 4 different types of Pareto Distribution but as far as I know they are different from the Generalized Pareto one. Does anybody know how I could do it? Many thanks in advance, Ruben

3 Replies
Posted 8 years ago

You can use a function such as

ranGenPareto = 
  Compile[{{loc, _Real}, {scale, _Real}, {shape, _Real}},
   Module[
    {u},
    u = RandomReal[];
    loc + scale*(u^(-shape) - 1)/shape
    ],
   CompilationTarget -> "C", RuntimeAttributes -> {Listable}
   ];

to generate random numbers from the distribution. The above assumes you have a C compiler on your computer to speed up things.

POSTED BY: Asim Ansari

Dear Asim, thanks a lot for the answer. Regards, Ruben

   CDF[ParetoDistribution[\[Sigma], 1/\[Xi], \[Gamma], \[Mu]], x]

gives the CDF as it says under 'Characterization' on the Wikipedia page. You can use RandomVariate to create random numbers based on this distribution.

POSTED BY: Sander Huisman
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract