Message Boards Message Boards

GROUPS:

Generating Random Numbers from a Generalized Pareto Distribution

Posted 3 years ago
4151 Views
|
3 Replies
|
1 Total Likes
|

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 3 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.

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.

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