Des conseils pratiques, s'il vous plaît.

 

Question : Comment évaluer correctement les résultats ?

L'erreur de chaque module est donnée en pourcentage. 0% est le résultat idéal.

________________ PARAMÈTRES ________________ Mod 1 Mod 2 Mod 3 Mode 4 Mode 5 (vi) mod 6 (vi) Mode 7 (vi) Mode 8 (vi) Mod 9 (vi) Mod 10 (vi) Mod 11 (vi) Mod 12 (viii) mod 13 (vi) 14 Mode 15 Erreur moyenne Des tentatives
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


Je voudrais que l'erreur de chaque module soit minimale, mais je voudrais aussi que la dispersion soit minimale.

 
Сергей Таболин:

Question : Comment évaluer correctement les résultats ?

L'erreur de chaque module est donnée en pourcentage. 0% est le résultat idéal.

________________ PARAMÈTRES ________________ Mod 1 Mod 2 Mod 3 Mode 4 Mode 5 (vi) mod 6 (vi) Mode 7 (vi) Mode 8 (vi) Mod 9 (vi) Mod 10 (vi) Mod 11 (vi) Mod 12 (viii) mod 13 (vi) 14 Mode 15 Erreur moyenne Des tentatives
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


Je veux que l'erreur de chaque module soit minimale, mais je veux aussi que l'écart soit minimal.

produit de logarithmes

ZS : pas vraiment sûr de ce qui est nécessaire, mais le logarithme permettra de traiter les erreurs de manière progressive, il donnera de meilleurs résultats dans les cas isolés (modules individuels). Et la multiplication est une tentative de réduire la dispersion
 
Alexandr Andreev:

produit de logarithmes

ZS : Je ne comprends pas vraiment ce qui est demandé, mais le logarithme permettra de traiter les erreurs de manière progressive, il donnera de meilleurs résultats dans les cas individuels (modules individuels). Et la multiplication est une tentative de réduire la propagation

Merci. Etconcrètement, comment ça se passe ?

 
Сергей Таболин:

Merci. Et comment cela se fait-ilconcrètement?

Probablement juste le produit de

Option1 ) Traduire chaque module dans le style (1-x%) et les multiplier..... la réponse est également soustraite de l'unité.

x% est la valeur de la cellule

Option 2

Avec les logarithmes, nous prenons simplement la valeur d'une cellule et nous comptons le logarithme à partir de celle-ci)))) plus la valeur est proche de zéro, plus l'évaluation est progressive, c'est-à-dire qu'avec une certaine base, 0,1 est mieux que 0,01 et 0,1 est mieux que 1. Il n'y aura qu'un paramètre de base pour le logarithme, ce qui vaut la peine de jouer avec.

 
Alexandr Andreev:

Un simple produit ferait l'affaire.

Option1 ) Traduire chaque module dans le style (1-x%) et les multiplier..... La réponse est également soustraite de l'unité.

x% est la valeur de la cellule

Option 2

Avec les logarithmes, nous prenons simplement la valeur d'une cellule et nous comptons le logarithme à partir de celle-ci)))) plus la valeur est proche de zéro, plus l'évaluation est progressive, c'est-à-dire qu'avec une certaine base, 0,1 est mieux que 0,01 et 0,1 est mieux que 1. Il n'y aura qu'un paramètre de base du logarithme avec lequel il vaut la peine de jouer.

Option 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


Qu'est-ce que ça me dit ?


Option 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


C'est le logarithme avec une base de 0,1.

Que dois-je en faire ?


J'ai essayé d'autres fonctions. Seulement, comment puis-je les comprendre aussi ? ....

STANDOTCLONE 7,8208
7,9133
8,4150
DISP.B 61,1650
62,6198
70,8128
QUADROTKL 856,3093
876,6772
991,3799
MEDIANA 6,3300
6,3300
5,0600
SCOS 1,1805
1,5197
1,3018
EXCESS 1,1322
1,9702
1,1832
 
Trouvez le maximum dans chaque ligne, puis sélectionnez la ligne avec le maximum minimum. Pardonnez le jeu de mots))
 
Dmitry Fedoseev:
Trouvez le maximum dans chaque ligne, puis choisissez la ligne avec le maximum minimum. Pardonnez le jeu de mots))

Maximum à la ligne 3, minimum à la ligne 1. И ? )))

 
Сергей Таболин:

Maximum à la ligne 3, minimum à la ligne 1. И ? )))

Choisissez la première ligne.

 
Сергей Таболин:

Option 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


Qu'est-ce que ça me dit ?


Option 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


C'est le logarithme avec une base de 0,1.

Que dois-je en faire ?


J'ai essayé d'autres fonctions. Mais comment puis-je les comprendre aussi ?

C'est une salope." L'erreur de chaque module est donnée en pourcentage. 0% est le résultat idéal" Le chiffre 1 signifie 100% - x% ou 1-X*0,01

 
@Sergey Tabolin @Sergey Tabolin
TOTAL
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

la deuxième ligne est la meilleure, et la première et la troisième sont très similaires

le total soustrait de l'unité, c'est-à-dire que plus le total est proche de 0, meilleurs sont les résultats..... en d'autres termes, les résultats obtenus jusqu'à présent ne sont pas très bons car 0,75 est votre 75, bien que cela dépende de ce à quoi on le compare..... le pire score serait 1 (100%) le meilleur score 0

Vous devez comprendre qu'un score de 90 est dix fois meilleur qu'un score de 99..... un score de 99 est dix fois meilleur qu'un score de 99,9... 100 n'est en fait possible que si tous les modules ont un score d'erreur de 100... C'est-à-dire qu'une note de 0,1 est dix fois pire qu'une note de 0,01. Dans le même temps, une note de 10 est dix fois pire qu'une note de 1.



avec le logarithme sur think..... la réponse devrait être exclusivement des valeurs positives... généralement un logarithme de 1,1... dans la plage de 1 à 2, et non de 0 à 1.... s'ils veulent augmenter le nombre et à partir de 2 s'ils veulent le diminuer progressivement


La méthode de la déviation quadratique est définitivement hors de question. Comme tous les autres qui comptent les déviations. Car idéalement, l'écart quadratique d'une régression linéaire devrait être utilisé pour comprendre la variance. Mais nous obtenons alors une estimation de ces écarts sans aucune moyenne des chiffres eux-mêmes......

 
Сергей Таболин:

Question : Comment évaluer correctement les résultats ?

L'erreur de chaque module est donnée en pourcentage. 0% est le résultat idéal.

________________ PARAMÈTRES ________________ Mod 1 Mod 2 Mod 3 Mode 4 Mode 5 (vi) Mode 6 (vi) Mode 7 (vi) Mode 8 (vi) Mod 9 (vi) Mod 10 (vi) Mod 11 (vi) Mod 12 (viii) mod 13 (vi) 14 Mode 15 Erreur moyenne Des tentatives
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


Je veux que l'erreur de chaque module soit minimale, mais je veux aussi que la dispersion soit minimale.

Il est probablement préférable d'obtenir la somme des carrés pour les erreurs du module, et d'extraire la racine.
Ainsi, nous obtiendrons l'estimation de l'erreur totale du module.
Plus cette valeur est proche de zéro, mieux c'est.
Donc ça se passe comme ça.

//+------------------------------------------------------------------+
//|                                                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

L'estimation montre que Mod5 a la plus petite erreur.

Raison: