({{, (RefLink[CompoundPoissonProcess, paclet:ref/CompoundPoissonProcess])[λ,jdist] 
represents a compound Poisson process with rate parameter λ and jump size distribution jdist.}})

OpenersNotesSection(Spacer1)Details

(RefLink[CompoundPoissonProcess, paclet:ref/CompoundPoissonProcess]) is also known as cumulative Poisson process or Poisson cluster process.

(RefLink[CompoundPoissonProcess, paclet:ref/CompoundPoissonProcess]) is a continuous-time and continuous-state or discrete-state random process depending on jdist.

The state at time t is given by (∑_(i=1)^(n(t)))(Subscript[x, i]), where the (Subscript[x, i]) are independent and identically distributed random variables following jdist and n follows (RefLink[PoissonProcess, paclet:ref/PoissonProcess])[λ].

The parameter λ can be any positive real number and jdist can be any univariate distribution.

(RefLink[CompoundPoissonProcess, paclet:ref/CompoundPoissonProcess]) can be used with such functions as (RefLink[Mean, paclet:ref/Mean]), (RefLink[Variance, paclet:ref/Variance]), and (RefLink[RandomFunction, paclet:ref/RandomFunction]).

OpenersPrimaryExamplesSection(Spacer1)Examples  (17)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Simulate a compound Poisson process with an exponential jump size distribution:

𝒫=CompoundPoissonProcess[.8,ExponentialDistribution[2]];

data=RandomFunction[𝒫,{20}]

ListStepPlot[data,Filling->Axis]

Mean and variance functions:

𝒫=CompoundPoissonProcess[λ,ExponentialDistribution[μ]];

Mean[𝒫[t]]

Variance[𝒫[t]]

OpenersExampleSection1(Spacer1)Scope  (8)

OpenersExampleSubsection0(Spacer1)Basic Uses  (4)

Simulate a compound Poisson process with discrete jumps:

𝒫=CompoundPoissonProcess[1.3,GeometricDistribution[.4]];

data=RandomFunction[𝒫,{30},3]

ListStepPlot[data,Filling->Axis]

Simulate a compound Poisson process with continuous jumps:

𝒫=CompoundPoissonProcess[2,NormalDistribution[0,2]];

data=RandomFunction[𝒫,{30},3]

ListStepPlot[data,Filling->Axis]

Compare a compound Poisson process for different renewal rates:

proc[λ_]:=CompoundPoissonProcess[λ,WeibullDistribution[.2,.3]];

data=Table[RandomFunction[proc[λ],{300}],{λ,pars={.7,1,2}}];

