module DescriptiveStatistics::Shape

Public Instance Methods

kurtosis() click to toggle source
# File lib/descriptive-statistics/shape.rb, line 10
def kurtosis
  return if length == 0
  return 0 if length == 1
  sum_quarted_deviation / ((length - 1) * quarted_standard_deviation.to_f)
end
skewness() click to toggle source
# File lib/descriptive-statistics/shape.rb, line 4
def skewness
  return if length == 0
  return 0 if length == 1
  sum_cubed_deviation / ((length - 1) * cubed_standard_deviation.to_f)
end

Private Instance Methods

cubed_standard_deviation() click to toggle source
# File lib/descriptive-statistics/shape.rb, line 23
def cubed_standard_deviation
  standard_deviation ** 3
end
quarted_standard_deviation() click to toggle source
# File lib/descriptive-statistics/shape.rb, line 32
def quarted_standard_deviation
  standard_deviation ** 4
end
sum_cubed_deviation() click to toggle source
# File lib/descriptive-statistics/shape.rb, line 18
def sum_cubed_deviation
  precalculated_mean = mean
  inject(0) {|sum, value| sum + (value - precalculated_mean) ** 3}
end
sum_quarted_deviation() click to toggle source
# File lib/descriptive-statistics/shape.rb, line 27
def sum_quarted_deviation
  precalculated_mean = mean
  inject(0) {|sum, value| sum + (value - precalculated_mean) ** 4}
end