Module: Darkext::Statistics

Defined in:
lib/darkext/statistics.rb

Defined Under Namespace

Modules: Regression

Class Method Summary collapse

Class Method Details

.prob(z) ⇒ Object

Finds the probability of a z-score



118
119
120
121
122
# File 'lib/darkext/statistics.rb', line 118

def self.prob(z)
  p = Math::erf(z.abs/2.sqrt) / 2
  return 0.5 + p if 0 < z
  return 0.5 - p
end

.zscore(p, epsilon = 0.00000000000001) ⇒ Object

Finds the zscore of a probability



125
126
127
128
129
130
131
132
133
134
135
136
# File 'lib/darkext/statistics.rb', line 125

def self.zscore(p, epsilon = 0.00000000000001)
  return -1 if (1 < p || 0 > p)
  minz, maxz = -6, 6
  zscore = 0.5
  prob = 0
  while (maxz - minz) > epsilon
    prob = prob(zscore)
    prob > p ? maxz = zscore : minz = zscore
    zscore = (maxz + minz) * 0.5
  end
  return zscore
end