Consejos prácticos, por favor. - página 5

 
Dmitry Fedoseev:
Mod. 1 Modo 2 Modo 3 Modo 4 Modo 5 (vi) Modo 6 (vi) Modo 7 (vi) Modo 8 (vi) Mod 9 (vi) Mod 10 (vi) Mod 11 (vi) Mod 12 (viii) mod 13 (vi) 14 Modo 15 Importe
4,43 1 17,09 1 15,82 2 2,53 1 0,63 1 17,72 1 28,48 1 5,70 2 13,29 3 5,70 2 8,23 2 6,33 2 0,63 1 3,16 3 6,96 3 23
5,06 2 17,72 2 12,66 1 3,80 2 0,63 1 19,62 2 29,11 2 4,43 1 9,49 2 5,06 1 6,33 1 6,33 2 1,90 2 1,90 2 6,33 2 26
4,43 1 20,25 3 16,46 3 4,43 3 0,63 1 17,72 1 29,75 3 6,33 3 5,06 1 8,23 3 10,13 3 5,06 1 0,63 1 1,27 1 4,43 1 29


La suma más baja es 23, eligiendo la primera fila.

Gracias, yo también tomaré nota.

Pero se trata de valores de error, ¿es fiable utilizar este método de estimación de la calificación?
En estadística, se utiliza principalmente la suma de cuadrados para estimar los errores.
Y la suma de cuadrados y la calificación tienen resultados diferentes, así que ¿en qué método confiar?

;))

¿En qué área matemática se utiliza el método de clasificación?
Para fumar este material y entender dónde se utiliza.
 

El método utilizado debe ser el que dé una solución satisfactoria al problema planteado. Al aplicar cualquier método, hay que entender lo que se hace y lo que se consigue.

Si no tienes ni idea de cuál debe ser un resultado satisfactorio, da igual el método que utilices.

 
Dmitry Fedoseev:

El método utilizado debe ser el que dé una solución satisfactoria al problema planteado. Al aplicar cualquier método, hay que entender lo que se hace y lo que se consigue.

Y si no hay una idea de lo que debe ser un resultado satisfactorio, da igual el método que se utilice.

Estoy de acuerdo en parte, pero en este caso estamos evaluando el valor del error en sí mismo y no su recurrencia en un módulo.
Este método es adecuado para evaluar valores repetitivos.
No creo que sea el método adecuado para evaluar los valores de error en sí.

 
Roman:

Estoy parcialmente de acuerdo, pero en este caso estamos evaluando el error en sí, no su recurrencia en un módulo.
Este método es adecuado para evaluar valores recurrentes.
No creo que sea el método adecuado para evaluar los valores de error en sí.

Si los valores son repetitivos, darán exactamente el mismo resultado que si se intercambian con 1, 2 y 3.

Lee el primer post de este hilo, allí el autor del hilo formuló su problema - sólo léelo, no te lo inventes.

 
Dmitry Fedoseev:

Si los valores son repetitivos, ellos mismos darán exactamente el mismo resultado que intercambiándolos por 1, 2, 3.

Lee el primer post de este hilo, donde el autor del hilo formuló su problema - sólo léelo, no te lo inventes.

Así que nadie se lo está inventando. Según entendí en el primer post, la tarea original era estimar la minimización del error.
Y el autor, en su tabla, incluso ha obtenido la media de todos los errores. Pero no le pareció práctico ni informativo.
La estimación de la minimización del error y la estimación de los valores de repetición son tareas diferentes.

 
Roman:

Así que nadie se lo está inventando. Según entendí en el primer post, el objetivo original era estimar la minimización del error.
Y el tópico incluso promedió todos los errores en su tabla. Pero no le pareció práctico ni informativo.
La estimación de la minimización del error y la estimación de los valores recurrentes son tareas diferentes.

No basta con utilizar la media, también hay que evitar un gran rebasamiento.

 
Dmitry Fedoseev:

No basta con tener una media, también hay que tener una tasa de expulsión baja.

y así el producto

 
Dmitry Fedoseev:

No basta con utilizar la media, sino que hay que evitar los grandes valores atípicos.

Entonces hay que preparar adicionalmente los datos de entrada, normalizarlos o estandarizarlos.
En mi ejemplo esto se tiene en cuenta mediante MathPow(arr[i] - (max-min)/* o avg*/, 2.0), y el producto se realiza mediante la función cuadrada.
Es decir, lo lleva a la segunda potencia, que corresponde al producto.

 

Ya que estamos hablando de normalización y estandarización, este alineamiento se aplica cuando los valores que se comparan deben ser llevados a la misma escala.
¿Qué quiere decir con "normalizar a la misma escala"?
Por ejemplo, cuando necesitamos comparar números como 81,500 y 1,13453 o 5200,1 o 27340, etc.
Es decir, los valores tienen un número diferente de dígitos después del número entero.
Para comparar estos datos o pasarlos a un modelo, si éste tiene varios signos, aplique la normalización o estandarización,
, para que el modelo calcule correctamente y produzca el cálculo correcto.
He escrito dichas funciones, si alguien las necesita, por favor, utilícelas.

//--------------------------------------------------------------------
//Возвращает максимальное значение элементов массива
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);
}

//--------------------------------------------------------------------
//Возвращает среднеквадратичное (стандартное) отклонение значений элементов массива
double ArrayStd(double & arrIn[])
{
   uint size = ArraySize(arrIn);
   if(size == 0) 
      return(0.0);   
   
   double sum  = 0.0; 
   double mean = ArrayMean(arrIn); 
          
   for(uint i=0; i<size; i++)
      sum += MathPow(MathAbs(arrIn[i]-mean), 2.0);
      
   return(MathSqrt(sum/size));
}

//--------------------------------------------------------------------
//Возвращает нормализованные значения элементов масcива
void ArrayNormalized(double & arrIn[], double & arrOut[])
{
   uint size = ArraySize(arrIn);
   if(size == 0) 
      return; 
      
   double min = ArrayMin(arrIn);   
   double max = ArrayMax(arrIn);
   
   for(uint i=0; i<size; i++)
      arrOut[i] = (arrIn[i]-min) / (max-min);   
}

//--------------------------------------------------------------------
//Возвращает стандвртизированые значения элементов масcива
void ArrayStandardized(double & arrIn[], double & arrOut[])
{
   uint size = ArraySize(arrIn);
   if(size == 0) 
      return; 
      
   double mean = ArrayMean(arrIn);
   double std  = ArrayStd(arrIn);
   
   for(uint i=0; i<size; i++)
      arrOut[i] = (arrIn[i]-mean) / std;   
}
 
Roman:

Ya que estamos hablando de normalización y estandarización, esta alineación se aplica cuando los valores que se comparan deben ser llevados a la misma escala.
¿Qué quiere decir con "normalizar a la misma escala"?
Por ejemplo, cuando necesitamos comparar números como 81,500 y 1,13453 o 5200,1 o 27340, etc.
Es decir, los valores tienen un número diferente de dígitos después del número entero.
Para comparar estos datos o pasarlos a un modelo, si éste tiene varios signos, aplique la normalización o estandarización,
, para que el modelo calcule correctamente y produzca el cálculo correcto.
He escrito dichas funciones, si alguien las necesita, por favor, utilícelas.

¿Por qué no te gusta ArrayMaximum y ArrayMinimum? ¿Por qué tuviste que escribirlo a través de un bucle?
Razón de la queja: