예제 #1
0
def fit_amplitudes_and_variability(erp_model, model_type, n_gen, seed, 
                                   mean_data, cov_data, with_locations=False, 
                                   max_fun_eval=100000):
    parameter_list = prepare_variability_parameter_list(erp_model, model_type,
                                                        n_gen)
    parameter_list.insert(0,'amplitudes')
    
    if with_locations is True:
        parameter_list.insert(0,'locations and orientations')
        description = 'Fit of generator locations, amplitudes and ' +\
                      'variability to mean and covariance'
    else:
        description = 'Fit of generator amplitudes and variability to ' +\
                      'mean and covariance'
    print(description + '\n' + '-' * len(description))
    
    start_time = time.time()
    output = fit_variability_model(erp_model, parameter_list,
                                   fit_to='mean and covariance', 
                                   fit_data=[mean_data, cov_data], 
                                   method='tnc', bounds= True, 
                                   max_fun_eval=max_fun_eval, disp=True)
    elapsed_time = time.time() - start_time
    print('* Elapsed time: ' + str(elapsed_time) + 's\n')

    return fit_info(erp_model, description, output)
예제 #2
0
def fit_amplitudes(erp_model, n_gen, seed, mean_data, with_locations=False,
                   max_fun_eval=100000):
    parameter_list = ['amplitudes']
    if with_locations is True:
        parameter_list.insert(0,'locations and orientations')
        description = 'Fit of generator locations and amplitudes to mean'
    else:
        description = 'Fit of generator amplitudes to mean'
    print(description + '\n' + '-' * len(description))

    start_time = time.time()
    output = fit_variability_model(erp_model,
                                   parameter_list, 
                                   fit_to='mean', fit_data=mean_data, 
                                   method='tnc', bounds= True, 
                                   max_fun_eval=max_fun_eval,
                                   disp=True)
    elapsed_time = time.time() - start_time
    print('* Elapsed time: ' + str(elapsed_time) + 's\n')

    return fit_info(erp_model, description, output)