查找数据值的标准偏差/方差

时间:2011-09-21 01:14:36

标签: c# xml linq-to-xml standard-deviation

所以这是一个非常复杂的问题,我用Google搜索了很多,但还没有真正提出任何问题。所以问题是,我需要找到文件中某些变量的标准偏差。所以让我说明我需要做什么:我有代码来查找从文件中提取的一些数字的平均值。我需要对该平均值进行的操作是从文件中的值中减去它,然后获取该新值并对其求平方。

找到平均值的代码:

var query5 = from file in fileEntries             
 doc = XDocument.Load(file)              
let x = doc.Descendants("").Single()              
let y = doc.Descendants("").Single()              
let z = doc.Descendants("")Single()             
select new             
{                
 X1 = x.Element("Max").Value,                  
 X2 = x.Element("Min").Value,                  
 Y1 = y.Element("Max").Value,                  
 Y2 = y.Element("Min").Value,                  
 Z1 = z.Element("Max").Value,                 
 Z2 = z.Element("Min").Value             
 }; 

1 个答案:

答案 0 :(得分:0)

鉴于上述情况,如果你想要人口方差和标准差,你可以这样做:

// ... code from above
double averageMaximumX = query.Average(t => double.Parse(t.XMax)); 
double varianceMaximumX = query.Sum(t => 
                Math.Pow(double.Parse(t.XMax) - averageMaximumX, 2)));

double stdDevMaximumX = Math.Sqrt(varianceMaximumX);
varianceMaximumX /= query.Count();