GSL中的运行统计

运行统计

本章描述了计算数据运行统计(也称为在线统计)的例程。这些例程适用于处理大型数据集,对于这些数据集,一次性存储在内存中可能不方便或不实用。数据可以采用单遍算法一次处理一个点。每次将一个数据点添加到累加器时,都会更新内部参数,以计算当前的平均值、方差、标准差、偏度和峰度。这些统计数据是精确的,并通过数值稳定的单遍算法进行更新。中位数和任意分位数也可用,但是这些计算使用提供近似的算法,并随着向累加器添加更多数据而变得更精确。

本章描述的函数都声明在头文件gsl_rstat.h中。

22.1 初始化累加器

gsl_rstat_workspace

    此工作空间包含用于计算各种统计信息的参数,并在将每个数据点添加到累加器后进行更新。

gsl_rstat_workspace * gsl_rstat_alloc(void)

    本函数为计算运行统计信息分配一个工作空间。工作空间的大小为O(1)。

void gsl_rstat_free(gsl_rstat_workspace * w)

    本函数释放工作空间w使用的内存空间。

int gsl_rstat_reset(gsl_rstat_workspace * w)

    本函数重置工作空间w为初始状态,这样它可以用一套新的数据开始工作。

22.2 把数据加入到累加器

int gsl_rstat_add(const double x, gsl_rstat_workspace * w)

扫描二维码关注公众号,回复: 13279812 查看本文章

    本函数将数据点x加到统计累加器中,更新均值、方差、标准差、偏度、峰度和中值的计算。

size_t gsl_rstat_n(const gsl_rstat_workspace * w)

    本函数返回到目前为止加到累加器的数据数量。

22.3 当前统计值

double gsl_rstat_min(const gsl_rstat_workspace * w)

本函数返回加入到累加器中的最小值。

double gsl_rstat_max(const gsl_rstat_workspace * w)

本函数返回加入到累加器中的最大值。

double gsl_rstat_mean(const gsl_rstat_workspace * w)

本函数返回累加器中所有的数据的均值,定义如下,

  double gsl_rstat_variance(const gsl_rstat_workspace * w)

本函数返回累加器中所有的数据的方差,定义如下,

double gsl_rstat_sd(const gsl_rstat_workspace * w)

    本函数返回添加到累加器的所有数据的标准差,定义为上面给出的方差的平方根。

double gsl_rstat_sd_mean(const gsl_rstat_workspace * w)

本函数返回均值的标准差,定义为,

 double gsl_rstat_rms(const gsl_rstat_workspace * w)

    本函数返回添加到累加器的所有数据的均方根,定义为, 

double gsl_rstat_skew(const gsl_rstat_workspace * w)

    本函数返回添加到累加器的所有数据的偏度,定义为,

 double gsl_rstat_kurtosis(const gsl_rstat_workspace * w)

本函数返回添加到累加器的所有数据的峰度,定义为,

 double gsl_rstat_median(gsl_rstat_workspace * w)

    本函数返回添加到累加器的数据中位数的估计值。

猜你喜欢

转载自blog.csdn.net/yxmlhc/article/details/120583218