参考 S.-J. Kim, K. Koh, S. Boyd, and D. Gorinevsky “l_1 Trend Filtering” SIAM Review, problems and techniques section, 51(2):339–360, May 2009

CVX示例库

  • 趋势滤波(Trend Filtering)
    • l 1 l_1 l1​趋势滤波

趋势滤波(Trend Filtering)

假设时间序列 y t , t = 1 , … , n y_t,t=1,\dots,n yt​,t=1,…,n由缓慢变化的趋势(Trend) x t x_t xt​和快速变化的噪声 v t v_t vt​组成。趋势滤波的目的是从时间序列 y t y_t yt​中估计趋势 x t x_t xt​。趋势滤波(Trend Filtering)可以看作一个具有两个目标的优化问题:我们希望 x t x_t xt​平滑,同时希望 v t v_t vt​尽可能地小。

l 1 l_1 l1​趋势滤波

l 1 l_1 l1​趋势估计问题:
minimize  1 2 ∥ y − x ∥ 2 2 + λ ∥ D x ∥ 1 \text{minimize}~\frac{1}{2}\|y-x\|_2^2+\lambda \|Dx\|_1 minimize 21​∥y−x∥22​+λ∥Dx∥1​
其中 λ > 0 \lambda >0 λ>0是正则参数,控制 x t x_t xt​的平滑度和 v t v_t vt​的大小之间的折中, D D D是二阶差分矩阵,是一个托普利兹矩阵,第一行是 [ 1 − 2 1 0 ⋯ 0 ] [1 ~-2 ~1~0~\cdots~0] [1 −2 1 0 ⋯ 0]。

代码如下:

% 加载时间序列数据
y = csvread('snp500.txt'); % 需要在CVX示例库处下载
n = length(y);% 构造二阶差分矩阵
e = ones(n,1);
D = spdiags([e -2*e e], 0:2, n-2, n);% 设置正则参数
lambda = 50;% 求解l1趋势滤波问题、
cvx_beginvariable x(n)minimize( 0.5*sum_square(y-x)+lambda*norm(D*x,1) )
cvx_end% 画出估计的趋势和原始信号
figure(1);
plot(1:n,y,'k:','LineWidth',1.0); hold on;
plot(1:n,x,'b-','LineWidth',2.0); hold off;
xlabel('date'); ylabel('log price');

CVX示例库之l_1趋势滤波(Trend Filtering)相关推荐

  1. CVX示例库之比较随机(stochastic)和最坏情况(worst-case)鲁棒逼近

    参考 6.4.2 节 Boyd 和 Vandenberghe <凸优化> CVX示例库 鲁棒逼近​ 随机鲁棒逼近 最坏情况鲁棒逼近 示例(比较随机和最坏情况鲁棒逼近) 鲁棒逼近​ 鲁棒逼近 ...

  2. CVX示例库之惩罚函数逼近

    参考 6.1.2节 Boyd 和 Vandenberghe <凸优化> CVX示例库 逼近问题 惩罚函数逼近 逼近问题 逼近问题可以写成: minimize ϕ(r1)+⋯+ϕ(rm)su ...

  3. 【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose

    [时序列]时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 理解python sm.tsa.seasonal_decompose 在做时序列分析 ...

  4. mysql中示例库安装_MySQL 官方示例数据库安装

    虽然MySQL安装包中不像SQL Server和Oracle那样提供示例数据库,但官方也提供示例数据库以供学习使用. 官方示例数据库 下载地址 http://dev.mysql.com/doc/ind ...

  5. Manim文档及源码笔记-CE文档-示例库3使用Manim绘图

    Manim文档及源码笔记-CE文档-示例库3使用Manim绘图 参考原文: Manim Community Edition Example Gallery 前言 笔记随想: 暂未发现官方中文版,自己实 ...

  6. 中值滤波Median filtering

    背景简述 在概率论中,中值将概率分布的高半部分与低半部分分开,对一个随机变量x 而言,x < M 的概率为0.5.对于有限实数集,其排序后中间的数值即为它的中值.集合的大小通常取奇数,以保证中值 ...

  7. 图像滤波(Image Filtering)

    在具体写图像滤波方法之前,先给出图像滤波的一般性目标阐述和经典应用.图像通常有一个直观(intuition)特征: 图像往往由多块组成,各块内像素相似且过渡缓慢,块与块相邻部分称作边缘(Edge). ...

  8. Python扩展库scipy中值滤波算法的应用

    中值滤波是数字信号处理.数字图像处理中常用的预处理技术,特点是将信号中每个值都替换为其邻域内的中值,即邻域内所有值排序后中间位置上的值.下面的代码演示了scipy库中signal模块的中值滤波算法的用 ...

  9. Google开源机器学习示例库:浏览器上可运行,免费GPU后端支持

    安妮 编译整理 量子位 出品 | 公众号 QbitAI  青铜段位的机器学习研习者可能有着同样的困境:脑海中有个模糊的项目想法,但不知从何处动手,也不清楚用怎样的方法去实现. 从今天起,有个贴身小 ...

最新文章

  1. jQuery 操作 DOM
  2. MongoDB Sharding分片配置
  3. 千万千万不要运行的 Linux 命令
  4. C++与Java多态的区别
  5. [Luogu1890]gcd区间
  6. Python | 7招教你识别一个网站是否是Django后台
  7. 2021-07-05-日历
  8. leetcode - 1223. 掷骰子模拟
  9. 没有样式重置_我不能没有的5个Vue.js库
  10. keil4如何将c语言转换成汇编语言_Keil 中关于C语言编译生成汇编代码函数名规则...
  11. VS2012下载和安装
  12. Python 音频调整音量(附代码) | Python工具
  13. LM4890功放电路的分析
  14. MCTS (Monte Carlo Tree Search)
  15. 3D次时代来临 如何玩转红蓝立体游戏
  16. 浅谈ERP项目团队管理的四个方面
  17. AES加密解密SHA1、SHA加密MD5加密
  18. 14家国内外医药行业协会于国际医药创新大会联合签署《医药创新宣言》
  19. 计算机专业考研复试(前沿知识篇)
  20. 汽车行业部件IPX9K高温高压喷水试验测试

热门文章

  1. 【伟大报告】新消费大航海时代,新品牌如何变革发展
  2. Unity 3D : 解富士 RAF 檔案
  3. Precise Detection in Densely Packed Scenes论文详解
  4. php格式图片怎么打开方式,php格式文件打开的四种方法
  5. java swing GUI 模拟写字板项目源码,适合初级小白
  6. ASP .NET之动态WebApi实践
  7. TTA 测试时数据增强(multi-scale testing)(TEST.AUG)
  8. 前端搭建名言生成器(内附源码)
  9. windows系统,计算机cmd管理员,命令行中普通用户获取管理员权限的命令
  10. 几百万的资金在股市会被主力盯上吗?