ListStepPlot[data,PlotLegends->(StringJoin["λ = ",ToString[#]]&/@pars)]

Process parameter estimation:

sample=RandomFunction[CompoundPoissonProcess[3,GammaDistribution[2,5]],{1,10^3}];

Estimate the distribution parameters from sample data:

EstimatedProcess[sample, CompoundPoissonProcess[m,GammaDistribution[a,b]]]

OpenersExampleSubsection1(Spacer1)Process Slice Properties  (4)

Slice distribution is a (RefLink[CompoundPoissonDistribution, paclet:ref/CompoundPoissonDistribution]):

CompoundPoissonProcess[λ,WeibullDistribution[a,b]][t]

CompoundPoissonProcess[λ,ZipfDistribution[a,b]][t]

Simulate a slice distribution:

𝒫=CompoundPoissonProcess[2,WeibullDistribution[2,3]];

data=RandomVariate[SliceDistribution[𝒫,7],10^3];

Histogram[data,20,"PDF"]

Slice distribution moments:

𝒫=CompoundPoissonProcess[2,WeibullDistribution[2,3]];

Mean function:

Plot[Mean[𝒫[t]],{t,0,10}]

Mean[𝒫[t]]

Variance function:

Plot[Variance[𝒫[t]],{t,0,10}]

Variance[𝒫[t]]

Skewness:

Skewness[𝒫[t]]

Kurtosis:

Kurtosis[𝒫[t]]

Slice distribution moments and generating functions:

𝒫=CompoundPoissonProcess[m,BinomialDistribution[n,p]];

Moment:

Moment[𝒫[t],3]

Moment generating function:

MomentGeneratingFunction[𝒫[t],x]

Cumulant:

Cumulant[𝒫[t],4]

Cumulant generating function:

CumulantGeneratingFunction[𝒫[t],x]

OpenersExampleSection3(Spacer1)Applications  (2)

Shoppers arrive at a newly renovated store according to a Poisson process with a rate of 20 customers per hour. The store promotes this event by giving every customer a gift. The gift has a value that follows a (RefLink[WeibullDistribution, paclet:ref/WeibullDistribution]) with shape parameter 10 and scale parameter 3. Simulate the cost of the gift process during the 12-hour period for which the store is open that day and find the expected total cost to the store:

giftProcess=CompoundPoissonProcess[20,WeibullDistribution[10,3]];

Simulate the process for 12 hours:

data = RandomFunction[giftProcess,{12},3];

ListStepPlot[data]

Expected total cost of the gifts given on the inaugural day:

Mean[giftProcess[12]]//N

Simulate gift cost distribution:

data1=RandomVariate[giftProcess[12],10^4];

Probability density function of cost distribution:

Histogram[data1,50,"PDF"]

Empirical probability that the store spends between $500 and $800 on the gifts:

NProbability[500<p<800,p\[Distributed]data1]

Aggregate claims from a risk follow a compound Poisson process with Poisson parameter 200. The claim amount distribution is a Pareto distribution with minimum value parameter 300, shape parameter 3, and location parameter 0. The insurer has effected excess of loss reinsurance with retention level 300. Simulate the claims process for four years:

claimsProcess=CompoundPoissonProcess[200, TransformedDistribution[Max[0,x-300], x\[Distributed]ParetoDistribution[300,3,0]]];

ListStepPlot[RandomFunction[claimsProcess,{4},4]]

Slice distributions for the first four years:

Histogram[Table[RandomVariate[claimsProcess[t],5 10^3],{t,4}],150,"PDF",ChartLegends->(StringJoin["t = ",ToString[#]]&/@Range[4])]

Mean and variance of the reinsurer's aggregate claims for the first four years:

Table[Mean[claimsProcess[t]], {t,4}]

Table[Variance[claimsProcess[t]], {t,4}]

OpenersExampleSection4(Spacer1)Properties & Relations  (5)

(RefLink[CompoundPoissonProcess, paclet:ref/CompoundPoissonProcess]) is a jump process:

path=RandomFunction[CompoundPoissonProcess[2,StudentTDistribution[5]],{0,10}];
f=path["PathFunction"];
jumps=path["PathTimes",1];

Plot[f[t],{t,0,10},Exclusions->jumps,ExclusionsStyle->Red]

The renewal rate λ controls the frequency of the jumps:

𝒫[λ_]=CompoundPoissonProcess[λ,NormalDistribution[]];

pars={.1,.5,3};
data =TemporalData@ Table[RandomFunction[𝒫[λ],{1,100}],{λ,pars}];

ListStepPlot[data,PlotLegends->(StringJoin["λ = ", ToString[#]]&/@pars)]

Compound Poisson process is not weakly stationary:

WeakStationarity[CompoundPoissonProcess[4,PascalDistribution[3,.4]]]

Slice of compound Poisson process with (RefLink[NormalDistribution, paclet:ref/NormalDistribution]) is normal:

dist[μ_,σ_]:=NormalDistribution[μ,σ]

sample=RandomVariate[CompoundPoissonProcess[4,dist[0,1]][5],10^3];

Compare to the PDF of the sum of n normal variates where n is the mean of the Poisson distribution:

Show[Histogram[sample,30,"PDF"],Plot[PDF[dist[0,Sqrt[5*4*1]],x],{x,-15,15},PlotStyle->Thick]]

Slice of compound Poisson process with (RefLink[BernoulliDistribution, paclet:ref/BernoulliDistribution]) follows (RefLink[BinomialDistribution, paclet:ref/BinomialDistribution]):

dist[p_]:=BernoulliDistribution[p]

sample=RandomVariate[CompoundPoissonProcess[1,dist[.3]][100],10^3];

Compare to the PDF of the sum of n binomial variates, where n is the mean of the Poisson distribution:

Show[Histogram[sample,30,"PDF"],DiscretePlot[PDF[BinomialDistribution[100*1,.3],x],{x,0,50},PlotStyle->PointSize[Medium]]]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[PoissonProcess, paclet:ref/PoissonProcess])  ▪  (RefLink[RenewalProcess, paclet:ref/RenewalProcess])  ▪  (RefLink[CompoundRenewalProcess, paclet:ref/CompoundRenewalProcess])  ▪  (RefLink[InhomogeneousPoissonProcess, paclet:ref/InhomogeneousPoissonProcess])  ▪  (RefLink[TransformedDistribution, paclet:ref/TransformedDistribution])  ▪  (RefLink[CompoundPoissonDistribution, paclet:ref/CompoundPoissonDistribution])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Actuarial Computation, paclet:guide/ActuarialComputation])}, {▪(RefLinkPlain[Derived Random Processes, paclet:guide/DerivedRandomProcesses])}, {▪(RefLinkPlain[Parametric Random Processes, paclet:guide/ParametricRandomProcesses])}, {▪(RefLinkPlain[Finite Markov Processes, paclet:guide/MarkovProcesses])}})}})