如何规范化数字序列?

Ado*_*orn 5 c++ image-processing user-interaction curvesmoothing

我正在处理用户行为项目.根据用户交互,我得到了一些数据.有一个很好的序列,随着时间的推移平稳地增加和减少.但是差异很小,非常糟糕.请参考下图:

绘制序列

你也可以在这里找到数据:

2.0789 2.09604 2.11472 2.13414 2.15609 2.17776 2.2021 2.22722 2.25019 2.27304 2.29724 2.31991 2.34285 2.36569 2.38682 2.40634 2.42068 2.43947 2.45099 2.46564 2.48385 2.49747 2.49031 2.51458 2.5149 2.52632 2.54689 2.56077 2.57821 2.57877 2.59104 2.57625 2.55987 2.5694 2.56244 2.56599 2.54696 2.52479 2.50345 2.48306 2.50934 2.4512 2.43586 2.40664 2.38721 2.3816 2.36415 2.33408 2.31225 2.28801 2.26583 2.24054 2.2135 2.19678 2.16366 2.13945 2.11102 2.08389 2.05533 2.02899 2.00373 1.9752 1.94862 1.91982 1.89125 1.86307 1.83539 1.80641 1.77946 1.75333 1.72765 1.70417 1.68106 1.65971 1.64032 1.62386 1.6034 1.5829 1.56022 1.54167 1.53141 1.52329 1.51128 1.52125 1.51127 1.50753 1.51494 1.51777 1.55563 1.56948 1.57866 1.60095 1.61939 1.64399 1.67643 1.70784 1.74259 1.7815 1.81939 1.84942 1.87731 1.89895 1.91676 1.92987

我想要理顺这个序列.该技术应该能够消除具有X和Y特征的数字,即单增加或单减少的误差.

如果不消除,技术应该能够移动它们,以便系列不受错误的影响.

我尝试过但失败了:

  1. 我试图测试值之间的差异.在某些特殊情况下它可以工作,但是对于如此处所示的序列,数字之间的距离不是我可以减少错误

  2. 我尝试应用一个计数器,这是一个X,然后只接受改变,否则点只映射到前一点.在这里我很难决定X的值,因为这是基于用户交互,我不是它的真正控制者.如果用户交互是这样的,它的情节将是一个Z字形模式,我最终会得到"根本没有检测到用户移动数据"的情况.

请分享您所了解的技术.

PS:此示例中提供的数据是特定情况.没有数字将会出现的典型模式,但我们希望所有示例都有一些范围是连续的.我正在寻求的解决方案是通用的