# Would you tell me the code for Fisher Pearson skewness?

2 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.

##### 5 Comments

John D'Errico
on 21 Sep 2022

Sim
on 27 Nov 2023

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

scalc = (sum((y - m).^3) / numel(y)) / var(y,1)^(3/2) % David Goodmanson solution

FPskewness = sum(y - mean(y)) / numel(y) / std(y).^3 % Walter Roberson solution

### See Also

### Categories

### Products

### Community Treasure Hunt

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

Start Hunting!