Title: Statistics

  1. Mean, Standard Deviation and Variance
  2. Absolute deviation
  3. Higher moments (skewness and kurtosis)
  4. Autocorrelation
  5. Covariance
  6. Correlation
  7. Weighted samples
  8. Maximum and minimum values
  9. Median and percentiles
  10. Examples

1 Mean, Standard Deviation and Variance

GSL::Stats::mean(v)
GSL::Vector#mean
Arithmetic mean.
GSL::Stats::variance_m(v[, mean])
GSL::Vector#variance_m([mean])
Variance of v relative to the given value of mean.
GSL::Stats::sd(v[, mean])
GSL::Vector#sd([mean])
Standard deviation.
GSL::Stats::variance_with_fixed_mean(v, mean)
GSL::Vector#variance_with_fixed_mean(mean)
Unbiased estimate of the variance of v when the population mean mean of the underlying distribution is known a priori.
GSL::Stats::variance_with_fixed_mean(v, mean)
GSL::Vector#variance_with_fixed_mean(mean)
GSL::Stats::sd_with_fixed_mean(v, mean)
GSL::Vector#sd_with_fixed_mean(mean)
Unbiased estimate of the variance of v when the population mean mean of the underlying distribution is known a priori.

2 Absolute deviation

GSL::Stats::absdev(v[, mean])
GSL::Vector#absdev([mean])
Compute the absolute deviation (from the mean mean if given).

3 Higher moments (skewness and kurtosis)

GSL::Stats::skew(v[, mean, sd])
GSL::Vector#skew([mean, sd])
Skewness
GSL::Stats::kurtosis(v[, mean, sd])
GSL::Vector#kurtosis([mean, sd])
Kurtosis

4 Autocorrelation

GSL::Stats::lag1_autocorrelation(v[, mean])
GSL::Vector#lag1_autocorrelation([mean])
The lag-1 autocorrelation

5 Covariance

GSL::Stats::covariance(v1, v2)
GSL::Stats::covariance_m(v1, v2, mean1, mean2)
Covariance of vectors v1, v2.

6 Correlation

GSL::Stats::correlation(v1, v2)
This efficiently computes the Pearson correlation coefficient between the vectors v1, v2. (>= GSL-1.10)

7 Weighted samples

GSL::Vector#wmean(w)
GSL::Vector#wvariance(w)
GSL::Vector#wsd(w)
GSL::Vector#wabsdev(w)
GSL::Vector#wskew(w)
GSL::Vector#wkurtosis(w)

8 Maximum and Minimum values

GSL::Stats::max(data)
GSL::Vector#max
Return the maximum value in data.
GSL::Stats::min(data)
GSL::Vector#min
Return the minimum value in data.
GSL::Stats::minmax(data)
GSL::Vectorminmax
Find both the minimum and maximum values in data and returns them.
GSL::Stats::max_index(data)
GSL::Vector#max_index
Return the index of the maximum value in data. The maximum value is defined as the value of the element x_i which satisfies x_i >= x_j for all j. When there are several equal maximum elements then the first one is chosen.
GSL::Stats::min_index(data)
GSL::Vector#min_index
Returns the index of the minimum value in data. The minimum value is defined as the value of the element x_i which satisfies x_i >= x_j for all j. When there are several equal minimum elements then the first one is chosen.
GSL::Stats::minmax_index(data)
GSL::Vector#minmax_index
Return the indexes of the minimum and maximum values in data in a single pass.

9 Median and Percentiles

GSL::Stats::median_from_sorted_data(v)
GSL::Vector#median_from_sorted_data
Return the median value. The elements of the data must be in ascending numerical order. There are no checks to see whether the data are sorted, so the method GSL::Vector#sort should always be used first.
GSL::Stats::quantile_from_sorted_data(v)
GSL::Vector#quantile_from_sorted_data
Return the quantile value. The elements of the data must be in ascending numerical order. There are no checks to see whether the data are sorted, so the method GSL::Vector#sort should always be used first.

10 Example

#!/usr/bin/env ruby
require 'gsl'

ary =  [17.2, 18.1, 16.5, 18.3, 12.6]
data = Vector.alloc(ary)
mean     = data.mean()
variance = data.stats_variance()
largest  = data.stats_max()
smallest = data.stats_min()

printf("The dataset is %g, %g, %g, %g, %g\n",
       data[0], data[1], data[2], data[3], data[4]);

printf("The sample mean is %g\n", mean);
printf("The estimated variance is %g\n", variance);
printf("The largest value is %g\n", largest);
printf("The smallest value is %g\n", smallest);

prev next

Reference index top