收藏 分销(赏)

MATLAB的ARMA时间序列代码.doc

上传人:天**** 文档编号:2312019 上传时间:2024-05-27 格式:DOC 页数:2 大小:11.53KB 下载积分:5 金币
下载 相关 举报
MATLAB的ARMA时间序列代码.doc_第1页
第1页 / 共2页
MATLAB的ARMA时间序列代码.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
function [yhat , se ] = arimapred(y,phi,theta,d,mu,sa2,l) % ARIMAPRED(Y,PHI,THETA,D,MU,SA2,L) Forecast ARIMA process % INPUTS: 输入 % y = observed data; n by 1 y为观测数据:1-n % phi = vector of AR coefficients; p by 1 回归系数向量 % theta = vector of MA coefficients; q by 1 % d = order of differencing; 1 by 1 integer % mu = mean of d times differenced y process; 1 by 1 % sa2 = variance of "shocks"; 1 by 1 and positive % l = forecast lead time; 1 by 1 positive integer % OUTPUTS: % yhat = point forecasts; l by 1 % se = prediction standard deviations; 1 by 1 [n m ] = size(y); z = y; if d > 0 for k = 1:d z = z(2:(n-k+1)) - z(1:(n-k)); end end acvf = armaacvf(phi,theta,n-d+l); V = toeplitz(acvf); V11 = V(1:(n-d),1:(n-d)); V21 = V((n-d+1):(n-d+l),1:(n-d)); V22 = V((n-d+1):(n-d+l),(n-d+1):(n-d+l)); mu1 = mu*ones(n-d,1); mu2 = mu*ones(l,1); [ zhat Vp ] = blip(z,mu1,mu2,V11,V22,V21); if d==0 yhat = zhat; se = sqrt(diag(Vp)); else A = tril(ones(l,l)); B = A^d; Vpy = B*Vp*B'; se = sqrt(diag(Vpy)); dy = [ y(n-d+1) ]; if d > 1 yend = y((n-d+1):n); for k = 2:d yend = diff(yend); dy = [ dy ; yend(1) ]; end end yhat = zhat; for k=1:d yhat = cumsum([ dy(d-k+1) ; yhat ]); end yhat = yhat((d+1):(l+d)); end
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服