Мой текущий метод позволяет мне определить наиболее точный массив, но я не могу найти хороший способ отобразить информативные результаты.
Вот моя ситуация ...
Я сравниваю X количество целочисленных массивов с статическим целочисленным массивом. Для каждой позиции в массиве я вычисляю точность позиции результат, сравнивая с эквивалентной позицией в статическом массиве. После определения результата точности последнего положения массива я сохраняю сумму всех результатов точности для этого массива для последующего сравнения .
Как только сумма каждого массива всех результатов точности сохранена, они сравниваются друг с другом. Массив с наименьшей суммой считается наиболее точным .
Псевдокод ...
foreach (ComparableArray as SingleArray) {
for (i = 0; i < count(SingleArray); i++) {
AccuracyResults[SingleArray] += |StaticArray[i] - SingleArray[i]| / CONSTANT;
}
}
BestArray = AscendingSort(AccuracyResults)[0];
Точность определяется путем взятия абсолютного значения разности значения SingleArray из StaticArray и деления на некоторую константу. Если точность результат <1 </strong>, то результат считается точным. Если результат> 1 , то он неточен и results = 0 идеально.
Вот сценарий ... давайте для простоты воспользуемся двумя массивами
S = [56, 53, 50, 64]
A = [56, 54, 52, 64]
B = [54, 52, 51, 63]
Цикл каждого массива, начинающийся с A .
Сравните точность [1] для A ( 56 ) и S ( 56 ) для точности.
Определите точность (я буду использовать два для моей постоянной)
| 56-56 | = 0 , 0 / 2 = 0 ; Идеальная точность
Продолжайте сравнивать каждую позицию и вычислять точность
| 53-54 | = 1 , 1 / 2 = 0,5 ; Точность, потому что <= 1 </p>
| 50-52 | = 2 , 2 / 2 = 1 ; Точная
| 64-64 | = 0 ; Совершенная
Теперь вычислите сумму всех точных результатов для массива A
0 + 0,5 + 1 + 0 = 1,5
Если мы сделаем те же самые операции для массива B, конечный результат будет
1 + 0,5 + 0,5 + 0,5 = 2,5
Теперь, если мы сравним массив A с B, мы увидим, что массив A точнее , чем B, поскольку сумма ниже .
Проблема в 1,5 и 2,5 не очень значима, когда вы пытаетесь показать, насколько точнее А для B.
Какой будет лучший способ для отображения этих результатов?
Я думал об отображении процентов ... например, A на 17% лучше, чем B. Или BestArray на 6% лучше, чем в среднем.
Как бы я вычислил эти результаты?
Видите ли вы какие-либо логические проблемы в моем способе вычисления точности или знаете лучший способ?
Спасибо за любые идеи, которые вы можете предоставить!