C sharp - calculos estadisticos

   
Vista:

calculos estadisticos

Publicado por Lupita (78 intervenciones) el 03/06/2009 23:29:48
Hola!!

En un proyecto web debo de calcular datos estadisticos como la suma de cuadrados o la correlación, he tratado de realizar estas operaciones pero con la librería Math no aparecen por ningún lado.

Ojala alguien pueda ayudarme.

Gracias y Saludos...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:calculos estadisticos

Publicado por m (97 intervenciones) el 04/06/2009 01:16:48
Hola tal vez estas funciones te puedan servir:

/// <summary>

/// Get average

/// </summary>

public static double GetAverage( double[] data )
{
int len = data.Length;
if ( len == 0 )
throw new Exception("No data");

double sum = 0;
for ( int i = 0; i < data.Length; i++ )
sum += data[i];
return sum / len;
}

/// <summary>

/// Get variance

/// </summary>

public static double GetVariance( double[] data )
{
int len = data.Length;
// Get average

double avg = GetAverage( data );

double sum = 0;
for ( int i = 0; i < data.Length; i++ )
sum += Math.Pow( ( data[i] - avg ), 2 );
return sum / len;
}

/// <summary>

/// Get standard deviation

/// </summary>

public static double GetStdev( double[] data )
{
return Math.Sqrt( GetVariance( data ) );
}



/// <summary>

/// Get correlation

/// </summary>

public static void GetCorrelation( double[] x, double[] y, ref double covXY, ref double pearson)
{
if ( x.Length != y.Length )
throw new Exception("Length of sources is different");
double avgX = GetAverage( x );
double stdevX = GetStdev( x );
double avgY = GetAverage( y );
double stdevY = GetStdev( y );
int len = x.Length;

for ( int i = 0; i < len; i++ )
covXY += ( x[i] - avgX ) * ( y[i] - avgY );
covXY /= len;
pearson = covXY / ( stdevX * stdevY );
}
}
}

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar