A bug in pearsrnd?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ulrik William Nash
am 7 Nov. 2018
Bearbeitet: John D'Errico
am 7 Nov. 2018
With the following values for mean, std, skewness, and kurtosis, pearsrnd stalls without warning:
mean = -9.0000e-08 std = 0.6400 skewness = 2.2500e-19 kurtosis = 3.0000
Is it just my system, or do other people experience the same event?
2 Kommentare
David Goodmanson
am 7 Nov. 2018
Bearbeitet: David Goodmanson
am 7 Nov. 2018
Hi Ulrik,
Works for me in version 2017b. But it does have some interesting behavior. For your four parameter values with the minuscule but nonzero value of skewness,
[a b] = pearsrnd(mean,std,skewness,kurtosis,1,10)
gives 10 identical draws that all equal the mean, and pearson type 3. If you change the skewness to 0, the function gives sensible values for the draws and pearson type 0 (normal distribution) as it should.
Akzeptierte Antwort
John D'Errico
am 7 Nov. 2018
Bearbeitet: John D'Errico
am 7 Nov. 2018
I'm not amazed. These things can be tricky. Looks like pearsrnd is tripping over the very near zero skewness.
X = pearsrnd(-9.0000e-08,0.6400,0, 3.0000,1,10)
X =
Columns 1 through 7
-0.66873960681121 0.271599778145953 0.316496827107004 -0.557976990199874 -0.0679667761010375 -0.00640246071921475 -0.322436885401314
Columns 8 through 10
0.143696162106232 -0.024154191418116 -0.148957358392865
X = pearsrnd(-9.0000e-08,0.6400,2.25e-19, 3.0000,1,10)
X =
Columns 1 through 7
-9e-08 -9e-08 -9e-08 -9e-08 -9e-08 -9e-08 -9e-08
Columns 8 through 10
-9e-08 -9e-08 -9e-08
Yet, we see this, if we make the skewness a bit larger.
X = pearsrnd(-9.0000e-08,0.6400,2.25e-8, 3.0000,1,10)
X =
Columns 1 through 7
0.106139493587646 -0.217350258228149 -0.758287810680237 -1.06893690049347 0.127482009533081 -0.661103934642639 0.233781877163086
Columns 8 through 10
0.858859763744507 0.170714274051819 0.595377956035767
So it seems to be working properly here again. The way these things work is they test the parameters, depending on where they live, you get a different distribution. But some of those distributions can be rather nasty as I recall. So it looks like pearsrnd is getting stuck in a rabbit hole, depending on the value of skewness. Technically, a bug I guess, worth reporting as such.
The speed differential is not a bug though, just a feature. ;-)) Again, when you change parameters, the underlying distribution must some times change. And some distributions are MUCH, MUCH simpler to sample from. (One of the flaws with distribution systems like Pearson and Johnson families.)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!