class Statistics::Distribution::Empirical

Attributes

samples[RW]

Public Class Methods

new(samples:) click to toggle source
# File lib/statistics/distribution/empirical.rb, line 6
def initialize(samples:)
  self.samples = samples
end

Public Instance Methods

cumulative_function(x:) click to toggle source

Formula grabbed from here: statlect.com/asymptotic-theory/empirical-distribution

# File lib/statistics/distribution/empirical.rb, line 11
def cumulative_function(x:)
  cumulative_sum = samples.reduce(0) do |summation, sample|
    summation += if sample <= x
                   1
                 else
                   0
                 end

    summation
  end

  cumulative_sum / samples.size.to_r
end