experiments = {
const data = [];
const raw = _.values(dataInputs).map(p => p / 100);
for (let i = 0; i < raw.length; ++i) {
const result = raw[i];
const previousResult = i ? data[i - 1].weightedResult : 0;
const relativeResult = result / x;
let reliability = 0;
if (i) {
reliability = 0.1;
if (relativeResult >= 2) {
reliability = 0.9;
} else if (relativeResult >= 1) {
reliability = 0.7;
} else if (relativeResult >= 0.5) {
reliability = 0.3;
}
}
let weightedResult = 0;
if (result) {
weightedResult = 0.1;
if (i) {
weightedResult = result
? (previousResult * reliability) /
(previousResult * reliability +
(1 - previousResult) * (1 - reliability))
: 0;
}
}
let verdict = 0;
if (weightedResult >= 0.8) {
verdict = 0.9;
} else if (weightedResult >= 0.6) {
verdict = 0.7;
} else if (weightedResult >= 0.4) {
verdict = 0.5;
} else if (weightedResult >= 0.2) {
verdict = 0.3;
} else if (weightedResult) {
verdict = 0.1;
}
data.push({
result,
relativeResult,
reliability,
weightedResult,
verdict
});
}
return data;
}