【发布时间】:2022-01-22 15:09:05
【问题描述】:
计算数据样本x 的方差的算法在数值上的鲁棒性和精确度越来越低。比如有一个精度很高的公式(见下面的参考文献),大致相当于
( sum((x - mean(x))^2) - (sum(x - mean(x))^2)/length(x) )/length(x)
这有点低效,因为它两次遍历数据。另一方面,数学上等价的公式mean(x^2)-mean(x)^2 更容易发生灾难性的取消。还有许多其他算法,其中一些只对数据进行一次传递;例如查看Chan, Golub, LeVeque 或Ling 中的评论。
R 在底层使用哪种算法来计算函数var() 的方差?我阅读了该函数的手册页,但他们没有说明所使用的特定算法。我不是程序员,很难理解底层 C 代码中发生的事情。
【问题讨论】:
标签: r algorithm precision variance