Algorithm 利用实际阶跃函数生成理想阶跃函数

Algorithm 利用实际阶跃函数生成理想阶跃函数,algorithm,math,Algorithm,Math,我为函数绘制了运行时(以秒为单位)与输入图,如下所示: 您可以观察到许多运行时,这些运行时比上面各个点所表示的预期运行时要大 我想将这些点向下映射到它们的预期时间,以获得理想的阶跃函数,如下所示: 红点=大于预期的运行时 在以下情况下,红色点映射到各自的预期运行时: 但是,决定红点应该映射到哪里并不总是容易的。例如: 在上述情况下,我们将如何决定将红点映射到运行时T1或T2 此外,在以下情况下,我们无法确定如何将红点向下映射到它们的理想或预期运行时: 如果我们决定通过判断相邻点来映射红

我为函数绘制了运行时(以秒为单位)与输入图,如下所示:

您可以观察到许多运行时,这些运行时比上面各个点所表示的预期运行时要大

我想将这些点向下映射到它们的预期时间,以获得理想的阶跃函数,如下所示:

红点=大于预期的运行时

在以下情况下,红色点映射到各自的预期运行时:

但是,决定红点应该映射到哪里并不总是容易的。例如:

在上述情况下,我们将如何决定将红点映射到运行时T1或T2

此外,在以下情况下,我们无法确定如何将红点向下映射到它们的理想或预期运行时:

如果我们决定通过判断相邻点来映射红点,那么蓝点可能会产生向下映射红点的噪声

最后,在以下情况下可能会有大量噪音:

因此,我们的目标是通过将红点向下映射到理想的预期运行时,以尽可能高的精度实现理想的阶跃函数

我会感谢你的建议

如果运行时真的像图中告诉我们的那样是线性的

您可以在数据上创建线性回归,它将拟合点的主线,而不拟合运行时大于预期的点。对于所有其他点,您可以取
x
值,并将其拟合到回归上,然后根据模1是否大于0.5向上或向下取整

在第一种情况下(实际场景),您不必使用它,但它仍然可以工作,因为回归应该通过所有水平线的中间。这种方法在案例4中非常有用,因为它忽略了附近的点

提示:
在创建线性回归时,尝试开发一种忽略异常值的方法,以实现“干净”回归

编辑:
更多解释


红线是线性回归的输出,现在对于每个点,取其浅蓝色线并找到交点。现在,对于交叉点,将其向上或向下(取决于哪个更接近)环绕到匹配的T级别。

Yonlif,请您用一个例子深入解释一下,因为我发现您所说的有点难。添加一个例子:)我感谢您的努力。如果我没弄错,请纠正我。因此,首先我们需要忽略所有的异常值。然后将曲线拟合到回归中,使直线穿过所有水平条的中心(因为这将消除因噪声引起的误差),最后尝试使用回归线找到T值,并指定最接近回归值的T值?是的,我想你非常了解我:),如果你对答案感到满意,你可以批准它。我还有一些疑问。在这种情况下,我们可以确定,当step函数中断(或开始获取新闻值)时,我们有噪声。那么,我们是否应该考虑这种噪音数据在我们的训练数据集或排除它,为什么?