If I have a set of samples, say 100-200 samples and I'd like to create the distribution model from this list of samples, what is a reasonably efficient way of doing it? Are there any opensource / easily accessible statistical libraries?
eg: if I assume it's a normal distribution, I can easily find the mean and variance and call it a day. However, the distribution might actually have non-negligible 3rd (skewness) or even 4th moment (Kurtosis) so my "assumption" is not very accurate. My gut feeling is this may work:
// assume samples already in samples[]
float avg = CalculateAverage(samples);
float variance = CalculateVariance(samples);
float skewness = CalculateSkewness(samples);
float kurtosis = CalculateKurtosis(samples);
string definedBy = "average, variance";
if(skewness > skewThreshold)
definedBy += ", skewness";
if(kurtosis > kurtosisThreshold)
definedBy += ", kurtosis";
Console.Writeline("This distribution is defined by " + definedBy);
So:
Q1: Will it achieve the purpose of classifying the distribution/creating the distribution model ?
Q2: What values of skewThreshold and kurtosisThreshold are reasonable?