[Quantproject-developers] QuantProject/b1_ADT/Statistics BasicFunctions.cs, 1.12, 1.13
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-05-11 17:50:32
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Statistics In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv16368/b1_ADT/Statistics Modified Files: BasicFunctions.cs Log Message: The method that computes the PearsonCorrelationCoefficient with multipliers has been commented out Index: BasicFunctions.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b1_ADT/Statistics/BasicFunctions.cs,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** BasicFunctions.cs 20 Apr 2008 17:09:16 -0000 1.12 --- BasicFunctions.cs 11 May 2008 17:50:22 -0000 1.13 *************** *** 274,341 **** } ! #region PearsonCorrelationCoefficient with multipliers ! static private void checkMultiplierIsNonZero( double multiplier ) ! { ! if ( multiplier == 0 ) ! throw new Exception( "A multiplier cannot be zero!" ); ! } ! static private void pearsonCorrelationCoefficient_checkParameters( ! double firstArrayMultiplier , float[] firstDataVariable, ! double secondArrayMultiplier , float[] secondDataVariable ) ! { ! BasicFunctions.checkLengthOfDataVariables(firstDataVariable, secondDataVariable); ! checkMultiplierIsNonZero( firstArrayMultiplier ); ! checkMultiplierIsNonZero( secondArrayMultiplier ); ! } ! /// <summary> ! /// Computes the Pearson's Correlation Coefficient for two weighted arrays ! /// </summary> ! /// <param name="firstMultiplier">multiplies each value of the ! /// first data set</param> ! /// <param name="firstDataVariable">first data set</param> ! /// <param name="secondMultiplier">multiplies each value of the second ! /// data set</param> ! /// <param name="secondDataVariable">second data set</param> ! /// <returns></returns> ! static public double PearsonCorrelationCoefficient( ! double firstMultiplier , float[] firstDataVariable, ! double secondMultiplier , float[] secondDataVariable ) ! { ! pearsonCorrelationCoefficient_checkParameters( ! firstMultiplier , firstDataVariable, ! secondMultiplier , secondDataVariable ); ! int n = firstDataVariable.Length; ! double sumOfProduct = 0.0, sumOfFirst = 0.0, sumOfSecond = 0.0, ! sumOfSquaredFirst = 0.0, sumOfSquaredSecond = 0.0; ! double currentValueFromFirstDataSet , currentValueFromSecondDataSet; ! for(int i = 0; i < n; i++) ! { ! currentValueFromFirstDataSet = firstMultiplier * firstDataVariable[i]; ! currentValueFromSecondDataSet = secondMultiplier * secondDataVariable[i]; ! sumOfFirst += currentValueFromFirstDataSet; ! sumOfSecond += currentValueFromSecondDataSet; ! sumOfProduct += currentValueFromFirstDataSet * currentValueFromSecondDataSet; ! sumOfSquaredFirst += ! currentValueFromFirstDataSet * currentValueFromFirstDataSet; ! sumOfSquaredSecond += ! currentValueFromSecondDataSet * currentValueFromSecondDataSet; ! } ! double n1 = n*sumOfProduct; ! double n2 = sumOfFirst*sumOfSecond; ! double numerator = n*sumOfProduct - sumOfFirst*sumOfSecond; ! double d1 = n*sumOfSquaredFirst; ! double d2 = sumOfFirst*sumOfFirst; ! double d3 = n*sumOfSquaredSecond; ! double d4 = sumOfSecond*sumOfSecond; ! double d5 = d1 - d2; ! double d6 = d3 - d4; ! double a1 = (n*sumOfSquaredFirst - sumOfFirst*sumOfFirst); ! double a2 = (n*sumOfSquaredSecond - sumOfSecond*sumOfSecond); ! ! return (n*sumOfProduct - sumOfFirst*sumOfSecond)/ ! Math.Sqrt( (n*sumOfSquaredFirst - sumOfFirst*sumOfFirst)* ! (n*sumOfSquaredSecond - sumOfSecond*sumOfSecond) ); ! } ! #endregion PearsonCorrelationCoefficient with multipliers --- 274,341 ---- } ! // #region PearsonCorrelationCoefficient with multipliers ! // static private void checkMultiplierIsNonZero( double multiplier ) ! // { ! // if ( multiplier == 0 ) ! // throw new Exception( "A multiplier cannot be zero!" ); ! // } ! // static private void pearsonCorrelationCoefficient_checkParameters( ! // double firstArrayMultiplier , float[] firstDataVariable, ! // double secondArrayMultiplier , float[] secondDataVariable ) ! // { ! // BasicFunctions.checkLengthOfDataVariables(firstDataVariable, secondDataVariable); ! // checkMultiplierIsNonZero( firstArrayMultiplier ); ! // checkMultiplierIsNonZero( secondArrayMultiplier ); ! // } ! // /// <summary> ! // /// Computes the Pearson's Correlation Coefficient for two weighted arrays ! // /// </summary> ! // /// <param name="firstMultiplier">multiplies each value of the ! // /// first data set</param> ! // /// <param name="firstDataVariable">first data set</param> ! // /// <param name="secondMultiplier">multiplies each value of the second ! // /// data set</param> ! // /// <param name="secondDataVariable">second data set</param> ! // /// <returns></returns> ! // static public double PearsonCorrelationCoefficient( ! // double firstMultiplier , float[] firstDataVariable, ! // double secondMultiplier , float[] secondDataVariable ) ! // { ! // pearsonCorrelationCoefficient_checkParameters( ! // firstMultiplier , firstDataVariable, ! // secondMultiplier , secondDataVariable ); ! // int n = firstDataVariable.Length; ! // double sumOfProduct = 0.0, sumOfFirst = 0.0, sumOfSecond = 0.0, ! // sumOfSquaredFirst = 0.0, sumOfSquaredSecond = 0.0; ! // double currentValueFromFirstDataSet , currentValueFromSecondDataSet; ! // for(int i = 0; i < n; i++) ! // { ! // currentValueFromFirstDataSet = firstMultiplier * firstDataVariable[i]; ! // currentValueFromSecondDataSet = secondMultiplier * secondDataVariable[i]; ! // sumOfFirst += currentValueFromFirstDataSet; ! // sumOfSecond += currentValueFromSecondDataSet; ! // sumOfProduct += currentValueFromFirstDataSet * currentValueFromSecondDataSet; ! // sumOfSquaredFirst += ! // currentValueFromFirstDataSet * currentValueFromFirstDataSet; ! // sumOfSquaredSecond += ! // currentValueFromSecondDataSet * currentValueFromSecondDataSet; ! // } ! // double n1 = n*sumOfProduct; ! // double n2 = sumOfFirst*sumOfSecond; ! // double numerator = n*sumOfProduct - sumOfFirst*sumOfSecond; ! // double d1 = n*sumOfSquaredFirst; ! // double d2 = sumOfFirst*sumOfFirst; ! // double d3 = n*sumOfSquaredSecond; ! // double d4 = sumOfSecond*sumOfSecond; ! // double d5 = d1 - d2; ! // double d6 = d3 - d4; ! // double a1 = (n*sumOfSquaredFirst - sumOfFirst*sumOfFirst); ! // double a2 = (n*sumOfSquaredSecond - sumOfSecond*sumOfSecond); ! // ! // return (n*sumOfProduct - sumOfFirst*sumOfSecond)/ ! // Math.Sqrt( (n*sumOfSquaredFirst - sumOfFirst*sumOfFirst)* ! // (n*sumOfSquaredSecond - sumOfSecond*sumOfSecond) ); ! // } ! // #endregion PearsonCorrelationCoefficient with multipliers |