Would you tell me the code for Fisher Pearson skewness?

Would you tell me the code for Fisher Pearson skewness?
How can I get the skewness with Fisher Pearson formula..?

 Réponse acceptée

David Goodmanson
David Goodmanson le 21 Sep 2022
Modifié(e) : David Goodmanson le 21 Sep 2022
Hi Chris,
y = rand(1,100); % some data
m = mean(y);
n = numel(y);
scalc = (sum((y-m).^3)/n)/var(y,1)^(3/2)
s = skewness(y)
scalc agrees with Matlab's skewness function.
You have to be careful using the variance here (or the standard deviation). The var default is
sum((y-m)^2)/(n-1)
but for variance as used in Matlab's skewness function, you divide by n instead of (n-1). That means using var(y,1) rather than the default var(y). Same idea for std if that were used.

Plus de réponses (1)

FPskewness = sum(x - mean(x)) / numel(x) / std(x).^3
You would need to be more rigourous if you wanted to handle non-vectors.

5 commentaires

That doesn't look quite right since sum(x-mean(x)) equals 0. Maybe it should be this?
FPskewness = sum( (x - mean(x)).^3 ) / numel(x) / std(x)^3
You could be right; I do find a site that has the ^3 as you indicate. But the initial site I found (which I cannot seem to locate now) and https://www.itl.nist.gov/div898/software/dataplot/refman2/auxillar/skewness.htm define it as
OK, but surely that's wrong because the numerator of that g_1 is zero for any vector of x's.
Jeff is correct. Skewness would be a scaled (normalized) 3rd central moment, so there MUST be a cube in there.
Hi, what should be changed, in the @Walter Roberson formula, to make it correct? I do not understand...
y = rand(1,100); % some data
m = mean(y);
n = numel(y);
s = skewness(y) % matlab embedded function
s = -0.2898
scalc = (sum((y - m).^3) / numel(y)) / var(y,1)^(3/2) % David Goodmanson solution
scalc = -0.2898
FPskewness = sum(y - mean(y)) / numel(y) / std(y).^3 % Walter Roberson solution
FPskewness = -8.9461e-16

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by