debian-mirror-gitlab/ruby-statistics/lib/statistics/distribution/empirical.rb
2019-10-03 23:17:56 +05:30

26 lines
612 B
Ruby

module Statistics
module Distribution
class Empirical
attr_accessor :samples
def initialize(samples:)
self.samples = samples
end
# Formula grabbed from here: https://statlect.com/asymptotic-theory/empirical-distribution
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_f
end
end
end
end