Add unit test for kalman filter with missing observations
Contributed by Johannes Pfeifertime-shift
parent
3414d4d468
commit
57b7c0e94f
|
@ -39,6 +39,7 @@ wsOct
|
|||
!/external_function/extFunWithFirstAndSecondDerivs.m
|
||||
!/fs2000/fs2000a_steadystate.m
|
||||
!/fs2000/fsdat_simul.m
|
||||
!/fs2000/fsdat_simul_missing_obs.m
|
||||
!/gsa/data_ca1.m
|
||||
!/gsa/data_ca1.mat
|
||||
!/gsa/ls2003_mean.mat
|
||||
|
|
|
@ -67,6 +67,7 @@ MODFILES = \
|
|||
fs2000/fs2000_calib.mod \
|
||||
fs2000/fs2000_analytic_derivation.mod \
|
||||
fs2000/fs2000_particle.mod \
|
||||
fs2000/fs2000_missing_data.mod \
|
||||
homotopy/homotopy1_test.mod \
|
||||
homotopy/homotopy2_test.mod \
|
||||
homotopy/homotopy3_test.mod \
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
// Tests kalman filter with missing observations
|
||||
|
||||
var m P c e W R k d n l gy_obs gp_obs y dA;
|
||||
varexo e_a e_m;
|
||||
|
||||
parameters alp bet gam mst rho psi del;
|
||||
|
||||
alp = 0.33;
|
||||
bet = 0.99;
|
||||
gam = 0.003;
|
||||
mst = 1.011;
|
||||
rho = 0.7;
|
||||
psi = 0.787;
|
||||
del = 0.02;
|
||||
|
||||
model;
|
||||
dA = exp(gam+e_a);
|
||||
log(m) = (1-rho)*log(mst) + rho*log(m(-1))+e_m;
|
||||
-P/(c(+1)*P(+1)*m)+bet*P(+1)*(alp*exp(-alp*(gam+log(e(+1))))*k^(alp-1)*n(+1)^(1-alp)+(1-del)*exp(-(gam+log(e(+1)))))/(c(+2)*P(+2)*m(+1))=0;
|
||||
W = l/n;
|
||||
-(psi/(1-psi))*(c*P/(1-n))+l/n = 0;
|
||||
R = P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(-alp)/W;
|
||||
1/(c*P)-bet*P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)/(m*l*c(+1)*P(+1)) = 0;
|
||||
c+k = exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)+(1-del)*exp(-(gam+e_a))*k(-1);
|
||||
P*c = m;
|
||||
m-1+d = l;
|
||||
e = exp(e_a);
|
||||
y = k(-1)^alp*n^(1-alp)*exp(-alp*(gam+e_a));
|
||||
gy_obs = dA*y/y(-1);
|
||||
gp_obs = (P/P(-1))*m(-1)/dA;
|
||||
end;
|
||||
|
||||
initval;
|
||||
k = 6;
|
||||
m = mst;
|
||||
P = 2.25;
|
||||
c = 0.45;
|
||||
e = 1;
|
||||
W = 4;
|
||||
R = 1.02;
|
||||
d = 0.85;
|
||||
n = 0.19;
|
||||
l = 0.86;
|
||||
y = 0.6;
|
||||
gy_obs = exp(gam);
|
||||
gp_obs = exp(-gam);
|
||||
dA = exp(gam);
|
||||
end;
|
||||
|
||||
shocks;
|
||||
var e_a; stderr 0.014;
|
||||
var e_m; stderr 0.005;
|
||||
end;
|
||||
|
||||
steady;
|
||||
|
||||
check;
|
||||
|
||||
estimated_params;
|
||||
alp, beta_pdf, 0.356, 0.02;
|
||||
bet, beta_pdf, 0.993, 0.002;
|
||||
gam, normal_pdf, 0.0085, 0.003;
|
||||
mst, normal_pdf, 1.0002, 0.007;
|
||||
rho, beta_pdf, 0.129, 0.223;
|
||||
psi, beta_pdf, 0.65, 0.05;
|
||||
del, beta_pdf, 0.01, 0.005;
|
||||
stderr e_a, inv_gamma_pdf, 0.035449, inf;
|
||||
stderr e_m, inv_gamma_pdf, 0.008862, inf;
|
||||
end;
|
||||
|
||||
varobs gp_obs gy_obs;
|
||||
|
||||
estimation(order=1, datafile=fsdat_simul_missing_obs, nobs=192, loglinear, mh_replic=2000, mh_nblocks=2, mh_jscale=0.8);
|
||||
|
||||
|
||||
/*
|
||||
* The following lines were used to generate the data file. If you want to
|
||||
* generate another random data file, comment the "estimation" line and uncomment
|
||||
* the following lines.
|
||||
*/
|
||||
|
||||
//stoch_simul(periods=200, order=1);
|
||||
//datatomfile('fsdat_simul', char('gy_obs', 'gp_obs'));
|
|
@ -0,0 +1,416 @@
|
|||
% Generated data, used by fs2000.mod
|
||||
|
||||
gy_obs =[
|
||||
NaN
|
||||
1.0002599
|
||||
0.99104664
|
||||
1.0321162
|
||||
1.0223545
|
||||
1.0043614
|
||||
0.98626929
|
||||
1.0092127
|
||||
1.0357197
|
||||
1.0150827
|
||||
1.0051548
|
||||
0.98465775
|
||||
0.99132132
|
||||
0.99904153
|
||||
1.0044641
|
||||
1.0179198
|
||||
1.0113462
|
||||
0.99409421
|
||||
0.99904293
|
||||
1.0448336
|
||||
0.99932433
|
||||
1.0057004
|
||||
0.99619787
|
||||
1.0267504
|
||||
1.0077645
|
||||
1.0058026
|
||||
1.0025891
|
||||
0.9939097
|
||||
0.99604693
|
||||
0.99908569
|
||||
1.0151094
|
||||
0.99348134
|
||||
1.0039124
|
||||
1.0145805
|
||||
0.99800868
|
||||
0.98578138
|
||||
1.0065771
|
||||
0.99843919
|
||||
0.97979062
|
||||
0.98413351
|
||||
0.96468174
|
||||
1.0273857
|
||||
1.0225211
|
||||
0.99958667
|
||||
1.0111157
|
||||
1.0099585
|
||||
0.99480311
|
||||
1.0079265
|
||||
0.98924573
|
||||
1.0070613
|
||||
1.0075706
|
||||
0.9937151
|
||||
1.0224711
|
||||
1.0018891
|
||||
0.99051863
|
||||
1.0042944
|
||||
1.0184055
|
||||
0.99419508
|
||||
0.99756624
|
||||
1.0015983
|
||||
0.9845772
|
||||
1.0004407
|
||||
1.0116237
|
||||
0.9861885
|
||||
1.0073094
|
||||
0.99273355
|
||||
1.0013224
|
||||
0.99777979
|
||||
1.0301686
|
||||
0.96809556
|
||||
0.99917088
|
||||
0.99949253
|
||||
0.96590004
|
||||
1.0083938
|
||||
0.96662298
|
||||
1.0221454
|
||||
1.0069792
|
||||
1.0343996
|
||||
1.0066531
|
||||
1.0072525
|
||||
0.99743563
|
||||
0.99723703
|
||||
1.000372
|
||||
0.99013917
|
||||
1.0095223
|
||||
0.98864268
|
||||
0.98092242
|
||||
0.98886488
|
||||
1.0030341
|
||||
1.01894
|
||||
0.99155059
|
||||
0.99533235
|
||||
0.99734316
|
||||
1.0047356
|
||||
1.0082737
|
||||
0.98425116
|
||||
0.99949212
|
||||
1.0055899
|
||||
1.0065075
|
||||
0.99385069
|
||||
0.98867975
|
||||
0.99804843
|
||||
1.0184038
|
||||
0.99301902
|
||||
1.0177222
|
||||
1.0051924
|
||||
1.0187852
|
||||
1.0098985
|
||||
1.0097172
|
||||
1.0145811
|
||||
0.98721038
|
||||
1.0361722
|
||||
1.0105821
|
||||
0.99469309
|
||||
0.98626785
|
||||
1.013871
|
||||
0.99858924
|
||||
0.99302637
|
||||
1.0042186
|
||||
0.99623745
|
||||
0.98545708
|
||||
1.0225435
|
||||
1.0011861
|
||||
1.0130321
|
||||
0.97861347
|
||||
1.0228193
|
||||
0.99627435
|
||||
1.0272779
|
||||
1.0075172
|
||||
1.0096762
|
||||
1.0129306
|
||||
0.99966549
|
||||
1.0262882
|
||||
1.0026914
|
||||
1.0061475
|
||||
1.009523
|
||||
1.0036127
|
||||
0.99762992
|
||||
0.99092634
|
||||
1.0058469
|
||||
0.99887292
|
||||
1.0060653
|
||||
0.98673557
|
||||
0.98895709
|
||||
0.99111967
|
||||
0.990118
|
||||
0.99788054
|
||||
0.97054709
|
||||
1.0099157
|
||||
1.0107431
|
||||
0.99518695
|
||||
1.0114048
|
||||
0.99376019
|
||||
1.0023369
|
||||
0.98783327
|
||||
1.0051727
|
||||
1.0100462
|
||||
0.98607387
|
||||
1.0000064
|
||||
0.99692442
|
||||
1.012225
|
||||
0.99574078
|
||||
0.98642833
|
||||
0.99008207
|
||||
1.0197359
|
||||
1.0112849
|
||||
0.98711069
|
||||
0.99402748
|
||||
1.0242141
|
||||
1.0135349
|
||||
0.99842505
|
||||
1.0130714
|
||||
0.99887044
|
||||
1.0059058
|
||||
1.0185998
|
||||
1.0073314
|
||||
0.98687706
|
||||
1.0084551
|
||||
0.97698964
|
||||
0.99482714
|
||||
1.0015302
|
||||
1.0105331
|
||||
1.0261767
|
||||
1.0232822
|
||||
1.0084176
|
||||
0.99785167
|
||||
0.99619733
|
||||
1.0055223
|
||||
1.0076326
|
||||
0.99205461
|
||||
1.0030587
|
||||
1.0137012
|
||||
1.0145878
|
||||
1.0190297
|
||||
1.0000681
|
||||
1.0153894
|
||||
1.0140649
|
||||
1.0007236
|
||||
0.97961463
|
||||
1.0125257
|
||||
1.0169503
|
||||
NaN
|
||||
1.0221185
|
||||
|
||||
];
|
||||
|
||||
gp_obs =[
|
||||
1.0079715
|
||||
1.0115853
|
||||
1.0167502
|
||||
1.0068957
|
||||
1.0138189
|
||||
1.0258364
|
||||
1.0243817
|
||||
1.017373
|
||||
1.0020171
|
||||
1.0003742
|
||||
1.0008974
|
||||
1.0104804
|
||||
1.0116393
|
||||
1.0114294
|
||||
0.99932124
|
||||
0.99461459
|
||||
1.0170349
|
||||
1.0051446
|
||||
1.020639
|
||||
1.0051964
|
||||
1.0093042
|
||||
1.007068
|
||||
1.01086
|
||||
NaN
|
||||
1.0014883
|
||||
1.0117332
|
||||
0.9990095
|
||||
1.0108284
|
||||
1.0103672
|
||||
1.0036722
|
||||
1.0005124
|
||||
1.0190331
|
||||
1.0130978
|
||||
1.007842
|
||||
1.0285436
|
||||
1.0322054
|
||||
1.0213403
|
||||
1.0246486
|
||||
1.0419306
|
||||
1.0258867
|
||||
1.0156316
|
||||
0.99818589
|
||||
0.9894107
|
||||
1.0127584
|
||||
1.0146882
|
||||
1.0136529
|
||||
1.0340107
|
||||
1.0343652
|
||||
1.02971
|
||||
1.0077932
|
||||
1.0198114
|
||||
1.013971
|
||||
1.0061083
|
||||
1.0089573
|
||||
1.0037926
|
||||
1.0082071
|
||||
0.99498155
|
||||
0.99735772
|
||||
0.98765026
|
||||
1.006465
|
||||
1.0196088
|
||||
1.0053233
|
||||
1.0119974
|
||||
1.0188066
|
||||
1.0029302
|
||||
1.0183459
|
||||
1.0034218
|
||||
1.0158799
|
||||
0.98824798
|
||||
1.0274357
|
||||
1.0168832
|
||||
1.0180641
|
||||
1.0294657
|
||||
0.98864091
|
||||
1.0358326
|
||||
0.99889969
|
||||
1.0178322
|
||||
0.99813566
|
||||
1.0073549
|
||||
1.0215985
|
||||
1.0084245
|
||||
1.0080939
|
||||
1.0157021
|
||||
1.0075815
|
||||
1.0032633
|
||||
1.0117871
|
||||
1.0209276
|
||||
1.0077569
|
||||
0.99680958
|
||||
1.0120266
|
||||
1.0017625
|
||||
1.0138811
|
||||
1.0198358
|
||||
1.0059629
|
||||
1.0115416
|
||||
1.0319473
|
||||
1.0167074
|
||||
1.0116111
|
||||
1.0048627
|
||||
1.0217622
|
||||
1.0125221
|
||||
1.0142045
|
||||
0.99792469
|
||||
0.99823971
|
||||
0.99561547
|
||||
0.99850373
|
||||
0.9898464
|
||||
1.0030963
|
||||
1.0051373
|
||||
1.0004213
|
||||
1.0144117
|
||||
0.97185592
|
||||
0.9959518
|
||||
1.0073529
|
||||
1.0051603
|
||||
0.98642572
|
||||
0.99433423
|
||||
1.0112131
|
||||
1.0007695
|
||||
1.0176867
|
||||
1.0134363
|
||||
0.99926191
|
||||
0.99879835
|
||||
0.99878754
|
||||
1.0331374
|
||||
1.0077797
|
||||
1.0127221
|
||||
1.0047393
|
||||
1.0074106
|
||||
0.99784213
|
||||
1.0056495
|
||||
1.0057708
|
||||
0.98817494
|
||||
0.98742176
|
||||
0.99930555
|
||||
1.0000687
|
||||
1.0129754
|
||||
1.009529
|
||||
1.0226731
|
||||
1.0149534
|
||||
1.0164295
|
||||
1.0239469
|
||||
1.0293458
|
||||
1.026199
|
||||
1.0197525
|
||||
1.0126818
|
||||
1.0054473
|
||||
1.0254423
|
||||
1.0069461
|
||||
1.0153135
|
||||
1.0337515
|
||||
1.0178187
|
||||
1.0240469
|
||||
1.0079489
|
||||
1.0186953
|
||||
1.0008628
|
||||
1.0113799
|
||||
1.0140118
|
||||
1.0168007
|
||||
1.011441
|
||||
0.98422774
|
||||
0.98909729
|
||||
1.0157859
|
||||
1.0151586
|
||||
0.99756232
|
||||
0.99497777
|
||||
1.0102841
|
||||
1.0221659
|
||||
0.9937759
|
||||
0.99877193
|
||||
1.0079433
|
||||
0.99667692
|
||||
1.0095959
|
||||
1.0128804
|
||||
1.0156949
|
||||
1.0111951
|
||||
1.0228887
|
||||
1.0122083
|
||||
1.0190197
|
||||
1.0074927
|
||||
1.0268096
|
||||
0.99689352
|
||||
0.98948474
|
||||
1.0024938
|
||||
1.0105543
|
||||
1.014116
|
||||
1.0141217
|
||||
1.0056504
|
||||
1.0101026
|
||||
1.0105069
|
||||
0.99619053
|
||||
1.0059439
|
||||
0.99449473
|
||||
0.99482458
|
||||
1.0037702
|
||||
1.0068087
|
||||
0.99575975
|
||||
1.0030815
|
||||
1.0334014
|
||||
0.99879386
|
||||
0.99625634
|
||||
NaN
|
||||
0.99233844
|
||||
|
||||
];
|
||||
|
Loading…
Reference in New Issue