Computing 4th cumulant of Gaussian variable
15 views (last 30 days)
Show older comments
I am trying to write a program to compute the 4th cumulant for a given array of numbers. For a test, I'm generating an array of numbers distributed as a Gaussian distribution. The expected 4th order cumulant is 0. However, I am getting a wildly oscillating value, wildly oscillating around 0. Here is the code, I have no idea what is going wrong (if anything):
function cu4 = fourthCumulantReal(a)
cu4 = moment(a,4) - 3*(moment(a,2))^2;
end
Test Data: fourthCumulantReal(normrnd[0,1,[1,50]])
0 Comments
Answers (1)
Chunru
on 19 Jun 2021
When number of samples is sufficiently large, the sample mean (your fucntion output) is approaching to the true expected value (0).
fourthCumulantReal(normrnd(0,1,[1,500000]))
function cu4 = fourthCumulantReal(a)
cu4 = moment(a,4) - 3*(moment(a,2))^2;
end
0 Comments
See Also
Categories
Find more on Descriptive Statistics and Visualization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!