Tanks for the update. The false value when A contains unit root is a fault of design. The information on which columns are useable is in the list of stationary variables,
Best
Michel
G. Perendia wrote:
Dear Michel and Stephane
Re the below warning: the results from lyapunov_symm.m seem now correct - It seems that my Matlab variables memory was corrupted and after a reboot and restart it seems ok now - sorry for the alarm.
It however reports (an incorrect ) X=[0's] instead of indeterminate or NaN if I pass a=I.
PS: and I still need to test and debug new C++lyapunov because it may have been causing the variable corruption.
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk Cc: "List for Dynare developers" dev@dynare.org Sent: Wednesday, July 29, 2009 9:27 AM Subject: lyapunov kalman filter options
I would use lyapunov_tol = 1e-12 (in the example disclyap_fat.m, the criterium is 1e-16) and kalman_tol = 1e-12
Both options should be accessible to users and obtained from options_. The initialization should take place in global_initialization.m
Best
Michel
Errata:
- it is options_.lyapunov_complex_threshold=1e-15 that is passed in
calls
to the existing lyapunov_symm.m and I can use that as tolerance instead the original 1e-6 if needed.
Warning:
If I pass a=T=[0] and b=RQR'~0 to lyapunov_symm.m, I get result Pstar
very
different from b although the solution to Lyapunov x-a*x*a' = b is
x=b=RQR'
and both, the new C++ and old matlab disklyap_fast return X=b=RQR as solution!!
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "G. Perendia" george@perendia.orangehome.co.uk To: "Michel Juillard" michel.juillard@ens.fr; "Stéphane Adjemian" stephane.adjemian@gmail.com Sent: Wednesday, July 29, 2009 7:46 AM Subject: Re: measurement errors + steady KF
Hi Michel, Stephane
What tolerances should we use to pass:
1)for the new fast iterative C++ Lyapunov solution convergence check
if max( max( abs( P1 - P0 ) ) )>tol
The original Joe Pearlman's matlab code used 1e-6. which is same as
Dynare
default ricatti_tol (also used for a similar purpose in calls to the existing lyapunov_symm.m.). So, shall we use the riccati_tol or set a separate, lyapunov_tol one at the same default level?
- and, as per below, for the Old style DiffuseLikelihood.m like Pstar
convergence/differences, that has been built into the C++KF i.e.: notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit); where crit is options_.kalman_tol = 1.0000e-012 - I guess we can
continue
to use the same though the new likelihood/kalman_filter*.m suite uses riccati_tol
instead
but for F convergence check.
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk; "Stéphane
Adjemian"
stephane.adjemian@gmail.com Sent: Tuesday, July 14, 2009 11:47 PM Subject: Re: measurement errors + steady KF
I don't know. This is something that we need to discuss with Stephane.
All the best,
Michel
G. Perendia wrote:
Thanks Michel
I am finishing algorithm for checking if KF P (and/or K) are steady
for
the
C++KF.
Old DiffuseLikelihood.m uses Pstar differences, i.e.: notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit); where crit is options_.kalman_tol = 1.0000e-012
whilst the new kalman_filter.m uses K to check: notsteady = max(max(abs(K-oldK))) > riccati_tol; where K = Pstar*Z'*invF; and options_.riccati_tol= 1.0000e-006
Which tolerance (and check) should I use for C++KF? I have already built a system using Pstar -oldPstar and that works
well
but
question is which tolerance to use since riccati seems sufficient for
P
difference too.
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk Sent: Tuesday, July 14, 2009 6:57 AM Subject: Re: measurement errors
> Hi George, > > it is like for exogenous variables. If GDP is an endogenous variable > > estimated_params; > stderr GDP, uniform_pdf,,,0,1; > .... > end; > > will introduce a measurement error on GDP. > > Best > > Michel > G. Perendia wrote: > > > >> Dear Michel >> >> For testing Part Info (and the other) Kalman filters, I would need >> >>
to
>> set situation with measurement errors so that H~=0. >> >> Can you please let me know how one specifies measurement errors >> in Dynare for estimation so that H ~ =0? >> Best regards >> >> George >> Mob. +44(0)7951415480 >> artilogica@btconnect.com mailto:artilogica@btconnect.com >> >> >>
a
Dear Michel (et al)
On my slower laptop I run few tests and got timings roughly on lines of the following timings for an 8x8 T matrix and 10,000 loops:
Matlab:
lyapunov_symm.m time = 19.2270 s Pearlman Matlab disclyap_fast.m time = 13.0280 s
New C++ disclyap_fast DLL:
disclyap_fast_dll_time = 7.8010 sec for tolerance= 1e-16 disclyap_fast_dll_time = 6.5600 sec for tolerance= 1e-12
Best regards
George
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk; "List for Dynare developers" dev@dynare.org Sent: Wednesday, July 29, 2009 10:33 AM Subject: Re: [DynareDev] lyapunov kalman filter options
Tanks for the update. The false value when A contains unit root is a fault of design. The information on which columns are useable is in the list of stationary variables,
Best
Michel
G. Perendia wrote:
Dear Michel and Stephane
Re the below warning: the results from lyapunov_symm.m seem now correct -
It
seems that my Matlab variables memory was corrupted and after a reboot and restart it seems ok now - sorry for the alarm.
It however reports (an incorrect ) X=[0's] instead of indeterminate or
NaN
if I pass a=I.
PS: and I still need to test and debug new C++lyapunov because it may have been causing the variable corruption.
Best regards
George
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk Cc: "List for Dynare developers" dev@dynare.org Sent: Wednesday, July 29, 2009 9:27 AM Subject: lyapunov kalman filter options
I would use lyapunov_tol = 1e-12 (in the example disclyap_fat.m, the criterium is 1e-16) and kalman_tol = 1e-12
Both options should be accessible to users and obtained from options_. The initialization should take place in global_initialization.m
Best
Michel
Errata:
- it is options_.lyapunov_complex_threshold=1e-15 that is passed in
calls
to the existing lyapunov_symm.m and I can use that as tolerance instead the original 1e-6 if needed.
Warning:
If I pass a=T=[0] and b=RQR'~0 to lyapunov_symm.m, I get result Pstar
very
different from b although the solution to Lyapunov x-a*x*a' = b is
x=b=RQR'
and both, the new C++ and old matlab disklyap_fast return X=b=RQR as solution!!
Best regards
George
----- Original Message ----- From: "G. Perendia" george@perendia.orangehome.co.uk To: "Michel Juillard" michel.juillard@ens.fr; "Stéphane Adjemian" stephane.adjemian@gmail.com Sent: Wednesday, July 29, 2009 7:46 AM Subject: Re: measurement errors + steady KF
Hi Michel, Stephane
What tolerances should we use to pass:
1)for the new fast iterative C++ Lyapunov solution convergence check
if max( max( abs( P1 - P0 ) ) )>tol
The original Joe Pearlman's matlab code used 1e-6. which is same as
Dynare
default ricatti_tol (also used for a similar purpose in calls to the existing lyapunov_symm.m.). So, shall we use the riccati_tol or set a separate, lyapunov_tol one at the same default level?
- and, as per below, for the Old style DiffuseLikelihood.m like Pstar
convergence/differences, that has been built into the C++KF i.e.: notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit); where crit is options_.kalman_tol = 1.0000e-012 - I guess we can
continue
to use the same though the new likelihood/kalman_filter*.m suite uses riccati_tol
instead
but for F convergence check.
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk; "Stéphane
Adjemian"
stephane.adjemian@gmail.com Sent: Tuesday, July 14, 2009 11:47 PM Subject: Re: measurement errors + steady KF
I don't know. This is something that we need to discuss with Stephane.
All the best,
Michel
G. Perendia wrote:
Thanks Michel
I am finishing algorithm for checking if KF P (and/or K) are steady
for
the
C++KF.
Old DiffuseLikelihood.m uses Pstar differences, i.e.: notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit); where crit is options_.kalman_tol = 1.0000e-012
whilst the new kalman_filter.m uses K to check: notsteady = max(max(abs(K-oldK))) > riccati_tol; where K = Pstar*Z'*invF; and options_.riccati_tol= 1.0000e-006
Which tolerance (and check) should I use for C++KF? I have already built a system using Pstar -oldPstar and that works
well
but
question is which tolerance to use since riccati seems sufficient for
P
difference too.
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk Sent: Tuesday, July 14, 2009 6:57 AM Subject: Re: measurement errors
> Hi George, > > it is like for exogenous variables. If GDP is an endogenous variable > > estimated_params; > stderr GDP, uniform_pdf,,,0,1; > .... > end; > > will introduce a measurement error on GDP. > > Best > > Michel > G. Perendia wrote: > > > >> Dear Michel >> >> For testing Part Info (and the other) Kalman filters, I would need >> >>
to
>> set situation with measurement errors so that H~=0. >> >> Can you please let me know how one specifies measurement errors >> in Dynare for estimation so that H ~ =0? >> Best regards >> >> George >> artilogica@btconnect.com mailto:artilogica@btconnect.com >> >> >>
a
_______________________________________________ Dev mailing list Dev@dynare.org http://www.dynare.org/cgi-bin/mailman/listinfo/dev
Sounds good, thanks
Michel
G. Perendia wrote:
Dear Michel (et al)
On my slower laptop I run few tests and got timings roughly on lines of the following timings for an 8x8 T matrix and 10,000 loops:
Matlab:
lyapunov_symm.m time = 19.2270 s Pearlman Matlab disclyap_fast.m time = 13.0280 s
New C++ disclyap_fast DLL:
disclyap_fast_dll_time = 7.8010 sec for tolerance= 1e-16 disclyap_fast_dll_time = 6.5600 sec for tolerance= 1e-12
Best regards
George
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk; "List for Dynare developers" dev@dynare.org Sent: Wednesday, July 29, 2009 10:33 AM Subject: Re: [DynareDev] lyapunov kalman filter options
Tanks for the update. The false value when A contains unit root is a fault of design. The information on which columns are useable is in the list of stationary variables,
Best
Michel
G. Perendia wrote:
Dear Michel and Stephane
Re the below warning: the results from lyapunov_symm.m seem now correct -
It
seems that my Matlab variables memory was corrupted and after a reboot and restart it seems ok now - sorry for the alarm.
It however reports (an incorrect ) X=[0's] instead of indeterminate or
NaN
if I pass a=I.
PS: and I still need to test and debug new C++lyapunov because it may have been causing the variable corruption.
Best regards
George
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk Cc: "List for Dynare developers" dev@dynare.org Sent: Wednesday, July 29, 2009 9:27 AM Subject: lyapunov kalman filter options
I would use lyapunov_tol = 1e-12 (in the example disclyap_fat.m, the criterium is 1e-16) and kalman_tol = 1e-12
Both options should be accessible to users and obtained from options_. The initialization should take place in global_initialization.m
Best
Michel
Errata:
- it is options_.lyapunov_complex_threshold=1e-15 that is passed in
calls
to the existing lyapunov_symm.m and I can use that as tolerance instead the original 1e-6 if needed.
Warning:
If I pass a=T=[0] and b=RQR'~0 to lyapunov_symm.m, I get result Pstar
very
different from b although the solution to Lyapunov x-a*x*a' = b is
x=b=RQR'
and both, the new C++ and old matlab disklyap_fast return X=b=RQR as solution!!
Best regards
George
----- Original Message ----- From: "G. Perendia" george@perendia.orangehome.co.uk To: "Michel Juillard" michel.juillard@ens.fr; "Stéphane Adjemian" stephane.adjemian@gmail.com Sent: Wednesday, July 29, 2009 7:46 AM Subject: Re: measurement errors + steady KF
Hi Michel, Stephane
What tolerances should we use to pass:
1)for the new fast iterative C++ Lyapunov solution convergence check
if max( max( abs( P1 - P0 ) ) )>tol
The original Joe Pearlman's matlab code used 1e-6. which is same as
Dynare
default ricatti_tol (also used for a similar purpose in calls to the existing lyapunov_symm.m.). So, shall we use the riccati_tol or set a separate, lyapunov_tol one at the same default level?
- and, as per below, for the Old style DiffuseLikelihood.m like Pstar
convergence/differences, that has been built into the C++KF i.e.: notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit); where crit is options_.kalman_tol = 1.0000e-012 - I guess we can
continue
to use the same though the new likelihood/kalman_filter*.m suite uses riccati_tol
instead
but for F convergence check.
Best regards
George Mob. +44(0)7951415480 artilogica@btconnect.com
----- Original Message ----- From: "Michel Juillard" michel.juillard@ens.fr To: "G. Perendia" george@perendia.orangehome.co.uk; "Stéphane
Adjemian"
stephane.adjemian@gmail.com Sent: Tuesday, July 14, 2009 11:47 PM Subject: Re: measurement errors + steady KF
I don't know. This is something that we need to discuss with Stephane.
All the best,
Michel
G. Perendia wrote:
> Thanks Michel > > I am finishing algorithm for checking if KF P (and/or K) are steady > > >
for
the
> C++KF. > > Old DiffuseLikelihood.m uses Pstar differences, i.e.: > notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit); > where crit is options_.kalman_tol = 1.0000e-012 > > whilst the new kalman_filter.m uses K to check: > notsteady = max(max(abs(K-oldK))) > riccati_tol; > where > K = Pstar*Z'*invF; > and options_.riccati_tol= 1.0000e-006 > > Which tolerance (and check) should I use for C++KF? > I have already built a system using Pstar -oldPstar and that works > > >
well
but
> question is which tolerance to use since riccati seems sufficient for > > >
P
> difference too. > > Best regards > > George > Mob. +44(0)7951415480 > artilogica@btconnect.com > > ----- Original Message ----- > From: "Michel Juillard" michel.juillard@ens.fr > To: "G. Perendia" george@perendia.orangehome.co.uk > Sent: Tuesday, July 14, 2009 6:57 AM > Subject: Re: measurement errors > > > > > > >> Hi George, >> >> it is like for exogenous variables. If GDP is an endogenous variable >> >> estimated_params; >> stderr GDP, uniform_pdf,,,0,1; >> .... >> end; >> >> will introduce a measurement error on GDP. >> >> Best >> >> Michel >> G. Perendia wrote: >> >> >> >> >>> Dear Michel >>> >>> For testing Part Info (and the other) Kalman filters, I would need >>> >>> >>>
to
>>> set situation with measurement errors so that H~=0. >>> >>> Can you please let me know how one specifies measurement errors >>> in Dynare for estimation so that H ~ =0? >>> Best regards >>> >>> George >>> artilogica@btconnect.com mailto:artilogica@btconnect.com >>> >>> >>> >>> > a
Dev mailing list Dev@dynare.org http://www.dynare.org/cgi-bin/mailman/listinfo/dev
Dev mailing list Dev@dynare.org http://www.dynare.org/cgi-bin/mailman/listinfo/dev