1
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
2
<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
4
<LANGUAGE>eng</LANGUAGE>
6
<TYPE>Scilab Function</TYPE>
7
<DATE>April 1993</DATE>
8
<SHORT_DESCRIPTION name="rpem"> RPEM estimation</SHORT_DESCRIPTION>
10
<CALLING_SEQUENCE_ITEM>[w1,[v]]=rpem(w0,u0,y0,[lambda,[k,[c]]]) </CALLING_SEQUENCE_ITEM>
15
<PARAM_NAME>a,b,c</PARAM_NAME>
17
<SP>: <VERB>a=[a(1),...,a(n)], b=[b(1),...,b(n)], c=[c(1),...,c(n)]</VERB></SP>
21
<PARAM_NAME>w0</PARAM_NAME>
23
<SP>: <VERB>list(theta,p,phi,psi,l)</VERB> where:</SP>
26
<PARAM_NAME>theta</PARAM_NAME>
28
<SP>: [a,b,c] is a real vector of order <VERB>3*n</VERB></SP>
32
<PARAM_NAME>p</PARAM_NAME>
34
<SP>: (3*n x 3*n) real matrix.</SP>
38
<PARAM_NAME>phi,psi,l</PARAM_NAME>
40
<SP>: real vector of dimension <VERB>3*n</VERB></SP>
45
During the first call on can take:
49
theta=phi=psi=l=0*ones(1,3*n). p=eye(3*n,3*n)
55
<PARAM_NAME>u0</PARAM_NAME>
57
<SP>: real vector of inputs (arbitrary size) (if no input take <VERB>u0=[ ]</VERB>).</SP>
61
<PARAM_NAME>y0</PARAM_NAME>
63
<SP>: vector of outputs (same dimension as <VERB>u0</VERB> if <VERB>u0</VERB> is not empty). (<VERB>y0(1)</VERB> is not used by rpem).</SP>
65
If the time domain is <VERB>(t0,t0+k-1)</VERB> the <VERB>u0</VERB> vector contains the inputs
67
<P><VERB>u(t0),u(t0+1),..,u(t0+k-1)</VERB> and <VERB>y0</VERB> the outputs
70
<VERB>y(t0),y(t0+1),..,y(t0+k-1)</VERB>
78
Recursive estimation of parameters in an ARMAX model.
79
Uses Ljung-Soderstrom recursive prediction error method.
80
Model considered is the following:
84
y(t)+a(1)*y(t-1)+...+a(n)*y(t-n)=
85
b(1)*u(t-1)+...+b(n)*u(t-n)+e(t)+c(1)*e(t-1)+...+c(n)*e(t-n)
91
The effect of this command is to update the estimation of
92
unknown parameter <VERB>theta=[a,b,c]</VERB> with
94
<P><VERB>a=[a(1),...,a(n)], b=[b(1),...,b(n)], c=[c(1),...,c(n)]</VERB>.
97
<SECTION label="Optional parameters">
100
<SP>: optional parameter (forgetting constant) choosed close to 1 as convergence occur:</SP>
101
<P><VERB>lambda=[lambda0,alfa,beta]</VERB> evolves according to :</P>
104
lambda(t)=alfa*lambda(t-1)+beta
108
with <VERB>lambda(0)=lambda0</VERB></P>
109
<P><VERB>k</VERB> : contraction factor to be chosen close to 1 as convergence occurs.</P>
110
<P><VERB>k=[k0,mu,nu]</VERB> evolves according to:</P>
117
with <VERB>k(0)=k0</VERB>.</P>
118
<P><VERB>c</VERB> : large parameter.(<VERB>c=1000</VERB> is the default value).</P>
122
<SECTION label="Output parameters:">
123
<P><VERB>w1</VERB>: update for <VERB>w0</VERB>.</P>
124
<P><VERB>v</VERB>: sum of squared prediction errors on <VERB>u0, y0</VERB>.(optional).</P>
126
In particular <VERB>w1(1)</VERB> is the new estimate of <VERB>theta</VERB>. If a new sample <VERB>u1, y1</VERB> is available the update is obtained by:</P>
127
<P><VERB>[w2,[v]]=rpem(w1,u1,y1,[lambda,[k,[c]]])</VERB>. Arbitrary large series can thus be treated.</P>