Changeset 310 for bdm/estim

Show
Ignore:
Timestamp:
04/09/09 14:33:08 (15 years ago)
Author:
smidl
Message:

Published example 2d

Location:
bdm/estim
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • bdm/estim/merger.cpp

    r301 r310  
    8888 
    8989                        // This will be active only later in iterations!!! 
    90                         if ( ( !fix_smp ) & ( 1./sum_sqr ( w ) <0.9*Ns ) ) 
     90                        if ( ( !fix_smp ) & ( 1./sum_sqr ( w ) <effss_coef*Ns ) ) 
    9191                        { 
    9292                                // Generate new samples 
     
    9898                                        set_col_part ( Smp_ex,i,Smp ( i ) ); 
    9999                                        //Importance of the mixture 
    100                                         lw_mix ( i ) =Mix.logpred (Smp_ex.get_col(i) ); 
     100                                        //lw_mix ( i ) =Mix.logpred (Smp_ex.get_col(i) ); 
     101                                        lw_mix ( i ) = Mpred->evallog(Smp(i)); 
    101102                                } 
    102103                                if ( 1 ) 
    103104                                { 
    104105                                        cout<<"Resampling =" << 1./sum_sqr ( w ) << endl; 
     106                                        cout << Mix._e()->mean() <<endl; 
    105107                                        cout << sum ( Smp_ex,2 ) /Ns <<endl; 
    106108                                        cout << Smp_ex*Smp_ex.T() /Ns << endl; 
     
    111113                                sprintf ( str,"Mpred_mean%d",niter ); 
    112114                                *dbg << Name ( str ) << Mpred->mean(); 
     115                                sprintf ( str,"Mpred_var%d",niter ); 
     116                                *dbg << Name ( str ) << Mpred->variance(); 
    113117 
    114118 
     
    216220                        // ==== stopping rule === 
    217221                        niter++; 
    218                         converged = ( niter>20 ); 
     222                        converged = ( niter>40 ); 
    219223                } 
    220224                delete Mpred; 
  • bdm/estim/merger.h

    r299 r310  
    4747                        //! Projection to empirical density 
    4848                        eEmp eSmp; 
     49                        //! coefficient of resampling 
     50                        double effss_coef; 
    4951 
    5052                        //! debug or not debug 
     
    8890                        void debug_file ( const string fname ) { if ( DBG ) delete dbg; dbg = new it_file ( fname ); if ( dbg ) DBG=true;} 
    8991//! Set internal parameters used in approximation 
    90                         void set_parameters ( double beta0, int Ns0, int Nc0 ) {beta=beta0;Ns=Ns0;Nc=Nc0;eSmp.set_parameters ( Ns0,false );} 
     92                        void set_parameters ( double beta0, int Ns0, int Nc0, double effss_coef0=0.5 ) {beta=beta0; 
     93                                Ns=Ns0; 
     94                                Nc=Nc0; 
     95                                effss_coef=effss_coef0; 
     96                                eSmp.set_parameters ( Ns0,false ); 
     97                        } 
    9198                        void set_grid ( Array<vec> &XYZ ) 
    9299                        {