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

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

  •  
  •   songdg · 14 天前 via Android · 842 次点击
    譬如一个时序的数组,最近的 100 个数据不变,大于 100 的根据与当前的距离逐渐变小。
    9 条回复    2021-07-24 09:56:15 +08:00
    Jooooooooo
        1
    Jooooooooo   14 天前   ❤️ 2
    你可以搜下 redis 是怎么设计过期 key 的.
    menc
        2
    menc   14 天前   ❤️ 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   14 天前   ❤️ 1
    不需要算法,而是想法,看你怎么定权重,时序只是单一整数序列,规则比算法重要
    akira
        4
    akira   14 天前
    这应该是个数学问题吧。。
    Weixiao0725
        5
    Weixiao0725   14 天前   ❤️ 1
    你可以看下 moving average 算法及其各种变形
    siweipancc
        6
    siweipancc   13 天前 via iPhone
    离散数学跟定时器维护?
    songdg
        7
    songdg   12 天前 via Android
    @imn1 确实是这样。
    songdg
        8
    songdg   12 天前 via Android
    @Weixiao0725 谢谢帮助。
    songdg
        9
    songdg   12 天前 via Android
    @menc 非常感谢。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1332 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 17:32 · PVG 01:32 · LAX 10:32 · JFK 13:32
    ♥ Do have faith in what you're doing.