天天看点

【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源

<b>阅读目录</b>

<a href="http://www.cnblogs.com/asxinyu/p/Dotnet_Opensource_MathNet_Basic_Statistics_10.html#_label0">前言</a>

<a href="http://www.cnblogs.com/asxinyu/p/Dotnet_Opensource_MathNet_Basic_Statistics_10.html#_label1">1.Math.NET的统计函数类</a>

<a href="http://www.cnblogs.com/asxinyu/p/Dotnet_Opensource_MathNet_Basic_Statistics_10.html#_label2">2.统计函数类的实现</a>

<a href="http://www.cnblogs.com/asxinyu/p/Dotnet_Opensource_MathNet_Basic_Statistics_10.html#_label3">3.统计函数使用的例子1</a>

<a href="http://www.cnblogs.com/asxinyu/p/Dotnet_Opensource_MathNet_Basic_Statistics_10.html#_label4">4.统计函数使用的例子2</a>

<a href="http://www.cnblogs.com/asxinyu/p/Dotnet_Opensource_MathNet_Basic_Statistics_10.html#_label5">5.资源</a>

  数据集的基本统计计算是应用数学,以及统计应用中最常用的功能。如计算数据集的均值,方差,标准差,最大值,最小值,熵等等。Math.NET中的MathNet.Numerics.Statistics命名空间就包括了大量的这些统计计算的函数。今天就为大家介绍这方面的内容。这样就可以使用C#进行数据集合的相关统计计算,以前在matlab中一个函数可以解决的问题,在C#里面也可以一个函数解决。所以Math.NET很大程度上替代了Matlab的基础数据计算功能,当然是不能和Matlab媲美的。

  Math.NET在MathNet.Numerics.Statistics命名空间中的基本数据统计类及作用介绍如下,静态类中的方法基本上都可以直接作为扩展方法使用:

1.Statistics类,基础的数据集统计,如最小值,最大值,平均值,总体方差,标准差等等。为静态类,注意Statistics是一个总体的统计类,其很多函数的调用都是根据数据集的类型分开调用StreamingStatistics和ArrayStatistics; 2.StreamingStatistics,静态类,是流数据集的统计,适合于一些大数据集,不能一次性读入内存的情况; 3.ArrayStatistics,静态类,是普通的未排序数组数据集的统计,一次性都加载在内存,因此计算比较方便; 4.SortedArrayStatistics,静态类,是排序数组数据集的统计; 5.DescriptiveStatistics,非静态类,与Statistics类的功能类似,但不一样的是Statistics是静态方法,一一计算,而该类是初始化的时候,可以一次性计算所有的指标,直接通过属性进行获取。 6.RunningStatistics,非静态类,和Statistics类功能差不多,但允许动态更新数据,进行再次计算;

  上述有多个统计类,但核心的代码不多。上述多个实现,也只是为了满足多种不同的需求。我们一起看一个基本实现:ArrayStatistics类,类的核心实现,代码过多,只列举了代码原型,和注释:

【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源
【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源

  当然不是所有人都会用到这些函数,一般人可能只会用到一些常用的,如均值,方差等等。详细的使用,可以看下面的例子。

  上面已经提到,对于静态类中的方法,可以根据需要使用扩展方法,或者直接调用该函数进行计算相应的统计指标。这种事情是非常简单的,看一个综合的例子:

【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源
【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源

结果如下:

【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源
【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源

下面将介绍使用DescriptiveStatistics类直接进行所有指标计算的例子。 

  使用DescriptiveStatistics的方法也很简单,直接使用数据数组进行初始化,然后根据属性获取对应的指标结果就可以了。如下代码:

【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源
【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源
【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源
【原创】开源Math.NET基础数学类库使用(10)C#进行基本数据统计前言1.Math.NET的统计函数类2.统计函数类的实现3.统计函数使用的例子14.统计函数使用的例子25.资源

本文转自数据之巅博客园博客,原文链接:http://www.cnblogs.com/asxinyu/p/Dotnet_Opensource_MathNet_Basic_Statistics_10.html,如需转载请自行联系原作者