Собственно вопрос: как правильно оценить результаты?
Ошибка каждого модуля приведена в процентах. 0% - идеальный результат.
________________ ПАРАМЕТРЫ ________________ | Мод 1 | Мод 2 | Мод 3 | Мод 4 | Мод 5 | Мод 6 | Мод 7 | Мод 8 | Мод 9 | Мод 10 | Мод 11 | Мод 12 | Мод 13 | Мод 14 | Мод 15 | Средняя ошибка | Из попыток |
2_48_24_2160_12_VECTOR_UP_HIDDEN_LAYERS_HAND | 4,43 | 17,09 | 15,82 | 2,53 | 0,63 | 17,72 | 28,48 | 5,70 | 13,29 | 5,70 | 8,23 | 6,33 | 0,63 | 3,16 | 6,96 | 9,11 | 158,00 |
2_48_24_2160_12_VECTOR_UP_HIDDEN_LAYERS_MT1 | 5,06 | 17,72 | 12,66 | 3,80 | 0,63 | 19,62 | 29,11 | 4,43 | 9,49 | 5,06 | 6,33 | 6,33 | 1,90 | 1,90 | 6,33 | 8,69 | 158,00 |
2_48_24_2160_12_VECTOR_UP_HIDDEN_LAYERS_MT2 | 4,43 | 20,25 | 16,46 | 4,43 | 0,63 | 17,72 | 29,75 | 6,33 | 5,06 | 8,23 | 10,13 | 5,06 | 0,63 | 1,27 | 4,43 | 8,99 | 158,00 |
Хочется чтобы была ошибка каждого модуля минимальна, но и разброс чтобы был минимален.
произведение логарифмов
ЗЫ: не очень понял что именно требуется, но логарифм позволит относиться к ошибкам прогрессивно, это даст более высокие результаты в единичных случаях (отдельных модулей). А перемножение - попытка уменьшить разброспроизведение логарифмов
ЗЫ: не очень понял что именно требуется, но логарифм позволит относиться к ошибкам прогрессивно, это даст более высокие результаты в единичных случаях (отдельных модулей). А перемножение - попытка уменьшить разбросСпасибо. А практически это как?
Спасибо. А практически это как?
Возможно пойдет просто произведение
Вриант1 ) Стоит перевести в стиль (1-x%) каждый модуль и их перемножить..... полученный ответ также вычесть из еденицы.
тут x% это значение ячейки
Вриант2
Ну а с логарифмами просто берем значение ячейки и считаем логарифм от него))) чем значение будет ближе к нулю тем выше прогресивность оценки т.е. при определенной настройки основания 0.1 будет лучше 0.01 так же как и 0.1 лучше 1. Будет только параметр основания логарифма с чем и стоит поиграться.
Возможно пойдет просто произведение
Вриант1 ) Стоит перевести в стиль (1-x%) каждый модуль и их перемножить..... полученный ответ также вычесть из еденицы.
тут x% это значение ячейки
Вриант2
Ну а с логарифмами просто берем значение ячейки и считаем логарифм от него))) чем значение будет ближе к нулю тем выше прогресивность оценки т.е. при определенной настройки основания 0.1 будет лучше 0.01 так же как и 0.1 лучше 1. Будет только параметр основания логарифма с чем и стоит поиграться.
Вариант 1
-3,43 | -16,09 | -14,82 | -1,53 | 0,37 | -16,72 | -27,48 | -4,70 | -12,29 | -4,70 | -7,23 | -5,33 | 0,37 | -2,16 | -5,96 | 10601305851,38 |
-4,06 | -16,72 | -11,66 | -2,80 | 0,37 | -18,62 | -28,11 | -3,43 | -8,49 | -4,06 | -5,33 | -5,33 | -0,90 | -0,90 | -5,33 | -6223799946,09 |
-3,43 | -19,25 | -15,46 | -3,43 | 0,37 | -16,72 | -28,75 | -5,33 | -4,06 | -7,23 | -9,13 | -4,06 | 0,37 | -0,27 | -3,43 | 1237520122,21 |
О чём это мне говорит?
Вариант 2
-0,64640373 | -1,23274206 | -1,19920648 | -0,40312052 | 0,200659451 | -1,24846372 | -1,45453998 | -0,75587486 | -1,12352498 | -0,75587486 | -0,91539984 | -0,80140371 | 0,200659451 | -0,49968708 | -0,84260924 |
-0,70415052 | -1,24846372 | -1,10243371 | -0,5797836 | 0,200659451 | -1,292699 | -1,46404221 | -0,64640373 | -0,97726621 | -0,70415052 | -0,80140371 | -0,80140371 | -0,2787536 | -0,2787536 | -0,80140371 |
-0,64640373 | -1,30642503 | -1,21642983 | -0,64640373 | 0,200659451 | -1,24846372 | -1,47348697 | -0,80140371 | -0,70415052 | -0,91539984 | -1,00560945 | -0,70415052 | 0,200659451 | -0,10380372 | -0,64640373 |
Это логарифм с основанием 0.1
Что с этим делать?
Я попробовал други функции. Только вот тоже как их понимать? ....
СТАНДОТКЛОН | 7,8208 |
7,9133 | |
8,4150 | |
ДИСП.В | 61,1650 |
62,6198 | |
70,8128 | |
КВАДРОТКЛ | 856,3093 |
876,6772 | |
991,3799 | |
МЕДИАНА | 6,3300 |
6,3300 | |
5,0600 | |
СКОС | 1,1805 |
1,5197 | |
1,3018 | |
ЭКСЦЕСС | 1,1322 |
1,9702 | |
1,1832 |
В каждой строке найти максимум, потом выбрать строку с минимальным максимумом. Простите за каламбурчик))
Максимальный максимум в 3 строке, минимальный максимум в первой. И? )))
Максимальный максимум в 3 строке, минимальный максимум в первой. И? )))
Выбирать первую строку.
Вариант 1
-3,43 | -16,09 | -14,82 | -1,53 | 0,37 | -16,72 | -27,48 | -4,70 | -12,29 | -4,70 | -7,23 | -5,33 | 0,37 | -2,16 | -5,96 | 10601305851,38 |
-4,06 | -16,72 | -11,66 | -2,80 | 0,37 | -18,62 | -28,11 | -3,43 | -8,49 | -4,06 | -5,33 | -5,33 | -0,90 | -0,90 | -5,33 | -6223799946,09 |
-3,43 | -19,25 | -15,46 | -3,43 | 0,37 | -16,72 | -28,75 | -5,33 | -4,06 | -7,23 | -9,13 | -4,06 | 0,37 | -0,27 | -3,43 | 1237520122,21 |
О чём это мне говорит?
Вариант 2
-0,64640373 | -1,23274206 | -1,19920648 | -0,40312052 | 0,200659451 | -1,24846372 | -1,45453998 | -0,75587486 | -1,12352498 | -0,75587486 | -0,91539984 | -0,80140371 | 0,200659451 | -0,49968708 | -0,84260924 |
-0,70415052 | -1,24846372 | -1,10243371 | -0,5797836 | 0,200659451 | -1,292699 | -1,46404221 | -0,64640373 | -0,97726621 | -0,70415052 | -0,80140371 | -0,80140371 | -0,2787536 | -0,2787536 | -0,80140371 |
-0,64640373 | -1,30642503 | -1,21642983 | -0,64640373 | 0,200659451 | -1,24846372 | -1,47348697 | -0,80140371 | -0,70415052 | -0,91539984 | -1,00560945 | -0,70415052 | 0,200659451 | -0,10380372 | -0,64640373 |
Это логарифм с основанием 0.1
Что с этим делать?
Я попробовал други функции. Только вот тоже как их понимать?
Этожж жжесть." Ошибка каждого модуля приведена в процентах. 0% - идеальный результат." цифра 1 имелось ввиду 100% - х% либо 1-Х*0.01
ИТОГ | ||||||||||||||||
0,9557 | 0,8291 | 0,8418 | 0,9747 | 0,9937 | 0,8228 | 0,7152 | 0,943 | 0,8671 | 0,943 | 0,9177 | 0,9367 | 0,9937 | 0,9684 | 0,9304 | 0,77439 | |
0,9494 | 0,8228 | 0,8734 | 0,962 | 0,9937 | 0,8038 | 0,7089 | 0,9557 | 0,9051 | 0,9494 | 0,9367 | 0,9367 | 0,981 | 0,981 | 0,9367 | 0,758606 | |
0,9557 | 0,7975 | 0,8354 | 0,9557 | 0,9937 | 0,8228 | 0,7025 | 0,9367 | 0,9494 | 0,9177 | 0,8987 | 0,9494 | 0,9937 | 0,9873 | 0,9557 | 0,771806 |
исходя из этого лучшая вторая строка, а первая с третей очень схожи
итог вычел из еденицы т.е. чем ближе к 0 итог тем лучше результаты..... другими словами пока что результаты не особо т.к. 0.75 это ваши 75, хотя смотря с чем сравнивать..... максимально плохая оценка будет 1 (100%) максимально хорошая 0
Надо понимать что оценка 90 в десять разу лучше чем оценка 99.... при это оценка 99 в десять разу лучше чем оценка 99.9... число 100 по факту возможно только когда у всех модулей будет оценка ошибки 100 ... тоже спроведливо и с другой стороны. т.е. оценка 0.1 в десять разу хуже чем оценка 0.01. При этом оценка 10 в десять раз хуже чем оценка 1.
с логарифмом над подумать..... в ответе должны быть исключительно положительные значения... обычно берут логарифм 1.1... в диапозоне от 1 до 2, а не от он 0 до 1.... если хотят увеличить число, и соотвественно от 2 если хотят его прогрессивно уменьшить
Способ квадратичноего отклонения точно не в тему. Как и всех других которые считают отклонения. Т.к. в идеале для того чтобы понять разницу разброса надо использоваться квадратичное отклонения от линейной регрессии. Но тогда получим оценку этих отклонения без какого либо среднего показателя самих чисел.....
Собственно вопрос: как правильно оценить результаты?
Ошибка каждого модуля приведена в процентах. 0% - идеальный результат.
________________ ПАРАМЕТРЫ ________________ | Мод 1 | Мод 2 | Мод 3 | Мод 4 | Мод 5 | Мод 6 | Мод 7 | Мод 8 | Мод 9 | Мод 10 | Мод 11 | Мод 12 | Мод 13 | Мод 14 | Мод 15 | Средняя ошибка | Из попыток |
2_48_24_2160_12_VECTOR_UP_HIDDEN_LAYERS_HAND | 4,43 | 17,09 | 15,82 | 2,53 | 0,63 | 17,72 | 28,48 | 5,70 | 13,29 | 5,70 | 8,23 | 6,33 | 0,63 | 3,16 | 6,96 | 9,11 | 158,00 |
2_48_24_2160_12_VECTOR_UP_HIDDEN_LAYERS_MT1 | 5,06 | 17,72 | 12,66 | 3,80 | 0,63 | 19,62 | 29,11 | 4,43 | 9,49 | 5,06 | 6,33 | 6,33 | 1,90 | 1,90 | 6,33 | 8,69 | 158,00 |
2_48_24_2160_12_VECTOR_UP_HIDDEN_LAYERS_MT2 | 4,43 | 20,25 | 16,46 | 4,43 | 0,63 | 17,72 | 29,75 | 6,33 | 5,06 | 8,23 | 10,13 | 5,06 | 0,63 | 1,27 | 4,43 | 8,99 | 158,00 |
Хочется чтобы была ошибка каждого модуля минимальна, но и разброс чтобы был минимален.
Наверно лучше получить сумму квадратов для ошибок модуля, и извлечь корень.
Тем самым получаем общую оценку ошибок модуля.
Чем ближе к нулю получается значение, тем лучше.
Как то так.
//+------------------------------------------------------------------+ //| EstimateError.mq5 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" double ModN[15][3] = {{4.43, 5.06, 4.43}, {17.09, 17.72, 20.25}, {15.82, 12.66, 16.46}, {2.53, 3.80, 4.43}, {0.63, 0.63, 0.63}, {17.72, 19.62, 17.72}, {28.48, 29.11, 29.75}, {5.70, 4.43, 6.33}, {13.29, 9.49, 5.06}, {5.70, 5.06, 8.23}, {8.23, 6.33, 10.13}, {6.33, 6.33, 5.06}, {0.63, 6.33, 0.63}, {3.16, 1.90, 1.27}, {6.96, 6.33, 4.43}}; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { double ModX[]; ArrayResize(ModX, 3); ZeroMemory(ModX); int num = 1; double est = 0.0; for(int i=0; i<15; i++) { for(int j=0; j<3; j++) { ModX[j] = ModN[i][j]; } est = EstimateError(ModX); PrintFormat("Mod"+(string)num+" EstimateError: %.3f", est); num++; } }// End OnStart //+------------------------------------------------------------------+ double EstimateError(double & arr[]) { int size = ArraySize(arr); if(size == 0 || size < 3) return(0.0); //double avg = ArrayMean(arr); double max = ArrayMax(arr); double min = ArrayMin(arr); double sum_sqr_e = 0.0; double est_e = 0.0; for(int i=0; i<size; i++) sum_sqr_e += MathPow(arr[i] - (max-min)/* или avg*/, 2.0) / (size - 2.0); est_e = MathSqrt(sum_sqr_e); return(est_e); } //+------------------------------------------------------------------- //Возвращает максимальное значение элементов массива double ArrayMax(double & arrIn[]) { uint size = ArraySize(arrIn); if(size == 0) return(0.0); double max = arrIn[0]; for(uint i=1; i<size; i++) if(arrIn[i] > max) max = arrIn[i]; return(max); } //-------------------------------------------------------------------- //Возвращает минимальное значение элементов массива double ArrayMin(double & arrIn[]) { uint size = ArraySize(arrIn); if(size == 0) return(0.0); double min = arrIn[0]; for(uint i=1; i<size; i++) if(arrIn[i] < min) min = arrIn[i]; return(min); } //-------------------------------------------------------------------- //Возвращает средне арефметическое значение элементов массива double ArrayMean(double & arrIn[]) { uint size = ArraySize(arrIn); if(size == 0) return(0.0); double sum = 0.0; for(uint i=0; i<size; i++) sum += arrIn[i]; return(sum/size); } //--------------------------------------------------------------------
2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod1 EstimateError: 6.965 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod2 EstimateError: 26.422 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod3 EstimateError: 19.577 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod4 EstimateError: 3.226 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod5 EstimateError: 1.091 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod6 EstimateError: 28.540 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod7 EstimateError: 48.234 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod8 EstimateError: 6.361 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod9 EstimateError: 6.102 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod10 EstimateError: 5.965 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod11 EstimateError: 8.130 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod12 EstimateError: 8.098 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod13 EstimateError: 7.198 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod14 EstimateError: 1.413 2020.06.07 04:59:23.227 EstimateError (AUDUSD,M5) Mod15 EstimateError: 6.138
Оценка показывает, что Mod5 имеет наименьшую ошибку.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Собственно вопрос: как правильно оценить результаты?
Ошибка каждого модуля приведена в процентах. 0% - идеальный результат.
Хочется чтобы была ошибка каждого модуля минимальна, но и разброс чтобы был минимален.