【预测模型】基于matlab RLS算法的数据预测【含Matlab源码 222期】

一、简介

1 概述
递归最小二乘(RLS)算法是一种典型的数据处理方法,由著名学者高斯在1795年提出,高斯认为,根据所获得的观测数据来推断未知参数时,未知参数最可能的值是这样一个数据,即它使各项实际观测值和计算值之间的差的平方乘以度量其精度的数值以后的和为最小,这就是著名的最小二乘。递归最小二乘(RLS)算法在信号自适应滤波分析中广泛应用,递归最小二乘(RLS)算法收敛速度快,且对自相关矩阵特征值的分散性不敏感,然而其计算量交大,本章主要研究基于RLS进行数据的预测与MATLAB实现。
2 RLS算法基本原理与流程
【预测模型】基于matlab RLS算法的数据预测【含Matlab源码 222期】_第1张图片
3 RLS算法流程
【预测模型】基于matlab RLS算法的数据预测【含Matlab源码 222期】_第2张图片

二、源代码

clc,clear,close all
warning off      % 消除警告
N = 1000;        % 信号观测长度
a1 = 0.99;       % 一阶AR参数
sigma = 0.0731; % 加性白噪声方差
for kk =1:100
    v = sqrt(sigma)*randn(N,1); % 产生v(n)加性白噪声
    u0 = [0];      % 初始数据
    num = 1;       % 分子系数
    den = [1,a1];  % 分母系数
    Zi = filtic(num,den,u0);    % 滤波器的初始条件
    un = filter(num,den,v,Zi);   % 产生样本序列u(n), N x 1 x trials
%     figure,stem(un),title('随机信号');grid on;
    % 产生期望响应信号和观测数据矩阵
    n0 = 1;          % 虚实现n0步线性预测
    M = 2;           % 滤波器阶数
    b = un(n0+1:N);  % 预测的期望响应
    L = length(b);  
    un1 = [zeros(M-1,1)',un'];  % 扩展数据
    A = zeros(M,L);
    for k=1:L
        A(:,k) = un1(M-1+k : -1 : k);   % 构建观测数据矩阵
    end
    % 应用RLS算法进行迭代寻优计算最优权向量
    delta = 0.004; % 调整参数
    lamda = 0.98;  % 遗忘因子
    w = zeros(M,L+1); 
    epsilon = zeros(L,1); 
    P1 = eye(M)/delta;
    % RLS迭代算法过程
    for k=1:L  
        PIn = P1 * A(:,k);
        denok = lamda + A(:,k)'*PIn;
        kn = PIn/denok;
        epsilon(k) = b(k)-w(:,k)'*A(:,k);
        w(:,k+1) = w(:,k) + kn*conj(epsilon(k));
        P1 = P1/lamda - kn*A(:,k)'*P1/lamda;
    end
    w1(kk,:) = w(1,:);
    w2(kk,:) = w(2,:);
    MSE = abs(epsilon).^2;
    MSE_P(kk) = mean(MSE);
end

三、运行结果

【预测模型】基于matlab RLS算法的数据预测【含Matlab源码 222期】_第3张图片
【预测模型】基于matlab RLS算法的数据预测【含Matlab源码 222期】_第4张图片

四、备注

完整代码或者代写添加QQ1564658423
往期回顾>>>>>>
【预测模型】基于matlab粒子群的lssvm预测【含Matlab源码 103期】
【lSSVM预测】基于matlab鲸鱼优化算法之lSSVM数据预测【含Matlab源码 104期】
【lstm预测】基于matlab鲸鱼优化算法之改进的lstm预测【含Matlab源码 105期】
【SVM预测】基于matlab蝙蝠算法改进的SVM预测(一)【含Matlab源码 106期】
【SVM预测】基于matlab灰狼算法优化svm支持向量机预测【含Matlab源码 107期】
【预测模型】基于matlab BP神经网络的预测【含Matlab源码 108期】
【lssvm预测模型】基于蝙蝠算法改进的最小二乘支持向量机lssvm预测【Matlab 109期】
【lssvm预测】基于飞蛾扑火算法改进的最小二乘支持向量机lssvm预测【Matlab 110期】
【SVM预测】基于matlab蝙蝠算法之改进的SVM预测(二)【含Matlab源码 141期】

【lssvm预测】基于matlab飞蛾扑火算法之改进的最小二乘支持向量机lssvm预测【含Matlab源码 142期】
【ANN预测模型】基于matlab差分算法改进ANN网络预测【含Matlab源码 151期】
【预测模型】基于matlab RBF神经网络预测模型【含Matlab源码 177期】
【预测模型】基于matlab SVM回归预测算法来预测股票趋势【含Matlab源码 180期】
【预测模型】基于matlab BP神经网络之模型优化预测【含Matlab源码 221期】

你可能感兴趣的:(matlab,预测模型)