field_test 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/ext/field_test/bayesian_ab.hpp +12 -29
- data/lib/field_test/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b7676acb9075e7701de0019e3c7ca18a0242db8c87348d024006ff787c42d13
|
4
|
+
data.tar.gz: 92849469d6ca65422ef3f2a1b77f08c7695d79fa336b463cedf3991770be15cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f21fa35a6f44d085bbbfbd15e8174e7dd7f8a0d411e3a584097d59793776a0c0bd783cb4a3d7fee7f07402190a1a61487e1be554492208536f375b3e1981c7f
|
7
|
+
data.tar.gz: aeb943baab224022931a634fa190bbb3837856b3f0ee956c919f1233c6c6796a5251216a65334cd34878487e5902a251e695722a8982a19ffca6711e1d6113cf
|
data/CHANGELOG.md
CHANGED
@@ -26,14 +26,11 @@ double prob_c_beats_a_and_b(int alpha_a, int beta_a, int alpha_b, int beta_b, in
|
|
26
26
|
|
27
27
|
double logbeta_ac_bc = logbeta(alpha_c, beta_c);
|
28
28
|
|
29
|
-
std::vector<double>
|
30
|
-
|
31
|
-
std::vector<double> logbeta_j_bb;
|
32
|
-
logbeta_j_bb.reserve(alpha_b);
|
29
|
+
std::vector<double> log_bb_j_logbeta_j_bb;
|
30
|
+
log_bb_j_logbeta_j_bb.reserve(alpha_b);
|
33
31
|
|
34
32
|
for (auto j = 0; j < alpha_b; j++) {
|
35
|
-
|
36
|
-
logbeta_j_bb.push_back(logbeta(1 + j, beta_b));
|
33
|
+
log_bb_j_logbeta_j_bb.push_back(log(beta_b + j) + logbeta(1 + j, beta_b));
|
37
34
|
}
|
38
35
|
|
39
36
|
double abc = beta_a + beta_b + beta_c;
|
@@ -48,7 +45,7 @@ double prob_c_beats_a_and_b(int alpha_a, int beta_a, int alpha_b, int beta_b, in
|
|
48
45
|
double sum_i = -log(beta_a + i) - logbeta(1 + i, beta_a) - logbeta_ac_bc;
|
49
46
|
|
50
47
|
for (auto j = 0; j < alpha_b; j++) {
|
51
|
-
total += exp(sum_i + logbeta_ac_i_j[i + j] -
|
48
|
+
total += exp(sum_i + logbeta_ac_i_j[i + j] - log_bb_j_logbeta_j_bb[j]);
|
52
49
|
}
|
53
50
|
}
|
54
51
|
|
@@ -61,24 +58,18 @@ double prob_d_beats_a_and_b_and_c(int alpha_a, int beta_a, int alpha_b, int beta
|
|
61
58
|
|
62
59
|
double logbeta_ad_bd = logbeta(alpha_d, beta_d);
|
63
60
|
|
64
|
-
std::vector<double>
|
65
|
-
|
66
|
-
std::vector<double> logbeta_j_bb;
|
67
|
-
logbeta_j_bb.reserve(alpha_b);
|
61
|
+
std::vector<double> log_bb_j_logbeta_j_bb;
|
62
|
+
log_bb_j_logbeta_j_bb.reserve(alpha_b);
|
68
63
|
|
69
64
|
for (auto j = 0; j < alpha_b; j++) {
|
70
|
-
|
71
|
-
logbeta_j_bb.push_back(logbeta(1 + j, beta_b));
|
65
|
+
log_bb_j_logbeta_j_bb.push_back(log(beta_b + j) + logbeta(1 + j, beta_b));
|
72
66
|
}
|
73
67
|
|
74
|
-
std::vector<double>
|
75
|
-
|
76
|
-
std::vector<double> logbeta_k_bc;
|
77
|
-
logbeta_k_bc.reserve(alpha_c);
|
68
|
+
std::vector<double> log_bc_k_logbeta_k_bc;
|
69
|
+
log_bc_k_logbeta_k_bc.reserve(alpha_c);
|
78
70
|
|
79
71
|
for (auto k = 0; k < alpha_c; k++) {
|
80
|
-
|
81
|
-
logbeta_k_bc.push_back(logbeta(1 + k, beta_c));
|
72
|
+
log_bc_k_logbeta_k_bc.push_back(log(beta_c + k) + logbeta(1 + k, beta_c));
|
82
73
|
}
|
83
74
|
|
84
75
|
double abcd = beta_a + beta_b + beta_c + beta_d;
|
@@ -89,22 +80,14 @@ double prob_d_beats_a_and_b_and_c(int alpha_a, int beta_a, int alpha_b, int beta
|
|
89
80
|
logbeta_bd_i_j_k.push_back(logbeta(alpha_d + i, abcd));
|
90
81
|
}
|
91
82
|
|
92
|
-
std::vector<double> sum_i_j;
|
93
|
-
sum_i_j.reserve(alpha_a * alpha_b);
|
94
83
|
for (auto i = 0; i < alpha_a; i++) {
|
95
84
|
double sum_i = -log(beta_a + i) - logbeta(1 + i, beta_a) - logbeta_ad_bd;
|
96
85
|
|
97
86
|
for (auto j = 0; j < alpha_b; j++) {
|
98
|
-
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
for (auto i = 0; i < alpha_a; i++) {
|
103
|
-
for (auto j = 0; j < alpha_b; j++) {
|
104
|
-
double sum_j = sum_i_j[i * alpha_b + j];
|
87
|
+
double sum_j = sum_i - log_bb_j_logbeta_j_bb[j];
|
105
88
|
|
106
89
|
for (auto k = 0; k < alpha_c; k++) {
|
107
|
-
total += exp(sum_j + logbeta_bd_i_j_k[i + j + k] -
|
90
|
+
total += exp(sum_j + logbeta_bd_i_j_k[i + j + k] - log_bc_k_logbeta_k_bc[k]);
|
108
91
|
}
|
109
92
|
}
|
110
93
|
}
|
data/lib/field_test/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: field_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|