You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于双时间序列趋势交互构建-1至1的评分算法?

解决方案

可以通过量化两个序列的趋势/动量差异并归一化构建符合要求的评分系统,以下是三种实用方案:

方案1:长期线性趋势评分

适合捕捉整个观测周期的整体趋势转换:

  1. 计算趋势斜率:对每个序列用线性回归拟合趋势,得到斜率值(正数为上升,负数为下降,绝对值越大趋势越强):
    slope_x = (n*sum(t*x) - sum(t)*sum(x)) / (n*sum(t²) - (sum(t))²)
    
    其中t为时间点(如[1,2,...,n]),x为A/B的观测值,n为观测数。
  2. 归一化评分:将斜率差映射到[-1,1]区间:
    score = (slope_A - slope_B) / (|slope_A| + |slope_B| + 1e-8)
    
    (加1e-8避免分母为0,斜率全为0时评分取0)

验证:例1评分=-1,例2评分=1,完美匹配预期。

方案2:短期动量评分

适合捕捉近期趋势变化(适配例3的混合趋势场景):

  1. 计算动量指标:用相邻观测的收益率均值(跳过零分母项)作为短期动量:
    momentum_x = mean( (x[t]/x[t-1]) - 1 for t in 2..n if x[t-1] != 0 )
    
    若零值过多,可替换为差值均值:momentum_x = mean(x[t]-x[t-1] for t in 2..n)
  2. 压缩范围:用tanh函数将动量差压缩到[-1,1],k为调整系数(1~2即可):
    score = tanh( k*(momentum_A - momentum_B) )
    

验证:例3评分≈-0.86(绝对值小于1),例1≈-0.83、例2≈0.86,均符合预期。

方案3:趋势一致性加权评分

若需区分趋势的连贯性(比如例3中A先升后降的混合趋势):

  1. 计算趋势一致性:统计相邻差值的符号统一程度(范围[-1,1],1为全同向,0为正负各半):
    consistency_x = sum(sign(x[t]-x[t-1]) for t in 2..n) / (n-1)
    
  2. 加权趋势强度:用一致性乘以斜率,得到加权后的趋势强度:
    trend_x = consistency_x * slope_x
    
  3. 归一化评分:同方案1的归一化公式:
    score = (trend_A - trend_B) / (|trend_A| + |trend_B| + 1e-8)
    

验证:例3评分≈-0.72,绝对值小于1,符合混合趋势的预期。


内容的提问来源于stack exchange,提问作者Lagrange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:44:51