Algorithm 确定可接受方差的算法
我有一个应用程序,它比较两个不同报告中的数字。当两个数字之间的差异超过某个阈值时,它将提醒用户。我本来打算使用10%的阈值,但我意识到当计数a为ex.10000时,10%的方差太高(这意味着如果有999,这将是多余的),但当计数a仅为10时,10%的方差太低(这意味着2-3/10将是可接受的方差) 只是不知道怎么做,除了编码Algorithm 确定可接受方差的算法,algorithm,function,math,Algorithm,Function,Math,我有一个应用程序,它比较两个不同报告中的数字。当两个数字之间的差异超过某个阈值时,它将提醒用户。我本来打算使用10%的阈值,但我意识到当计数a为ex.10000时,10%的方差太高(这意味着如果有999,这将是多余的),但当计数a仅为10时,10%的方差太低(这意味着2-3/10将是可接受的方差) 只是不知道怎么做,除了编码 IF CountA <= 10 THEN AcceptableRate = 20% If CountA > 10 THEN AcceptableRate = 1
IF CountA <= 10 THEN AcceptableRate = 20%
If CountA > 10 THEN AcceptableRate = 15%
如果计数为10,则可接受率=15%
有人知道如何从数学上解释我在这里要做的事情,以及如何实现它吗?
我相信,对于数学比我好的人来说,这可能是一个简单的问题。如果我理解正确,你试图比较两组应该相似的不同数据,你想定义两组数据之间的差异程度,这是某种可接受的程度 我想我将采取的方法取决于几个因素,首先,你知道这两个数据集的基本分布吗?例如,如果数据是正态分布的,是否不可能找到另一组数据中存在的每个数据的概率 另一方面,可以使用检查两个数据集之间的差异 另一种可能性是使用a来获得一个样本来自另一个样本的概率
这些都是我的建议,然而,决定这种事情的临界值总是主观的。我在研究中使用的一个标准是,这可能对您也有帮助。如果我理解正确,您正在尝试比较两组应该相似的不同数据,您希望定义两组数据之间的差异水平,这是某种可接受的水平 我想我将采取的方法取决于几个因素,首先,你知道这两个数据集的基本分布吗?例如,如果数据是正态分布的,是否不可能找到另一组数据中存在的每个数据的概率 另一方面,可以使用检查两个数据集之间的差异 另一种可能性是使用a来获得一个样本来自另一个样本的概率
这些都是我的建议,然而,决定这种事情的临界值总是主观的。我在研究中使用的一个标准是,这可能对你也有帮助。基本上,你需要的标准是数据集大小的更复杂函数,而不仅仅是比例。从您给出的示例中,我猜您可能希望包含一个基于数据集大小日志的术语。玩弄像这样的表达
AcceptableN = 10 * log10(N) + 2
其中,AcceptableN
是可接受的异常值数量,N是总数据集大小,然后AcceptableRate=100*AcceptableN/N
但是没有明确的直接数学公式可以给出你想要的,在你更清楚地了解不同N的标准应该是什么之前。基本上,你想要的标准是数据集大小的一个更复杂的函数,而不仅仅是比例。从您给出的示例中,我猜您可能希望包含一个基于数据集大小日志的术语。玩弄像这样的表达
AcceptableN = 10 * log10(N) + 2
其中,AcceptableN
是可接受的异常值数量,N是总数据集大小,然后AcceptableRate=100*AcceptableN/N
虽然没有明确的直接数学公式给你你想要的,但是在你更清楚地知道你认为标准对于不同的N.</P>
除了前面回答中提到的公式外,还考虑使用N的幂(其中n是从一个报告或另一个报告中的参考数)作为公差。下面是一些python代码及其结果,说明了n的几种不同幂:
j=10
for i in range(6):
print '{:8} {:8.1f} {:8.1f} {:8.1f} {:8.1f}'.format(j, j**0.33, j**.35, j**.37, j**.39)
j *= 10
10 2.1 2.2 2.3 2.5
100 4.6 5.0 5.5 6.0
1000 9.8 11.2 12.9 14.8
10000 20.9 25.1 30.2 36.3
100000 44.7 56.2 70.8 89.1
1000000 95.5 125.9 166.0 218.8
除了前面回答中提到的公式外,还考虑使用n的幂(其中n是从一个报告或另一个报告中的参考数)作为容限。下面是一些python代码及其结果,说明了n的几种不同幂:
j=10
for i in range(6):
print '{:8} {:8.1f} {:8.1f} {:8.1f} {:8.1f}'.format(j, j**0.33, j**.35, j**.37, j**.39)
j *= 10
10 2.1 2.2 2.3 2.5
100 4.6 5.0 5.5 6.0
1000 9.8 11.2 12.9 14.8
10000 20.9 25.1 30.2 36.3
100000 44.7 56.2 70.8 89.1
1000000 95.5 125.9 166.0 218.8
我发现标准差比方差更直观,因为它是用与你所处理的潜在不确定量相同的单位来衡量的。也许标准偏差的某个百分比是一个合适的衡量标准,因为如果你选择了正确的百分比,它将把你的两个例子推向正确的方向。我发现标准偏差比方差更直观,因为它是用与你所处理的潜在不确定量相同的单位来度量的。也许标准偏差的某个百分比是一个合适的衡量标准,因为如果你选择了正确的百分比,它将把你的两个例子推向正确的方向。我认为这些信息将有助于我努力实现的目标。谢谢我认为这些信息将有助于我努力实现的目标。谢谢