Generating random numbers from Alpha-stable pdf which expends in time (in a loop)

4 visualizzazioni (ultimi 30 giorni)
I asked first on another site, decided to ask here because I go no answers.
The following line of Matlab code generates 100000 random numbers from an Alpha-stable pdf (here Alpha=0.5):
Rand = random('Stable',0.5,0,1,0,[1,100000]);
The distribution of Rand exactly matches the the 'theoretical' curve generated by
PDF = makedist('Stable','alpha',0.5,'beta',0,'gam',1,'delta',0);
x = -5:.1:5;
PDF = pdf(PDF,x);
figure
plot(x,PDF,'r-.');
(to check, use, e.g.:)
Data=Rand;
Middle=0.01;
PosBinsUP=10.^(log10(Middle):0.05:log10(max(abs(Data))));
PosBinsDown=10.^(log10(Middle):0.05:log10(abs(min(Data))));
xbins=[-flip(PosBinsDown) -Middle:0.2:Middle PosBinsUP];
[xpdf ypdf]= plotpdfc(Data, xbins);
plot(xpdf(1:end-1),ypdf(1:end-1),'Or');
xlim([-5,5]);
My question is:
How do I generate these Rands in a loop over 't', such that their distribution will expand in time, namely P(Rand) = t^(-1/Alpha) W(Rand/ t^(1/Alpha))?
  4 Commenti
Erez
Erez il 15 Apr 2020
@ Jeff Miller I still don't see how ths could would make my PDF change with time. I want that different iterations of the loop over t will yields a broader PDF, corresponding to the sum of IID random numbers of where the number of summands is growing, and the Levy-generalized central limit theorem.
Of course, I could actually just sum random numbers, to get the PDF. But I am looking for a more direct way to obtain them, using the Matlab function above.
Thanks!
Jeff Miller
Jeff Miller il 16 Apr 2020
Sorry, I don't really understand this distribution, so I don't have anything useful to contribute. It just seems that if you want a random number from the stable distribution at each t, then your only option is to adjust the stable's parameter values to be whatever you want for each t.

Accedi per commentare.

Risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by