基于奖励的时间序列预测模型(RBTM)及其在预测地球自转动态和复杂行为(Δ-T值)中的应用(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客  

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

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

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

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

本文引入了RBTM作为一种新颖的方法来预测时间序列,其结构非常简单。该方法提取时间序列的特征作为独特的规则,并计算其适当的相关奖励。这些规则和奖励保存在知识库部分。使用规则、奖励和时间序列的上一个值,计算下一个值。为了评估RBTM,运行预测了5个不同的时间序列(具有1000个样本的Lorenz时间序列,具有1000个样本的Rössler时间序列,具有317个样本的SSN时间序列以及具有1000个样本的QP3时间序列),并将结果与MLP,TDNN,NARX, ANFIS 和 LSTM 模型。结果表明,与其他方法相比,RBTM的误差降低了0.6%至84.4%。然后,RBTM用于预测地球自转的动态和复杂行为(DT值),作为实际应用。在这种情况下,选择了 1800-2000 年和 2000-2018 年的数据分别对零件进行建模和测试。测试部件的平均绝对误差(MAE)和均方根误差(RMSE)分别为1.04和1.40。为了评估预测的准确性,将RBTM结果与先前模型的预测结果进行了比较。结果表明,与其他方法相比,RBTM的MAE和RMSE分别降低了48%和39%。 在RBTM中,时间序列的下一个值是通过其前一个值和奖励信号的总和来计算的。每个步骤中的奖励由知识库(知识库部分)获得。知识库由规则库 (RB) 和奖励库 (REB) 组成。RB 中的每个规则都有一个 If 部分 (IP) 和一个然后部分 (TP)。每个唯一的TP在REB中都有一个等效的奖励奇异值。RB 和 REB 是在特定过程中从时间序列的一阶差数组生成的。从 KB 中提取具有时间序列值以及等效 IP、TP 和适当的奖励值。然后,奖励的后续值由上述求和生成。下面将介绍生成 RB、REB 和时间序列的下一个值的方法。 RBTM的一般规格如下: • 它不属于众所周知的机器学习算法类别,也不使用学习算法。 • 它对起点不敏感。 • 可用于小样本和大样本的时间序列。 •它使用邻里和规则的概念。然而,由于缺乏环境(外部)链接,它与任何类型的元胞自动机完全不同。 • 它提取任何时间序列的潜在知识作为独特的规则。 • 具有不同长度的 IP 矢量的 RB 保存了不同数量的知识。 • 每个生成模型的MaxAE和MAE值小于CW量的两倍。 • 为了达到合理的精度,必须正确设置参数N和LR。 RBTM的有效参数: RBTM 最敏感的部分是 KB。通过浏览生成 KB 的过程,可以推断出 N(L 中的标签数)和 LR(规则向量的长度)是创建此参数的有效参数。因此,它们对RBTM的准确性和速度有效。在这方面,N具有生成REB的直接效果和创建RB的反向效果。N的增加降低了CW的值,并最终放大了模型的准确性。但是,它会导致CB元素和总计算量增加。是在方面,LR对生成RB有直接影响。随着此参数值的增加,以 KB 为单位保存的知识量也会增加,从而提高模型和总计算量的准确性。 因此,为了达到所需的精度和速度,必须仔细选择N和LR参数。N 和 LR 的最小值分别为 3 且等于 MSL。

📚2 运行结果

 

 部分代码:

function [ Predicted_Class_Lable , New_Input , Checking_Code] = KM_Model ( Knowledge_Base_In , Knowledge_Base_In_str , Knowledge_Base_Target , Input )

str_Input = strcat( num2str( Input ) ) ;
L = length (Knowledge_Base_Target) ;
Rule_In_Length = length ( Knowledge_Base_In(1,:)) ; % Rule_In_Length

Checking_Code = 0 ;
for i = 1 : L
    str_Rule = Knowledge_Base_In_str {i} ;
    if strcmp( str_Input , str_Rule ) == 1
        Predicted_Class_Lable = Knowledge_Base_Target (i) ;
        Checking_Code = 1 ;
        break
    end
end

%%
% Similarity Checking
Similarity_Function = 1 ;

% ---------------------
% Similarity Function 1
if Similarity_Function == 1
    
    if Checking_Code == 0
        for i = 1 : L
            for j = 1 : Rule_In_Length
                str_Rule_Element = num2str(Knowledge_Base_In (i,j)) ;
                str_Input = num2str( Input(j) );
                Temp_Similarity (i,j) = strcmp( str_Input , str_Rule_Element ) ;
            end
            Similarity(i) = sum ( Temp_Similarity (i,:) ) ;
        end
        
        
        Max_Similarity = max( Similarity ) ;
        
        
        for i = 1 : L
            if Similarity (i) == Max_Similarity
                Predicted_Class_Lable = Knowledge_Base_Target (i) ;
                break
            end
        end
        
        
    end
end

% ---------------------
% Similarity Function 2

if Similarity_Function == 2
    
    if Checking_Code == 0
        for i = 1 : L
            Temp_Similarity = Input - Knowledge_Base_In (i,:) ;
            Similarity(i) = sum ( abs ( Temp_Similarity  ) ) ;
        end
        
        Max_Similarity = max( Similarity ) ;
        
        for i = 1 : L
            if Similarity (i) == Max_Similarity
                Predicted_Class_Lable = Knowledge_Base_Target (i) ;
                break
            end
        end
        
    end
    
end
%%
Temp_Input = [ Input , Predicted_Class_Lable ] ;
New_Input      = Temp_Input ( 2 : end )      ;

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Alireza Hakimi, Amirhassan Monadjemi, Saeed Setayeshi (2021) An Introduction of a Reward-Based Time-Series Forecasting Model (RBTM) and its Application in Predicting the Dynamic and Complicated Behavior of the Earth Rotation (Delta-T Values)

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值