prubybility 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/prubybility/bernoulli.rb +9 -1
- data/lib/prubybility/binomial.rb +9 -2
- data/lib/prubybility/negative_binomial.rb +6 -2
- data/lib/prubybility/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bbbe8171683ce2fd73afc9b30b52f62af59b70135bf7aa8306eb829d6d80b1c
|
4
|
+
data.tar.gz: 7f5d6a013cf1644885fb6ec32429de5af5bb4cba5f52f747b981c67082d8fd66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d18db739299deaae19611265bff16eaec0c140df5ca8a852f48208e7ceb17a32f86544ebd9871eb41792db43cf46ce28a994540d3d350b880bf9966261eff6e8
|
7
|
+
data.tar.gz: 50b7fe673335ad374cdc05faf9c927af7d3bc0d2e9062b56481397951ec2d2f1bf55f66aec95e1830cd960b37366e97197d058628f76c30822121f51392eada5
|
@@ -10,9 +10,17 @@ module Prubybility
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def p(var)
|
13
|
-
return
|
13
|
+
return unless valid_value?(var)
|
14
14
|
|
15
15
|
(theta**var) * (1 - theta)**(1 - var)
|
16
16
|
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def valid_value?(var)
|
21
|
+
return false unless var.is_a? Integer
|
22
|
+
return false unless var == 0 || var == 1
|
23
|
+
true
|
24
|
+
end
|
17
25
|
end
|
18
26
|
end
|
data/lib/prubybility/binomial.rb
CHANGED
@@ -16,8 +16,9 @@ module Prubybility
|
|
16
16
|
@variance = @n * @theta * (1 - @theta)
|
17
17
|
end
|
18
18
|
|
19
|
-
def p(
|
20
|
-
|
19
|
+
def p(number_of_successes)
|
20
|
+
return unless valid_value?(number_of_successes)
|
21
|
+
choose(number_of_successes) * (theta**number_of_successes) * ((1 - theta)**(n - number_of_successes))
|
21
22
|
end
|
22
23
|
|
23
24
|
private
|
@@ -26,6 +27,12 @@ module Prubybility
|
|
26
27
|
Prubybility::Combinations.choose(n, var)
|
27
28
|
end
|
28
29
|
|
30
|
+
def valid_value?(var)
|
31
|
+
return unless var.is_a? Integer
|
32
|
+
return unless var > 0 && var <= n
|
33
|
+
true
|
34
|
+
end
|
35
|
+
|
29
36
|
attr_writer :n, :theta, :expected_value, :variance
|
30
37
|
end
|
31
38
|
end
|
@@ -19,11 +19,15 @@ module Prubybility
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def p(var)
|
22
|
-
choose(var
|
22
|
+
choose(var) * (theta**k) * ((1 - theta)**(var - k))
|
23
23
|
end
|
24
24
|
|
25
25
|
private
|
26
26
|
|
27
|
-
|
27
|
+
def choose(var)
|
28
|
+
Prubybility::Combinations.choose(var -1, k - 1)
|
29
|
+
end
|
30
|
+
|
31
|
+
attr_writer :k, :theta, :expected_value, :variance
|
28
32
|
end
|
29
33
|
end
|
data/lib/prubybility/version.rb
CHANGED