• 【时间序列预测】基于非线性时间序列预测的稀疏局部线性和邻域嵌入研究(Matlab代码实现)


    💥💥💞💞欢迎来到本博客❤️❤️💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    目录

    📋1 概述

    📝2 运行结果

    📃3 参考文献

    📋4 Matlab代码实现

    📋1 概述

    [1]Waleed Fakhr, "Sparse Locally Linear and Neighbor Embedding for Nonlinear Time Series Prediction", ICCES 2015, December 2015.

    “本文提出了一种基于字典的L1范数稀疏编码,用于时间序列预测,不需要训练阶段,参数调整最少,适用于非平稳和在线预测应用。预测过程被表述为基础追求 L1 范数问题,其中为每个测试向量估计一组稀疏权重。尝试了约束稀疏编码公式,包括稀疏局部线性嵌入和稀疏最近邻嵌入。16个时间序列数据集用于测试离线时间序列预测方法,其中训练数据是固定的。所提出的方法还与Bagging树(BT),最小二乘支持向量回归(LSSVM)和正则化自回归模型进行了比较。所提出的稀疏编码预测显示出比使用10倍交叉验证的LSSVM更好的性能,并且比正则化AR和Bagging树的性能明显更好。平均而言,在LSSVM训练时可以完成几千个稀疏编码预测。

    📝2 运行结果

     

     

     

    部分代码:

    if(nnnn==1)    %Mackey-Glass data
    load MGData;
    a = MGData;
    time = a(:, 1);
    x_t = a(:, 2);
    trn_data = zeros(500, 5);
    chk_data = zeros(500, 5);
    % prepare training data
    trn_data(:, 1) = x_t(101:600);
    trn_data(:, 2) = x_t(107:606);
    trn_data(:, 3) = x_t(113:612);
    trn_data(:, 4) = x_t(119:618);
    trn_data(:, 5) = x_t(125:624);
    % prepare checking data
    chk_data(:, 1) = x_t(601:1100);
    chk_data(:, 2) = x_t(607:1106);
    chk_data(:, 3) = x_t(613:1112);
    chk_data(:, 4) = x_t(619:1118);
    chk_data(:, 5) = x_t(625:1124);
    Train=trn_data;
    Test=chk_data;
    K=4;
    delta=2;
    eps=0.001;
    C='Mackey Glass Data';

    elseif(nnnn==2)
    load Henon1      %Henon chaotic map data
    x_t=Henon1;
    sz=length(x_t);  
    time = 1:sz;
    Train = x_t(1:1004);   
    Test  = x_t(1005:1259); 
    %here we add the WGN with standard deviation of 0.05
    nnn = 0.05*randn(1004,1);
    Train = Train + nnn;    
    K=4;
    delta=2;
    eps=0.001;
    C = 'Henon Chaotic Map Data'

    elseif(nnnn==3)     %Lorenz chaotic map data
    load Lorenz1
    x_t=Lorenz1;
    sz=length(x_t);  
    time = 1:sz;
    Train = x_t(1:1004);   
    Test  = x_t(1005:1259); 
    nnn = 0.05*randn(1004,1);
    Train = Train + nnn;
    K=4;
    delta=2;
    eps=0.001;
    C = 'Lorenz Chaotic Map Data';

    elseif(nnnn==4)
    load Rossler1     %Rossler
    x_t=Rossler1;
    sz=length(x_t);  
    time = 1:sz;
    Train = x_t(1:1004);   
    Test  = x_t(1005:1259); 
    %here we add the WGN with standard deviation of 0.05
    nnn = 0.05*randn(1004,1);
    Train = Train + nnn;
    K=4;
    delta=2;
    eps=0.001;
    C = 'Rossler Chaotic Map Data';

    elseif(nnnn==5)
    load Nord1        %NordPool
    x_t=Nord1;
    sz=length(x_t);  
    time = 1:sz;
    Train = x_t(1:880);   
    Test  = x_t(881:988);
    K=9;   %as recommended by reference
    delta=2;
    eps=0.001;
    C= 'Nord Pool Exchange Electricity Prices Data';

    📃3 参考文献

    [1]Waleed Fakhr, "Sparse Locally Linear and Neighbor Embedding for Nonlinear Time Series Prediction", ICCES 2015, December 2015.

    📋4 Matlab代码及文章讲解

  • 相关阅读:
    虹科分享 | 简单实用的CANopen介绍,看完你就明白了(1)
    Kafka干货之「零拷贝」
    jquery中 offset()计算的偏移量 和 原生Dom计算的偏移量不一致;
    蓝桥杯官网练习题(斐波那契数列最大公约数)
    海外问卷调查是不是真的能赚钱?
    【智慧校园源码】中小学智慧班牌系统,实现校园信息化交流建设,提高班级管理效率
    Java的反射
    多级式多传感器信息融合中的状态估计(Matlab代码实现)
    Spring Boot 技术架构图(InsCode AI 创作助手辅助)
    LeetCode:1402. 做菜顺序、2316. 统计无向图中无法互相到达点对数
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127796658