假设我有一个n个正实数的样本,我想找到这些数字的“典型”值。当然,“典型”并没有很好的定义,但我们可以想到以下更具体的问题:
这些数的分布使得(粗略地说)它们的一部分(1-epsilon)是从正均值m>0和均方差sigma一个解决方案是计算中值,但当它是O(N)时,常数因子对中等N不是很好,而且它需要相当多的编码我已经准备好放弃对代码简单性和/或小N性能的精确估计(例如N是10或20,并且我最多有一个或两个异常值)。
你有什么建议吗?
(例如,如果我的离群值只来自大值,我将计算我的值的日志平均值并将其指数化。在一些进一步的假设下,这给了我一个很好的估计,我可以很容易地计算出它,并且用一个锐利的o(n))。
最佳答案
你可以取除最小值和最大值以外的数字的平均值。公式是(sum-min-max)/(N-2),分子中的项可以简单地用一次就计算出来(不过要注意浮点问题)。
关于algorithm - 近似 sample 的典型值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29629843/