时间序列地matlab实例编程Word格式文档下载.docx
- 文档编号:18341309
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:7
- 大小:16.07KB
时间序列地matlab实例编程Word格式文档下载.docx
《时间序列地matlab实例编程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《时间序列地matlab实例编程Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
12%季节项S1的赋值
S1(i:
12:
(i+12*5))=sum(x(i+12.*[0:
5])-T1(i+12.*[0:
5]))/6;
R1=x-T1-S1;
%随机项R1及绘图
%plot(S1);
%plot(R1,'
%method2-回归直线法
Y=ones(2,72);
Y(2,:
)=1:
72;
A=inv(Y*Y'
)*Y*x'
;
%回归系数
T2=A
(1)+A
(2).*[1:
72];
%趋势项T2的赋值
%数据图和直线趋势2
%plot(T2,'
S2=zeros(1,72);
12%季节项S2的赋值
S2(i:
5])-T2(i+12.*[0:
R2=x-T2-S2;
%随机项R2及绘图
%plot(S2);
%plot(R2,'
%forecast
fcT=A
(1)+A
(2).*[73:
84];
%趋势项预测
fcS=S2(1:
12);
%季节项预测
fcx=fcT+fcS;
%死亡人数预测
function[a,b,sig2]=arma2_4(r,k)
%功能:
根据自协方差函数列求ARMA(2,2)模型
%输入:
r-已知自协方差函数列,k-矩阵的阶数
%输出:
a-模型的数值项系数;
b-噪声项系数;
sig2-噪声项的方差
%2011-4-17,Designedbyluli.
atemp=[r(3)r
(2);
r(4)r(3)]\[r(4);
r(5)];
%系数a的计算
a=[-1;
atemp
(1);
atemp
(2)];
ry=zeros(1,3);
%变换后的MA
(2)模型的自协方差函数列
3
ry(i)=a'
*[r(i)r(i+1)r(i+2);
r(max(3-i,i-1))r(i)r(i+1);
r(4-i)r(max(3-i,i-1))r(i)]*a;
%变换后的MA
(2)模型的参数求解
R=zeros(1,k+1);
R(1,1:
3)=ry;
A=[01;
00];
C=[1;
0];
oma=zeros(2,k);
oma(1,1)=ry
(2);
oma(1,2)=ry(3);
oma(2,1)=ry(3);
r2=[ry
(2);
ry(3)];
gma=zeros(k,k);
k
forj=1:
gma(i,j)=R(abs(i-j)+1);
end
PI=(oma/gma)*oma'
sig2=ry
(1)-C'
*PI*C;
b=(r2-A*PI*C)/sig2;
functiongammak=arma2_5(L,Max)
计算ARMA(2,2)的自协方差函数列
L-变量的计算下标;
Max-计算自协方差的最大次数(默认10000)
gamak-自协方差函数
%2011-4-17,Designedbyluli
a1=0.0894;
%初始参数的赋值
a2=-0.6265;
%b0=1;
b1=-0.3334;
b2=0.8158;
sig2=4.0119;
psy=eye(1,Max);
%wold系数的初值
psy
(2)=b1+a1;
psy(3)=b2+a2+a1*psy
(2);
forj=4:
Max%wold系数列的计算
psy(j)=a1*psy(j-1)+a2*psy(j-2);
gammak=sig2*sum(psy(1:
Max-L).*psy(L+1:
Max));
%自协方差函数的计算
functionv=MA2(r1,k)
根据自协方差函数求MA
(2)模型
r1-已知自协方差函数序列;
k-矩阵的阶数
v-模型的参数组合
r=zeros(1,k+1);
%已知参数赋值
r(1,1:
3)=r1;
oma(1,1)=r1
(2);
oma(1,2)=r1(3);
oma(2,1)=r1(3);
r2=[r1
(2);
r1(3)];
k%gma矩阵的赋值
gma(i,j)=r(abs(i-j)+1);
sig2=r1
(1)-C'
v=[kb'
sig2];
%输出向量
function[H]=AR2Simulink(m,N,M,row,theta)
AR
(2)的模拟计算.
m-X序列的延后取值数;
N-观测数据数;
M-模拟次数;
row-参数值1;
theta-参数值2.
H-H的第一行是样本数向量N;
H的第二行是估计的样本均值Avemu;
H的第三行是估计的噪
%声项均值Avee;
H的第四行是估计的样本方差Stdmu;
H的第五行是估计的噪声项方差Stde.
%2011-5-1,Designedbyluli.
formatshortg
H=zeros(5,length(N));
%各参数的初始化
forj=1:
length(N)%不同观测数的循环模拟
Avemu=zeros(1,length(N));
Avee=zeros(1,length(N));
Stdmu=zeros(1,length(N));
Stde=zeros(1,length(N));
fork=1:
M%多次模拟计算
Y=zeros(1,m+N(j));
terr=zeros(1,m+N(j));
mu=zeros(1,M);
e=zeros(1,M);
forl=3:
m+N(j)%序列值的计算
terr(l)=randn;
Y(l)=2*row*cos(theta)*Y(l-1)-row^2*Y(l-2)+terr(l);
%各参数的赋值
X=Y(1,m+1:
m+N(j));
err=terr(1,m+1:
mu(k)=mean(X);
e(k)=mean(err);
%输出类型的判断
ifM==1
Avemu(j)=mu;
%输出参数的计算
Avee(j)=e;
Stdmu(j)=0;
Stde(j)=0;
else
Avemu(j)=sum(mu)/M;
Avee(j)=sum(e)/M;
Stdmu(j)=sqrt(sum((mu-Avemu(j)).^2)/(M-1));
Stde(j)=sqrt(sum((e-Avee(j)).^2)/(M-1));
H(:
j)=[N(j);
Avemu(j);
Avee(j);
Stdmu(j);
Stde(j)];
%参数值的输出矩阵赋值
End
function[H]=Simulink(m,N,M,row,theta)
length(N)
M
X=zeros(1,N(j));
err=zeros(1,N(j));
m+N(j)
m+N);
Avemu=mu;
Avee=e;
Stdmu=0;
Stde=0;
Avemu=sum(mu)/M;
Avee=sum(e)/M;
Stdmu=sqrt(sum((mu-Avemu).^2)/(M-1));
Stde=sqrt(sum((e-Avee).^2)/(M-1));
H(:
Avemu;
Avee;
Stdmu;
Stde];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时间 序列 matlab 实例 编程