zoukankan      html  css  js  c++  java
  • 如何判断一段数据趋势,上升或 下降

    最近工作有这样一个需求:给定十几个时序序列,判断出这个序列的趋势(上升、下降或平稳)。最开始肯定是想到,直接线性拟合斜率大小来判断呗,但是业务部门的同事说他们不止看整体斜率还看局部特征什么的总之很感性。

    于是我把每个点当一个维度直接跑分类模型(lr,多层感知机,svm,rf,gbdt,xgboost),结果还不错上升和下降的查准查全率都到80%(总共样本也就五六十个。。。)。

    为了提高查准率查全率,又和业务部门同事沟通了一下,他们主要综合整体以及最后几个点的趋势来判断,所以处理整体斜率,还将最后几个点的拟合斜率作为特证,这样再去分类,果然查准率或查全率得到了提高。这充分说明了传统机器学习特征提取的重要性。。。逃

    1. 通常是求导,就是看前后2个数的差值。但为了避免毛刺,估计要滤波。这就得具体问题具体分析了,麻烦
    2. 看连续的差值是不是都是正或者负不就行了么
    3. 然后把 连续的差值 累加起来,看结果是正 还是 负。正就是 上升 负 就是下降。  这样怎么样?
    4. 先滤波,再比较。
    5. 二阶差分之后看正负值可以得到拐点,也就是趋势的拐点
    6. RC低通滤波 Y(n)=kY(n-1)+(1-k)X(n)
    7. 一阶差分 ΔY(n)=Y(n+1)-Y(n)
    8. 二阶差分 Δ(ΔY(n))=Y(n+2)-2Y(n+1)+Y(n)
    9. 不是取一个窗口,前1/3求平均,后1/3求平均,然后比大小判断趋势么
  • 相关阅读:
    第一课 JSON的简介
    xml 简介
    前端面试题汇总(长期更新)
    HTML5中的canvas
    AJAX第一课 AJAX的学习和简介
    margin:0 auto和text-aglin:center的区别
    js中的正则表达式
    border和box-shadow
    css中的伪类
    (素材源码)猫猫学IOS(十五)UI之曾经大热的打砖块小游戏
  • 原文地址:https://www.cnblogs.com/jingsupo/p/12420656.html
Copyright © 2011-2022 走看看