gpt4 book ai didi

objective-c - 尖峰去除算法

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:34 24 4
gpt4 key购买 nike

我有一个范围从 30 到 300 的值数组。我想以某种方式计算加权平均值,如果我有 5 个值并且其中一个比其余值大很多(尖峰),它不会影响如果我简单地做一个算术平均数,那么平均数:例如:(n1+n2+n3+n4+n5)/5

有没有人知道如何制作一个简单的算法来做到这一点,或者去哪里找?

最佳答案

听起来您想要丢弃超出指定参数范围的数据。您可以通过计算中位数/众数并在计算均值时忽略超出此范围的值来实现。当然,您必须相应地调整除数,以考虑丢弃值的数量。这个“可容忍”范围最终应由您决定,并且可能取决于您的特定应用需求。

或者,您可以尝试删除超出总平均值范围 r% 的项目。像这样的东西(在 javascript 中):

function RangedAverage(arr, r)
{
x = Average(arr);
//now eliminate items r% out of range
for(var i=0; i<arr.length; i++)
if(arr[i] < (x/r) || arr[i]>(x*(1+r)))
arr.splice(i,1);
x = Average(arr); //compute new average
return x;
}

关于objective-c - 尖峰去除算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com