我想用一遍算法计算mean、std、skewness、kurtosis和covariance。我发现的最简单和最快的一种方法是由伯克利研究组的斯图亚特·McCrary发布的。例如,对于std,可以使用:
std = sqrt((sum(x^2)-N*mean(X)^2)/(N-1))我读到这种方法不够好,因为它在数值上不稳定。不幸的是,我对数值稳定性没有深入的理解,但据我所知,这是一些问题,因为浮点运算的精度有限。
在我的例子中,我将只处理来自10^1-10^6范围的整数。
我可以在我的情况下使用这种方法而不考虑数值稳定性吗?
发布于 2018-05-29 02:28:38
为了提高数值稳定性,可以对数据进行规范化。请参阅:维基百科:规范化
例如:您有一个数据集X_1, ..., X_n,其平均值为x_bar,标准差s。然后通过:(X_i - x_bar) / s规范数据
https://stackoverflow.com/questions/49477451
复制相似问题