class ActiveRecord::Relation
Constants
- BETA
- EPS
Public Instance Methods
compute_elastic_sensitivity(c, k, k_square, n)
click to toggle source
# File lib/rails_elastic_sensitivity.rb, line 93 def compute_elastic_sensitivity(c, k, k_square, n) max = 0 n = 0 if k_square == 0 # MAX value is when k == 0 (0..n).each do |i| temp = (Math::E ** (-BETA*i)) * ((k_square * i **2 ) + (i * k) + c ) max = temp if temp > max end max end
elastic_count()
click to toggle source
# File lib/rails_elastic_sensitivity.rb, line 84 def elastic_count es = Rails.cache.read("now_es") ture_result = self.count n = es.main_t.count elastic_sensitivity = compute_elastic_sensitivity(es.c, es.k, es.k_square, n) laplace_noise_scale = (2 * elastic_sensitivity) / EPS (ture_result + laplace(laplace_noise_scale)).abs end
laplace(scale)
click to toggle source
# File lib/rails_elastic_sensitivity.rb, line 105 def laplace(scale) u = 0.5 - rand(0.0..1.0) -(u <=> 0.0) * scale * Math.log(1 - (2 * (u).abs)) end