private void MedianNormalizeDataSet(Dictionary <string, List <double> > normalizationSubset) { Dictionary <string, double> tempDict = new Dictionary <string, double>(); List <double> listForAverage = new List <double>(); //Go through Each Column in the Quant File, Calculate Median and Save to Dictionary //Also save the median values to a list that will be used for Normalization foreach (KeyValuePair <string, List <double> > kvp in normalizationSubset) { kvp.Value.Sort(); double middleIndexDouble = kvp.Value.Count / 2; int middleIndex = (int)Math.Round(middleIndexDouble); double median = kvp.Value.ElementAt(middleIndex); tempDict.Add(kvp.Key, median); listForAverage.Add(median); } double average = listForAverage.Average(); foreach (KeyValuePair <string, double> kvp3 in tempDict) { double replaceValue = average / kvp3.Value; HeadertoNormValueDict.Add(kvp3.Key, replaceValue); } ApplyNormalizationFactors(); }
private void DoNotNormalizeDataSet(Dictionary <string, List <double> > normalizationSubset) { foreach (KeyValuePair <string, List <double> > kvp in normalizationSubset) { HeadertoNormValueDict.Add(kvp.Key, 1); } ApplyNormalizationFactors(); }
private void SumNormalizeDataSet(Dictionary <string, List <double> > normalizationSubset) { Dictionary <string, double> tempDict = new Dictionary <string, double>(); List <double> listForAverage = new List <double>(); foreach (KeyValuePair <string, List <double> > kvp in normalizationSubset) { tempDict.Add(kvp.Key, kvp.Value.Sum()); listForAverage.Add(kvp.Value.Sum()); } double average = listForAverage.Average(); foreach (KeyValuePair <string, double> kvp3 in tempDict) { double replaceValue = average / kvp3.Value; HeadertoNormValueDict.Add(kvp3.Key, replaceValue); } ApplyNormalizationFactors(); }