V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
songdg
V2EX  ›  程序员

有什么算法能使一列数组中较远数据逐渐变小

  •  
  •   songdg · 2021-07-22 21:08:36 +08:00 via Android · 1721 次点击
    这是一个创建于 980 天前的主题,其中的信息可能已经有所发展或是发生改变。
    譬如一个时序的数组,最近的 100 个数据不变,大于 100 的根据与当前的距离逐渐变小。
    9 条回复    2021-07-24 09:56:15 +08:00
    Jooooooooo
        1
    Jooooooooo  
       2021-07-22 21:10:50 +08:00   ❤️ 2
    你可以搜下 redis 是怎么设计过期 key 的.
    menc
        2
    menc  
       2021-07-22 22:30:54 +08:00   ❤️ 3
    设计一个分段函数即可,
    f(x) = x if x<100;
    f(x) = x * (1/2) ^(x-100)/T if x> 100

    下式是半衰期公式,T 是超参数,当 X-100 = T 时,x 衰减为原值的一半
    imn1
        3
    imn1  
       2021-07-22 23:02:08 +08:00   ❤️ 1
    不需要算法,而是想法,看你怎么定权重,时序只是单一整数序列,规则比算法重要
    akira
        4
    akira  
       2021-07-23 01:05:03 +08:00
    这应该是个数学问题吧。。
    Weixiao0725
        5
    Weixiao0725  
       2021-07-23 01:07:04 +08:00   ❤️ 1
    你可以看下 moving average 算法及其各种变形
    siweipancc
        6
    siweipancc  
       2021-07-23 09:22:50 +08:00 via iPhone
    离散数学跟定时器维护?
    songdg
        7
    songdg  
    OP
       2021-07-24 09:53:02 +08:00 via Android
    @imn1 确实是这样。
    songdg
        8
    songdg  
    OP
       2021-07-24 09:53:52 +08:00 via Android
    @Weixiao0725 谢谢帮助。
    songdg
        9
    songdg  
    OP
       2021-07-24 09:56:15 +08:00 via Android
    @menc 非常感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1809 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:29 · PVG 00:29 · LAX 09:29 · JFK 12:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.