ruby-statistics 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d33cf13ba623ecbb23488499a13a52c75c906b3eb258e7b146b628d10a84de89
4
- data.tar.gz: a075adb8960b0906cd276a138e70fd3bc76c738d9ed70afac08d57ccd50d86b3
3
+ metadata.gz: 848fec0cdedc0a7bbf7e0b9a0b76dc51c977a2af07e10e939eafea73a2d40c04
4
+ data.tar.gz: 57b11ee97d5d6ef128f5ed080a0d4e6c98be97fb2845c34eed1b6363e25d98a9
5
5
  SHA512:
6
- metadata.gz: '0799701996d9c3496e35b9f2f73024c359bbc263c3e34995b047bbbda1c0acff8b1ae5bf323bd3f2fd1901bb9eb3331271ccbd2fc16d6911d179644a8ad1878f'
7
- data.tar.gz: fe31571ab416c16b9832a4dff937e583c41a67b58a4676315f5cbde7720773cbb705b35973e16ef3e002cc542ea7b947e4a93157ae1ea09fecaa0950ecea7ab1
6
+ metadata.gz: fc5f0624271c87842e7e0de7f82c662fa8115ab5bff7b0d834c1771b30c18ee5f7d699ae3579c1eb2a472a103ee33d66606ca134e3f6a1d2cbe6a54cc97221a8
7
+ data.tar.gz: eed125d00807ece033d3c29498f6df9d727fc117d06e73aca10af2ce0fedccebf76835a36a9fcacd610d6647e4903d7b4a98ac67e0accb7c24af5ecfd6967f96
@@ -4,4 +4,5 @@ rvm:
4
4
  - 2.3.7
5
5
  - 2.4.4
6
6
  - 2.5.1
7
- before_install: gem install bundler
7
+ - 2.6.0
8
+ before_install: gem update --system && gem install bundler
@@ -79,5 +79,61 @@ module Statistics
79
79
  euler/Math.sqrt(2 * Math::PI)
80
80
  end
81
81
  end
82
+
83
+ # Inverse Standard Normal distribution:
84
+ # References:
85
+ # https://en.wikipedia.org/wiki/Inverse_distribution
86
+ # http://www.source-code.biz/snippets/vbasic/9.htm
87
+ class InverseStandardNormal < StandardNormal
88
+ A1 = -39.6968302866538
89
+ A2 = 220.946098424521
90
+ A3 = -275.928510446969
91
+ A4 = 138.357751867269
92
+ A5 = -30.6647980661472
93
+ A6 = 2.50662827745924
94
+ B1 = -54.4760987982241
95
+ B2 = 161.585836858041
96
+ B3 = -155.698979859887
97
+ B4 = 66.8013118877197
98
+ B5 = -13.2806815528857
99
+ C1 = -7.78489400243029E-03
100
+ C2 = -0.322396458041136
101
+ C3 = -2.40075827716184
102
+ C4 = -2.54973253934373
103
+ C5 = 4.37466414146497
104
+ C6 = 2.93816398269878
105
+ D1 = 7.78469570904146E-03
106
+ D2 = 0.32246712907004
107
+ D3 = 2.445134137143
108
+ D4 = 3.75440866190742
109
+ P_LOW = 0.02425
110
+ P_HIGH = 1 - P_LOW
111
+
112
+ def density_function(_)
113
+ raise NotImplementedError
114
+ end
115
+
116
+ def random(elements: 1, seed: Random.new_seed)
117
+ raise NotImplementedError
118
+ end
119
+
120
+ def cumulative_function(value)
121
+ return if value < 0.0 || value > 1.0
122
+ return -1.0 * Float::INFINITY if value.zero?
123
+ return Float::INFINITY if value == 1.0
124
+
125
+ if value < P_LOW
126
+ q = Math.sqrt((Math.log(value) * -2.0))
127
+ (((((C1 * q + C2) * q + C3) * q + C4) * q + C5) * q + C6) / ((((D1 * q + D2) * q + D3) * q + D4) * q + 1.0)
128
+ elsif value <= P_HIGH
129
+ q = value - 0.5
130
+ r = q ** 2
131
+ (((((A1 * r + A2) * r + A3) * r + A4) * r + A5) * r + A6) * q / (((((B1 * r + B2) * r + B3) * r + B4) * r + B5) * r + 1.0)
132
+ else
133
+ q = Math.sqrt((Math.log(1 - value) * -2.0))
134
+ - (((((C1 * q + C2) * q + C3) * q + C4) * q + C5) * q + C6) / ((((D1 * q + D2) * q + D3) * q + D4) * q + 1)
135
+ end
136
+ end
137
+ end
82
138
  end
