- Timestamp:
- 02/16/09 10:02:08 (16 years ago)
- Location:
- tests
- Files:
-
- 18 modified
Legend:
- Unmodified
- Added
- Removed
-
tests/UI/UIArxDS_test.cpp
r268 r270 37 37 L->init(); 38 38 39 vec dt=zeros ( DS->_drv(). count() ); //data variable40 datalink _e2edl ( E->_drv(),DS->_drv() ); //datalink between a datasource and estimator39 vec dt=zeros ( DS->_drv()._dsize() ); //data variable 40 datalink dl ( E->_drv(),DS->_drv() ); //datalink between a datasource and estimator 41 41 42 42 for ( int tK=1;tK<Ndat;tK++ ) { 43 43 DS->step(); // simulator step 44 44 DS->getdata ( dt ); // read data 45 E->bayes ( dl. get_val( dt ) ); // update estimates45 E->bayes ( dl.pushdown ( dt ) ); // update estimates 46 46 47 47 DS->logit ( *L ); -
tests/arx_elem_test.cpp
r254 r270 1 1 #include <estim/arx.h> 2 #include <stat/libEF.h>3 2 using namespace bdm; 4 5 //These lines are needed for use of cout and endl6 using std::cout;7 using std::endl;8 3 9 4 int main() { … … 11 6 //Test constructor 12 7 mat V0 = 0.00001*eye(2); V0(0,0)= 0.1; // 13 RV thr("{th r }"); 14 ARX Ar(thr, V0, -1.0); 8 ARX Ar; Ar.set_statistics(1, V0, -1.0); 15 9 16 10 mat mu(1,1); … … 39 33 X2.set_row(0,x); 40 34 41 mlstudent* Ap = Ar.predictor_student( RV("{y }"),RV("{1 }"));35 mlstudent* Ap = Ar.predictor_student(); 42 36 vec Ap_x=Ap->evallogcond_m(X,vec_1(1.0)); 43 37 vec ll_x = Ar.logpred_m(X2); 44 38 45 cout << "normalize : " << xstep*sum( Ap_x) << endl;39 cout << "normalize : " << xstep*sum(exp(Ap_x)) << endl; 46 40 cout << "normalize : " << xstep*sum(exp(ll_x)) << endl; 47 41 -
tests/arx_test.cpp
r263 r270 24 24 double nu0 = ord+5.0; 25 25 26 RV thr ( "{theta_and_r }",vec_1 ( ord+1 ) ); // Descriptive random variable27 A RX Ar ( thr, V0, nu0 ); // Estimator26 ARX Ar; 27 Ar.set_statistics(1, V0, nu0 ); // Estimator 28 28 const epdf& f_thr = Ar._epdf(); // refrence to posterior of the estimator 29 29 … … 50 50 51 51 // Build predictor 52 mlstudent* Pr = Ar.predictor_student ( RV ( "{y }" ),RV ( "{y1 y2 y3 y4 }" ));52 mlstudent* Pr = Ar.predictor_student ( ); 53 53 // Test similarity of likelihoods from the Bayes rule and the predictor 54 54 cout << "BR log-lik: " << Ar._ll(); … … 63 63 64 64 cout << "Structure estimation: " <<endl; 65 cout <<Ar.structure_est ( egiw ( thr,V0,nu0 ) ) <<endl;65 cout <<Ar.structure_est ( egiw ( 1,V0,nu0 ) ) <<endl; 66 66 } -
tests/datalink_test.cpp
r262 r270 1 2 #include "../bdm/stat/libBM.h" 3 #include "../bdm/math/libDC.h" 4 #include "../bdm/math/chmat.h" 5 1 #include "../bdm/stat/libEF.h" 6 2 using namespace bdm; 7 8 //These lines are needed for use of cout and endl9 using std::cout;10 using std::endl;11 3 12 4 int main() { … … 15 7 RV c = RV ( "{c }" ); 16 8 17 mpdf M1 ( concat ( a,b ),c ); 18 mpdf M2 ( a, concat ( b,c ) ); 19 20 datalink_m2m dl ( a,M2._rvc(),M1._rv(), M1._rvc() ); 9 datalink_m2m dl ( a,concat(b,c),concat(a,b), c ); 21 10 22 11 vec val ( "1 1.5 2" ); … … 26 15 cout << "cond: " << cond << endl; 27 16 28 cout << "lo val: " << dl. get_val( val ) <<endl;17 cout << "lo val: " << dl.pushdown ( val ) <<endl; 29 18 cout << "lo cond: " << dl.get_cond ( val,cond ) <<endl; 30 19 -
tests/egiw_test.cpp
r254 r270 25 25 double nu=10; 26 26 27 RV thr ( "{thr }", "2" ); 28 egiw E ( thr,nu*V,nu ); 27 egiw E ( 1,nu*V,nu ); 29 28 cout << "egiw mean value:" << E.mean() <<endl; 30 29 cout << "egiw normalizing constant:" << E.lognc() <<endl; … … 79 78 double nu=20; 80 79 81 RV thr ( "{thr }", "3" ); 82 egiw E ( thr,nu*V,nu ); 80 egiw E ( 1,nu*V,nu ); 83 81 cout << "egiw mean value:" << E.mean() <<endl; 84 82 cout << "egiw normalizing constant:" << E.lognc() <<endl; -
tests/emix_test.cpp
r254 r270 32 32 RV xy=concat(x,y); 33 33 34 enorm<ldmat> E1 ( xy );34 enorm<ldmat> E1; E1.set_rv ( xy ); 35 35 36 36 it_file iti("xxx"); … … 41 41 cout << mu << R <<endl; 42 42 E1.set_parameters( mu, R);//"1.00054 1.0455" , mat ( "0.740142 -0.259015; -0.259015 1.0302" )); 43 enorm<ldmat> E2 ( xy );43 enorm<ldmat> E2;E2.set_rv ( xy ); 44 44 E2.set_parameters( "-1.2 -0.1" , mat ( "1 0.4; 0.4 0.5" )); 45 45 … … 47 47 A1(0) = &E1; 48 48 49 emix M1 (xy);49 emix M1; M1.set_rv(xy); 50 50 M1.set_parameters(vec("1"), A1, false); 51 51 cout << "======== test if ARX and emix with one ARX are the same ==="<<endl; … … 68 68 A2(1) = &E2; 69 69 70 emix M2 (xy);70 emix M2; M2.set_rv(xy); 71 71 M2.set_parameters(vec("1"), A2, false); 72 72 -
tests/enorm_test.cpp
r254 r270 36 36 RV y ( "{y }" ); 37 37 38 enorm<ldmat> E ( concat ( x,y ) ); 38 enorm<ldmat> E; 39 E.set_rv(concat(x,y)); 39 40 E.set_parameters ( mu,R ); 40 41 cout << "enorm mean value:" << E.mean() <<endl; … … 65 66 mprod mEp ( A ); 66 67 67 Smp=mEp.samplecond ( vec ( 0 ), ll,1000 );68 Smp=mEp.samplecond ( vec ( 0 ),1000 ); 68 69 Emu = sum ( Smp,2 ) /N; 69 70 Er = ( Smp*Smp.transpose() ) /N - outer_product ( Emu,Emu ); … … 73 74 74 75 cout << endl << " test of pdflog at zero "<<endl; 75 cout << "original: " << exp(E.evallog(vec("0 0"))) <<endl;76 cout << "original: " << E.evallog(vec("0 0")) <<endl; 76 77 cout << "composite: " << mEp.evallogcond(vec("0 0"),vec(0)) << endl; 77 78 } -
tests/merger_2d_test.cpp
r262 r270 18 18 RV xy=x; xy.add(y); 19 19 20 enorm<fsqmat> f1 ( xy );21 enorm<fsqmat> f2 ( xy );20 enorm<fsqmat> f1; f1.set_rv ( xy ); 21 enorm<fsqmat> f2; f1.set_rv ( xy ); 22 22 23 23 mat R1 ( "0.5 0.48; 0.48 0.5" ); … … 43 43 44 44 merger M ( A ); 45 enorm<fsqmat> g0 (xy);45 enorm<fsqmat> g0; g0.set_rv(xy); 46 46 g0.set_parameters(vec("1 1"),mat("10 0; 0 10")); 47 47 … … 50 50 51 51 MixEF &MM = M._Mix(); 52 emix* MP = MM. predictor(xy);52 emix* MP = MM.epredictor(); //xy 53 53 54 54 vec Res1 = M.evallog_m(Grid); -
tests/merger_iter_test.cpp
r262 r270 18 18 RV xy=x; xy.add(y); 19 19 20 enorm<fsqmat> f1 ( xy );21 enorm<fsqmat> f2 ( xy );22 enorm<fsqmat> f3 (y);20 enorm<fsqmat> f1;f1.set_rv ( xy ); 21 enorm<fsqmat> f2;f2.set_rv ( xy ); 22 enorm<fsqmat> f3;f3.set_rv(y); 23 23 24 24 f1.set_parameters ( "4 3",mat ( "0.4 0.3; 0.3 0.4" ) ); … … 45 45 46 46 merger M ( A ); 47 enorm<fsqmat> g0 (xy);47 enorm<fsqmat> g0; g0.set_rv(xy); 48 48 g0.set_parameters(vec("4 4"),mat("1 0; 0 1")); 49 49 … … 52 52 53 53 MixEF &MM = M._Mix(); 54 epdf* MP = MM. predictor(xy);54 epdf* MP = MM.epredictor();//xy 55 55 56 56 vec Res1 = M.evallog_m(Grid); -
tests/merger_test.cpp
r262 r270 12 12 13 13 RNG_randomize(); 14 14 15 15 RV x ( "{x }","1" ); 16 16 17 RV z (x);18 19 enorm<fsqmat> f1 ( x );20 enorm<fsqmat> f2 ( x );17 RV z ( x ); 18 19 enorm<fsqmat> f1; f1.set_rv ( x ); 20 enorm<fsqmat> f2; f2.set_rv ( x ); 21 21 22 22 f1.set_parameters ( "-5",mat ( "2" ) ); … … 24 24 25 25 Array<mpdf* > A ( 2 ); 26 mepdf A1 (&f1);27 mepdf A2 (&f2);26 mepdf A1 ( &f1 ); 27 mepdf A2 ( &f2 ); 28 28 A ( 0 ) =&A1; 29 29 A ( 1 ) =&A2; 30 30 31 31 int Npoints=100; 32 32 mat x_grid ( 1,Npoints ); … … 36 36 37 37 vec l_f2=f2.evallog_m ( x_grid ); 38 mat lW (2,Npoints);39 lW.set_row (0, l_f1);40 lW.set_row (1, l_f2 );38 mat lW ( 2,Npoints ); 39 lW.set_row ( 0, l_f1 ); 40 lW.set_row ( 1, l_f2 ); 41 41 42 42 merger M ( A ); 43 enorm<fsqmat> g0 (x);44 g0.set_parameters (vec("0.0"),mat("100.0"));45 46 M.set_parameters (1.2,200,3);47 M.merge (&g0);48 49 vec m2 = M.lognorm_merge (lW);50 vec mm2 = M.evallog_m (x_grid);51 52 it_file it ("merger_test.it");53 it << Name ("x_grid") << x_grid;54 it << Name ("lf1") << l_f1;55 it << Name ("lf2") << l_f2;56 it << Name ("m2") << m2;57 it << Name ("mm2") << mm2;43 enorm<fsqmat> g0; g0.set_rv ( x ); 44 g0.set_parameters ( vec ( "0.0" ),mat ( "100.0" ) ); 45 46 M.set_parameters ( 1.2,200,3 ); 47 M.merge ( &g0 ); 48 49 vec m2 = M.lognorm_merge ( lW ); 50 vec mm2 = M.evallog_m ( x_grid ); 51 52 it_file it ( "merger_test.it" ); 53 it << Name ( "x_grid" ) << x_grid; 54 it << Name ( "lf1" ) << l_f1; 55 it << Name ( "lf2" ) << l_f2; 56 it << Name ( "m2" ) << m2; 57 it << Name ( "mm2" ) << mm2; 58 58 } -
tests/mixef_test.cpp
r254 r270 52 52 fsqmat V2 ( mat ( "2 -0.1; -0.1 2" ) ); 53 53 54 enorm<fsqmat> C1 ( x );54 enorm<fsqmat> C1; C1.set_rv ( x ); 55 55 C1.set_parameters ( m1,V1 ); 56 enorm<fsqmat> C2 ( x );56 enorm<fsqmat> C2; C2.set_rv ( x ); 57 57 C2.set_parameters ( m2,V2 ); 58 58 59 59 Array<epdf*> Sim ( 2 ); Sim ( 0 ) =&C1;Sim ( 1 ) =&C2; 60 emix Simul ( x );60 emix Simul;Simul.set_rv ( x ); 61 61 Simul.set_parameters ( "0.5 0.6", Sim, false ); 62 62 … … 76 76 Vp*=5*1e-5; 77 77 78 ARX M1 ( RV ( "{Th1 }","6" ),V0 - Vp,8 );79 ARX M2 ( RV ( "{Th2 }","6" ),V0 + Vp,8 );78 ARX M1;M1.set_statistics(2,V0 - Vp,8 ); 79 ARX M2;M2.set_statistics (2, V0 + Vp,8 ); 80 80 81 81 // Build mixture model … … 94 94 //TEST random initialization 95 95 RNG_randomize(); 96 ARX Aflat=ARX(RV("{Th3 }",vec_1(6)),V0,7); 96 ARX Aflat; 97 Aflat.set_statistics(2,V0,7); 97 98 MixEF RND; 98 99 RND.init(&Aflat,Data,10); // already initialized! -
tests/testEpdf.cpp
r262 r270 20 20 21 21 cout << "====== ENorm ====== " <<endl; 22 enorm<fsqmat> eN ( rv );22 enorm<fsqmat> eN;eN.set_rv ( rv ); 23 23 eN.set_parameters ( mu0,R ); 24 24 vec pdf = zeros ( x.length() ); -
tests/testKF.cpp
r262 r270 54 54 55 55 //Chol 56 KalmanCh KF (rx,ry,ru);56 KalmanCh KF; 57 57 KF.set_parameters(A,B,C,D,chmat(R),chmat(Q)); 58 58 KF.set_est(mu0,chmat(P0) ); //prediction! … … 63 63 // 64 64 // FSQMAT 65 Kalman<ldmat> KFf (rx,ry,ru);65 Kalman<ldmat> KFf; 66 66 KFf.set_parameters(A,B,C,D,ldmat(R),ldmat(Q)); 67 67 KFf.set_est(mu0,ldmat(P0) ); … … 77 77 78 78 // EKF 79 bilinfn fxu( rx,ru,A,B);80 bilinfn hxu( rx,ru,C,D);81 EKFCh KFE (rx,ry,ru);79 bilinfn fxu(A,B); 80 bilinfn hxu(C,D); 81 EKFCh KFE; 82 82 KFE.set_parameters(&fxu,&hxu,Q,R); 83 83 KFE.set_est(mu0,chmat(P0)); -
tests/testKF_QR.cpp
r262 r270 48 48 RV rQR("{Q,R }","3"); 49 49 // 50 KFcondQR KF (rx,ry,ru,rQR);50 KFcondQR KF; 51 51 // KF with R unknown 52 52 KF.set_parameters(A,B,C,D,ldmat(R),ldmat(Q)); 53 53 KF.set_est(mu0,ldmat(P0) ); 54 54 // 55 Kalman<ldmat> KFtr (rx,ry,ru);55 Kalman<ldmat> KFtr; 56 56 // KF with R unknown 57 57 KFtr.set_parameters(A,B,C,D,ldmat(R),ldmat(Q)); 58 58 KFtr.set_est(mu0,ldmat(P0) ); 59 59 60 mgamma evolQR (rQR,rQR);61 evolQR.set_parameters(10.0 ); //sigma = 1/10 mu60 mgamma evolQR; 61 evolQR.set_parameters(10.0,"1 1 1"); //sigma = 1/10 mu 62 62 63 MPF<KFcondQR > KF_QR( rx,rQR,evolQR,evolQR,100,KF);63 MPF<KFcondQR > KF_QR(&evolQR,&evolQR,100,KF); 64 64 evolQR.condition("1 1 1"); 65 65 epdf& pfinit=evolQR._epdf(); -
tests/testKF_QRexh.cpp
r262 r270 53 53 // 54 54 // 55 Kalman<ldmat> KFtr ( rx,ry,ru );55 Kalman<ldmat> KFtr; 56 56 57 57 for ( int i =0; i<vQ1.length();i++ ) { -
tests/testPF.cpp
r262 r270 20 20 ldmat R(vR); 21 21 22 eEmp emp (x,10);23 euni eun (x);22 eEmp emp; 23 euni eun; 24 24 eun.set_parameters("0","1"); 25 25 emp.set_parameters(ones(10),&eun); -
tests/testResample.cpp
r262 r270 20 20 ldmat R(vR); 21 21 22 eEmp emp (x,10);23 euni eun (x);22 eEmp emp; 23 euni eun; 24 24 eun.set_parameters("0","1"); 25 25 emp.set_parameters(ones(10),&eun); -
tests/testSmp.cpp
r262 r270 32 32 33 33 cout << "====== ENorm ====== " <<endl; 34 enorm<ldmat> eN (x);34 enorm<ldmat> eN; 35 35 eN.set_parameters(mu0,R); 36 36 mat Smp = eN.sample(N); … … 40 40 cout << "====== MlNorm ====== " <<endl; 41 41 mat I = eye(2); 42 vec lik(N); 43 mlnorm<ldmat> ML(x,x); 42 mlnorm<ldmat> ML; 44 43 ML.set_parameters(I,zeros(2),R); 45 Smp = ML.samplecond_m(mu0, lik,N);44 Smp = ML.samplecond_m(mu0,N); 46 45 47 46 disp(mu0,R.to_mat(),Smp); … … 50 49 vec a = "100000,10000"; 51 50 vec b = a/10.0; 52 egamma eG (x);51 egamma eG; 53 52 eG.set_parameters(a,b); 54 53 … … 61 60 62 61 cout << "====== MGamma ====== " <<endl; 63 mgamma mG (x,x);62 mgamma mG; 64 63 double k = 10.0; 65 mG.set_parameters(k );64 mG.set_parameters(k,mu0); 66 65 67 Smp=mG.samplecond_m(mu0, lik,N);66 Smp=mG.samplecond_m(mu0,N); 68 67 disp(mu0,pow(mu0,2.0)/k,Smp); 69 68 70 69 cout << "======= EMix ======== " << endl; 71 emix eMix (x);70 emix eMix; 72 71 Array<epdf*> Coms(2); 73 72 Coms(0) = &eG; … … 82 81 mepdf meMix(&eMix); 83 82 84 Smp = meMix.samplecond_m(mu0, lik,N);83 Smp = meMix.samplecond_m(mu0,N); 85 84 disp(eMix.mean(),zeros(2),Smp); 86 85 87 86 cout << "======= MMix ======== " << endl; 88 mmix mMix (x,x);87 mmix mMix; 89 88 Array<mpdf*> mComs(2); 90 89 mComs(0) = &mG; … … 94 93 mMix.set_parameters(vec_2(0.5,0.5),mComs); 95 94 96 Smp = mMix.samplecond_m(mu0, lik,N);95 Smp = mMix.samplecond_m(mu0,N); 97 96 disp(mMix._epdf().mean(),zeros(2),Smp); 98 97 99 98 cout << "======= EProd ======== " << endl; 100 99 // we have to change eG.rv to y 101 e gamma eGy(x);102 eG y.set_parameters(a,b);100 eN.set_rv(x); 101 eG.set_rv(y); 103 102 //create array 104 103 Array<mpdf*> A(2); 105 104 mepdf meN(&eN); 106 mepdf meG(&eG y);105 mepdf meG(&eG); 107 106 A(0) = &meN; 108 107 A(1) = &meG; … … 114 113 115 114 vec v0=vec(0); 116 Smp = eP.samplecond(v0, lik,N);117 disp(concat(eN.mean(),eG y.mean()), epV,Smp);115 Smp = eP.samplecond(v0,N); 116 disp(concat(eN.mean(),eG.mean()), epV,Smp); 118 117 119 118 //Exit program: