Changeset 8842 for branches/DataAnalysisCSVImport/HeuristicLab.Problems.DataAnalysis/3.4/OnlineCalculators/SpearmansRankCorrelationCoefficientCalculator.cs
- Timestamp:
- 10/23/12 16:29:21 (11 years ago)
- Location:
- branches/DataAnalysisCSVImport/HeuristicLab.Problems.DataAnalysis
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysisCSVImport/HeuristicLab.Problems.DataAnalysis
- Property svn:mergeinfo changed
-
branches/DataAnalysisCSVImport/HeuristicLab.Problems.DataAnalysis/3.4/OnlineCalculators/SpearmansRankCorrelationCoefficientCalculator.cs
r8689 r8842 20 20 #endregion 21 21 22 using System;23 22 using System.Collections.Generic; 24 23 using System.Linq; 24 using HeuristicLab.Data; 25 25 26 26 namespace HeuristicLab.Problems.DataAnalysis { 27 public class SpearmansRankCorrelationCoefficientCalculator {27 public class SpearmansRankCorrelationCoefficientCalculator : IDependencyCalculator { 28 28 29 public static double Calculate(IEnumerable<double> originalValues, IEnumerable<double> estimatedValues, out OnlineCalculatorError errorState) { 29 public DoubleRange Interval { get { return new DoubleRange(1.0, -1.0); } } 30 31 public string Name { get { return "Spearmans Rank"; } } 32 33 public double Calculate(IEnumerable<double> originalValues, IEnumerable<double> estimatedValues, out OnlineCalculatorError errorState) { 34 return SpearmansRankCorrelationCoefficientCalculator.CalculateSpearmansRank(originalValues, estimatedValues, out errorState); 35 } 36 37 public static double CalculateSpearmansRank(IEnumerable<double> originalValues, IEnumerable<double> estimatedValues, out OnlineCalculatorError errorState) { 30 38 double rs = double.NaN; 31 39 try { 32 rs = alglib.basestat.spearmancorr2(originalValues.ToArray(), estimatedValues.ToArray(), originalValues.Count()); 40 var original = originalValues.ToArray(); 41 var estimated = estimatedValues.ToArray(); 42 rs = alglib.basestat.spearmancorr2(original, estimated, original.Length); 33 43 errorState = OnlineCalculatorError.None; 34 44 } 35 catch ( Exception ex) {45 catch (alglib.alglibexception) { 36 46 errorState = OnlineCalculatorError.InvalidValueAdded; 37 47 }
Note: See TracChangeset
for help on using the changeset viewer.