Changeset 1366 for applications

Show
Ignore:
Timestamp:
05/10/11 18:59:52 (13 years ago)
Author:
sindj
Message:

Jupiijahou, snad se podarilo dobojovat s normalizacnim faktorem. Pridany vsechny potrebne logaritmy do log_nc. JS

Location:
applications/robust
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • applications/robust/main.cpp

    r1365 r1366  
    112112                        {                                
    113113                                V0  = 0.01 * eye(ar_components.size()+2); 
    114                                 V0(0,0) = 0; 
     114                                V0(0,0) = 1; 
    115115                                my_arx->set_constant(true);      
    116116                                 
     
    120120                                 
    121121                                V0  = 0.01 * eye(ar_components.size()+1); 
    122                                 V0(0,0) = 0; 
     122                                V0(0,0) = 1; 
    123123                                my_arx->set_constant(false);                             
    124124                                 
     
    378378        vector<vector<string>> strings; 
    379379 
    380         char* file_string = "c:\\data";  
     380        char* file_string = "c:\\dataCDClosePercDiff";  
    381381 
    382382        char dfstring[80]; 
     
    417417        for(list<list<pair<int,int>>>::iterator model_type = model_types.begin();model_type!=model_types.end();model_type++) 
    418418        { 
    419                 models.push_back(new model((*model_type),true,false,30,0,&data_matrix)); 
    420                 models.push_back(new model((*model_type),false,false,30,0,&data_matrix)); 
     419                models.push_back(new model((*model_type),true,true,100,0,&data_matrix)); 
     420                models.push_back(new model((*model_type),false,true,100,0,&data_matrix)); 
     421                models.push_back(new model((*model_type),true,false,100,0,&data_matrix)); 
     422                models.push_back(new model((*model_type),false,false,100,0,&data_matrix)); 
    421423        } 
    422424         
    423425        mat result_lognc; 
    424426 
    425         for(int time = max_model_order;20;time++) //time<data_matrix.cols() 
     427        for(int time = max_model_order;time<data_matrix.cols();time++) //time<data_matrix.cols() 
    426428        {        
    427429                vec cur_res_lognc; 
  • applications/robust/robustlib.cpp

    r1365 r1366  
    145145                                base_vertex = (*base_ref); 
    146146                         
    147                                 //cout << "Base coords: " << base_vertex->get_coordinates() << endl; 
    148                                 //cout << "Condition: " << as_toprow->condition_sum << endl; 
    149                                 //pause(0.1); 
     147                                /* 
     148                                cout << "Base coords: " << base_vertex->get_coordinates() << endl; 
     149                                cout << "Condition: " << as_toprow->condition_sum << endl; 
     150                                pause(0.1); 
     151                                */ 
    150152 
    151153                                a_0 = -base_vertex->get_coordinates()*cur_condition+as_toprow->condition_sum[0];                 
     
    272274                                }        
    273275 
    274                                 double gamma_multiplier = -(*as_ref).first-a_0; 
    275  
    276                                 double bracket = fact(as1_order-1)/pow(gamma_multiplier,sigma_order+1); 
     276                                double cur_as_ref = (*as_ref).first;                             
     277 
     278                                double gamma_multiplier = -cur_as_ref-a_0; 
     279 
     280                                double bracket = fact(as1_order-1)/pow(gamma_multiplier,sigma_order); 
    277281                                                                 
    278282                                simplex->insert_gamma(0,bracket*multiplier,gamma_multiplier);                                                            
     
    283287                                { 
    284288                                        double local_bracket = 0; 
    285                                         double bracket_factor = 1/fact(as1_order-1-k)/pow(gamma_multiplier,sigma_order-k);//pow((double)-1,k+1) 
     289                                        double bracket_factor = 1/fact(as1_order-1-k)/pow(gamma_multiplier,sigma_order-k-1);//pow((double)-1,k+1) 
    286290                                         
    287291                                        ivec control_vec = ivec(); 
     
    318322                        } 
    319323 
    320                         double correction_term_base = correction_term/pow(-a_0,sigma_order+1); 
     324                        double correction_term_base = correction_term/pow(-a_0,sigma_order); 
    321325 
    322326                        simplex->insert_gamma(0,correction_term_base,-a_0);                      
  • applications/robust/robustlib.h

    r1365 r1366  
    2222using namespace itpp; 
    2323 
    24 const double max_range = 5;//numeric_limits<double>::max()/10e-10; 
     24const double max_range = 10;//numeric_limits<double>::max()/10e-10; 
    2525 
    2626/// An enumeration of possible actions performed on the polyhedrons. We can merge them or split them. 
     
    10871087                } 
    10881088 
    1089                 log_nc = log(normalization_factor) + logfact(condition_order-number_of_parameters-2)-(condition_order-number_of_parameters-2)*2; 
     1089                log_nc = log(normalization_factor) + logfact(condition_order-number_of_parameters-2)-(condition_order-number_of_parameters-2)*log(2.0); 
    10901090 
    10911091                /* 
     
    18801880                // cout << "Normalization factor: " << normalization_factor << endl;     
    18811881 
    1882                 log_nc = log(normalization_factor) + logfact(condition_order-number_of_parameters-2)-(condition_order-number_of_parameters-2)*2; 
     1882                log_nc = log(normalization_factor) + logfact(condition_order-number_of_parameters-2)-(condition_order-number_of_parameters-2)*log(2.0); 
    18831883 
    18841884                /* 
     
    24452445        int logfact(int factor) 
    24462446        { 
    2447                 if(factor>0) 
    2448                 { 
    2449                         return factor+logfact(factor-1); 
     2447                if(factor>1) 
     2448                { 
     2449                        return log((double)factor)+logfact(factor-1); 
    24502450                } 
    24512451                else 
     
    27882788                this->has_constant = has_constant; 
    27892789                 
    2790                 posterior = new emlig(number_of_parameters,0.001); 
     2790                posterior = new emlig(number_of_parameters,0.01); 
    27912791 
    27922792                this->window_size = window_size;