Professional Documents
Culture Documents
Part 6 - Instrumental Variable Methods
Part 6 - Instrumental Variable Methods
Part 6 - Instrumental Variable Methods
Analytical development
Matlab example
Part VI
Instrumental variable methods
Theoretical guarantees
Analytical development
Matlab example
Table of contents
Analytical development
Matlab example
Theoretical guarantees
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Classification
1
2
3
Analytical development
Matlab example
Table of contents
Analytical development
Starting point: ARX
Instrumental variables methods
Comparison: IV versus PEM
Matlab example
Theoretical guarantees
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
In explicit form:
y(k) + a1 y(k 1) + a2 y (k 2) + . . . + ana y(k na)
= b1 u(k 1) + b2 u(k 2) + . . . + bnb u(k nb) + e(k)
where the model parameters are: a1 , a2 , . . . , ana and b1 , b2 , . . . , bnb .
Analytical development
Matlab example
Theoretical guarantees
y (k ) = a1 y (k 1) a2 y (k 2) . . . ana y (k na)
b1 u(k 1) + b2 u(k 2) + . . . + bnb u(k nb) + e(k)
= y (k 1) y (k na) u(k 1) u(k nb)
>
a1 ana b1 bnb + e(k )
=:> (k ) + e(k )
Regressor vector: Rna+nb , previous output and input values.
Parameter vector: Rna+nb , polynomial coefficients.
Analytical development
Matlab example
Theoretical guarantees
N
1 X
(k)2
N
k=1
k =1
k =1
Analytical development
Matlab example
Theoretical guarantees
Theoretical guarantee
Recall that for the guarantees, a true parameter vector 0 is assumed
to exist:
y (k ) = > (k )0 + v (k)
Analyze the parameter errors (a vector of n elements):
#1 "
N
X
1
1
>
b 0 =
(k) (k )
N
N
k=1
"
#1 "
N
1 X
1
>
(k ) (k)
N
N
k=1
"
#
"
1
N
1 X
1
>
=
(k) (k )
N
N
k=1
"
#1 "
N
1 X
1
>
=
(k) (k )
N
N
"
k=1
N
X
#
(k)y(k)
k=1
N
X
#
>
(k ) (k) 0
k=1
N
X
#
(k)[y (k) > (k)0 ]
k=1
N
X
k=1
#
(k)v (k)
Analytical development
Matlab example
Theoretical guarantees
Further assumptions
We wish the algorithm to be consistent: the parameter errors to
become 0 in the limit of infinite data.
As N :
N
1 X
(k )> (k) E (k)> (k )
N
k=1
N
1 X
(k )v (k) E {(k)v (k )}
N
k =1
Analytical development
Matlab example
Table of contents
Analytical development
Starting point: ARX
Instrumental variables methods
Comparison: IV versus PEM
Matlab example
Theoretical guarantees
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Intuition
#1 "
#
N
N
X
X
1
1
>
(k ) (k)
(k )v (k )
b 0 =
N
N
"
k=1
k=1
#1 "
#
N
N
1 X
1 X
>
Z (k) (k)
Z (k)v (k )
N
N
k=1
k=1
Analytical development
Matlab example
Theoretical guarantees
#1 "
#
N
N
1 X
1 X
>
Z (k ) (k)
Z (k )v (k )
N
N
k=1
(6.1)
k=1
(6.2)
k =1
(6.3)
k=1
Analytical development
Matlab example
Theoretical guarantees
Simple instruments
Analytical development
Matlab example
Theoretical guarantees
Generalization
Pass the input through a transfer function:
C(q 1 )x(k) = D(q 1 )u(k )
(1+c1 q 1 + + cnb q nc )x(k ) =
(d1 q 1 + + dnd q nd )u(k )
x(k) = c1 y(k 1) c2 y (k 2) . . . cnc y(k nc)
d1 u(k 1) + d2 u(k 2) + . . . + dnd u(k nd)
and take na past values from the output x:
>
Analytical development
Matlab example
Theoretical guarantees
In order to obtain:
>
Analytical development
Matlab example
Theoretical guarantees
Z (k ) = [x(k 1), . . . , x(k na), u(k 1), u(k 2), . . . , u(k nb)]
Compare to original vector:
>
Analytical development
Matlab example
Table of contents
Analytical development
Starting point: ARX
Instrumental variables methods
Comparison: IV versus PEM
Matlab example
Theoretical guarantees
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Comparison
Analytical development
Matlab example
Theoretical guarantees
Comparison (continued)
Analytical development
Table of contents
Analytical development
Matlab example
Theoretical guarantees
Matlab example
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Experimental data
Separate identification and validation data sets:
plot(id); and plot(val);
From prior knowledge, the system has order 2 and the disturbance is
colored (does not obey the ARX model structure).
Remarks: As before, the identification input is a pseudo-random
binary signal, and the validation input a sequence of steps.
Analytical development
Matlab example
Theoretical guarantees
Identification data.
Array containing the orders of A and B and the delay nk (like for
ARX).
Polynomials C and D, as vectors of coefficients in increasing
power of q 1 .
Analytical development
Matlab example
Theoretical guarantees
Conclusions:
IV models are not guaranteed to be stable!
Results very bad with this simple choice.
Analytical development
Matlab example
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Analytical development
Table of contents
Analytical development
Matlab example
Theoretical guarantees
Matlab example
Theoretical guarantees
Analytical development
Matlab example
Theoretical guarantees
Assumptions
Assumptions (simplified)
1
Analytical development
Matlab example
Theoretical guarantees
Discussion of assumptions
Assumption 1 shows the main advantage of IV over PEM: the
disturbance can be colored.
Assumptions 2 and 3 are not very different from those made by
PEM. Stability of a discrete-time system requires its poles to be
strictly inside the unit circle:
Analytical development
Matlab example
Theoretical guarantees
Guarantee
Theorem 1
As the number of data points N , the solution b of IV estimation
converges to the true parameter vector 0 .
Remark: This is a consistency guarantee, in the limit of infinitely
many data points.
Analytical development
Matlab example
Theoretical guarantees
Possible extensions