Would you tell me the code for Fisher Pearson skewness?
8 views (last 30 days)
Show older comments
Would you tell me the code for Fisher Pearson skewness?
How can I get the skewness with Fisher Pearson formula..?
0 Comments
Accepted Answer
David Goodmanson
on 21 Sep 2022
Edited: David Goodmanson
on 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.
0 Comments
More Answers (1)
Walter Roberson
on 20 Sep 2022
FPskewness = sum(x - mean(x)) / numel(x) / std(x).^3
You would need to be more rigourous if you wanted to handle non-vectors.
4 Comments
John D'Errico
on 21 Sep 2022
Jeff is correct. Skewness would be a scaled (normalized) 3rd central moment, so there MUST be a cube in there.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!