83
139
  end
@@ -1,3 +1,3 @@
1
1
  module Statistics
2
- VERSION = "2.1.0"
2
+ VERSION = "2.1.1"
3
3
  end
@@ -27,7 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_development_dependency "bundler",'~> 1.15', '>= 1.15.4'
31
30
  spec.add_development_dependency "rake", '~> 12.0', '>= 12.0.0'
32
31
  spec.add_development_dependency "rspec", '~> 3.6', '>= 3.6.0'
33
32
  spec.add_development_dependency "grb", '~> 0.4.1', '>= 0.4.1'
metadata CHANGED
@@ -1,113 +1,93 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-statistics
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - esteban zapata
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-31 00:00:00.000000000 Z
11
+ date: 2019-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.15'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 1.15.4
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '1.15'
30
17
  - - ">="
31
18
  - !ruby/object:Gem::Version
32
- version: 1.15.4
33
- - !ruby/object:Gem::Dependency
34
- name: rake
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
19
+ version: 12.0.0
37
20
  - - "~>"
38
21
  - !ruby/object:Gem::Version
39
22
  version: '12.0'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 12.0.0
43
23
  type: :development
44
24
  prerelease: false
45
25
  version_requirements: !ruby/object:Gem::Requirement
46
26
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '12.0'
50
27
  - - ">="
51
28
  - !ruby/object:Gem::Version
52
29
  version: 12.0.0
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '12.0'
53
33
  - !ruby/object:Gem::Dependency
54
34
  name: rspec
55
35
  requirement: !ruby/object:Gem::Requirement
56
36
  requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '3.6'
60
37
  - - ">="
61
38
  - !ruby/object:Gem::Version
62
39
  version: 3.6.0
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.6'
63
43
  type: :development
64
44
  prerelease: false
65
45
  version_requirements: !ruby/object:Gem::Requirement
66
46
  requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '3.6'
70
47
  - - ">="
71
48
  - !ruby/object:Gem::Version
72
49
  version: 3.6.0
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '3.6'
73
53
  - !ruby/object:Gem::Dependency
74
54
  name: grb
75
55
  requirement: !ruby/object:Gem::Requirement
76
56
  requirements:
77
- - - "~>"
57
+ - - ">="
78
58
  - !ruby/object:Gem::Version
79
59
  version: 0.4.1
80
- - - ">="
60
+ - - "~>"
81
61
  - !ruby/object:Gem::Version
82
62
  version: 0.4.1
83
63
  type: :development
84
64
  prerelease: false
85
65
  version_requirements: !ruby/object:Gem::Requirement
86
66
  requirements:
87
- - - "~>"
67
+ - - ">="
88
68
  - !ruby/object:Gem::Version
89
69
  version: 0.4.1
90
- - - ">="
70
+ - - "~>"
91
71
  - !ruby/object:Gem::Version
92
72
  version: 0.4.1
93
73
  - !ruby/object:Gem::Dependency
94
74
  name: byebug
95
75
  requirement: !ruby/object:Gem::Requirement
96
76
  requirements:
97
- - - "~>"
77
+ - - ">="
98
78
  - !ruby/object:Gem::Version
99
79
  version: 9.1.0
100
- - - ">="
80
+ - - "~>"
101
81
  - !ruby/object:Gem::Version
102
82
  version: 9.1.0
103
83
  type: :development
104
84
  prerelease: false
105
85
  version_requirements: !ruby/object:Gem::Requirement
106
86
  requirements:
107
- - - "~>"
87
+ - - ">="
108
88
  - !ruby/object:Gem::Version
109
89
  version: 9.1.0
110
- - - ">="
90
+ - - "~>"
111
91
  - !ruby/object:Gem::Version
112
92
  version: 9.1.0
113
93
  description: |-
@@ -180,8 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
160
  - !ruby/object:Gem::Version
181
161
  version: '0'
182
162
  requirements: []
183
- rubyforge_project:
184
- rubygems_version: 2.7.7
163
+ rubygems_version: 3.0.3
185
164
  signing_key:
186
165
  specification_version: 4
187
166
  summary: A ruby gem for som specific statistics. Inspired by the jStat js library.