MATLAB的多种预测模型函数(上)建议收藏,可直接调用

初始变量:

yt: 输入的时间序列数据
j: 预测的未来步数

 线性回归预测法:
function results = forecast13(~, yt, j)
    % yt: 输入的时间序列数据
    % j: 预测的未来步数
    
    % 确定输入数据的长度
    n = length(yt);
    
    % 将时间序列数据转换为设计矩阵,用于线性回归
    X = [ones(n, 1), (1:n)']; % 添加截距项和时间趋势项
    
    % 使用最小二乘法进行线性回归
    B = regress(yt', X);
    
    % 初始化预测结果数组
    predictions = zeros(j, 1);
    
    % 计算最后一个已知数据点的索引
    lastIndex = n;
    
    % 使用线性回归模型进行预测
    for i = 1:j
        % 预测未来值
        predictions(i) = B(1) + B(2) * (lastIndex + i);
    end
    
    % 将预测结果转换为列向量形式
    predictions = predictions';
    
    % 将预测结果添加到原始时间序列数据中
    % 确保yt也是一个列向量
    if isvector(yt) && iscolumn(yt)
        yt = [yt; predictions];
    else
        yt = [yt, predictions]; % 如果yt不是列向量,使用水平拼接
    end
    
    % 输出预测结果
    results = yt(n+1:end);
e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值