BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | List of all members
BALL::QSAR::RegressionValidation Class Reference

#include <BALL/QSAR/regressionValidation.h>

Inheritance diagram for BALL::QSAR::RegressionValidation:
BALL::QSAR::Validation

Classes

struct  BackupData
 

Public Member Functions

Constructors and Destructors
 RegressionValidation (RegressionModel *m)
 
 ~RegressionValidation ()
 
- Public Member Functions inherited from BALL::QSAR::Validation
 Validation (Model *m)
 
virtual ~Validation ()
 
const Matrix< double > & getYRandResults () const
 
int getStat () const
 

Accessors

void crossValidation (int k, bool restore=1)
 
void crossValidation (int k, vector< BALL::Matrix< double > > *results, bool restore=1)
 
void bootstrap (int k, bool restore=1)
 
void bootstrap (int k, vector< BALL::Matrix< double > > *results, bool restore=1)
 
void bootstrap1 (int k, vector< BALL::Matrix< double > > *results, bool restore=1)
 
const BALL::Matrix< double > & yRandomizationTest (int runs, int k)
 
double getQ2 ()
 
double getR2 ()
 
double getFregr ()
 
double getFcv ()
 
double getCVRes ()
 
double getFitRes ()
 
double getMaxError ()
 
void setCVRes (double d)
 
void setQ2 (double d)
 
void testInputData (bool transform=0)
 
void selectStat (int s)
 
void calculateCoefficientStdErrors (int k, bool b=1)
 
const BALL::Matrix< double > * getCoefficientStdErrors ()
 
void setCoefficientStdErrors (const BALL::Matrix< double > *stddev)
 
void saveToFile (string filename) const
 
void saveToFile (string filename, const double &r2, const double &q2, const Matrix< double > &coefficient_stddev, const Matrix< double > &yRand_results) const
 
void readFromFile (string filename)
 
void testAllSubstances (bool transform)
 
void backupTrainingResults ()
 
void restoreTrainingResults ()
 

Attributes

double ssR_
 
double ssE_
 
double ssY_
 
double std_err_
 
double Q2_
 
double F_cv_
 
double F_regr_
 
double R2_
 
double max_error_
 
double quality_
 
double(RegressionValidation::* predQualFetcher_ )()
 
double(RegressionValidation::* fitQualFetcher_ )()
 
BALL::Matrix< doublecoefficient_stderr_
 
RegressionModelregr_model_
 
BackupData backup_data_
 
void(RegressionValidation::* qualCalculation )()
 
void calculateQOF ()
 

Additional Inherited Members

- Protected Member Functions inherited from BALL::QSAR::Validation
void setTrainingLine (int train_line, int current_line)
 
void setTestLine (int test_line, int current_line, bool back_transform=0)
 
void yRand ()
 
- Protected Attributes inherited from BALL::QSAR::Validation
vector< vector< double > > test_substances_
 
Matrix< doubletest_Y_
 
vector< string > substances_names_
 
Modelmodel_
 
int validation_statistic_
 
Matrix< doubleyRand_results_
 

Detailed Description

class for validation of QSAR regression models

Definition at line 53 of file regressionValidation.h.

Constructor & Destructor Documentation

BALL::QSAR::RegressionValidation::RegressionValidation ( RegressionModel m)
constructor
Parameters
mpointer to the regression model, which the object of this class should test
BALL::QSAR::RegressionValidation::~RegressionValidation ( )

Member Function Documentation

void BALL::QSAR::RegressionValidation::backupTrainingResults ( )
private
void BALL::QSAR::RegressionValidation::bootstrap ( int  k,
bool  restore = 1 
)
virtual
starts bootstrapping with k samples \n
Parameters
kno of bootstrap samples
restoreif restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after bootstrapping

Implements BALL::QSAR::Validation.

void BALL::QSAR::RegressionValidation::bootstrap ( int  k,
vector< BALL::Matrix< double > > *  results,
bool  restore = 1 
)
starts bootstrapping with k samples \n
Parameters
kno of bootstrap samples
restoreif restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after bootstrapping
resultspointer to vector that should take all matrices RegressionModel.training_result produced during this bootstrapping
void BALL::QSAR::RegressionValidation::bootstrap1 ( int  k,
vector< BALL::Matrix< double > > *  results,
bool  restore = 1 
)
void BALL::QSAR::RegressionValidation::calculateCoefficientStdErrors ( int  k,
bool  b = 1 
)
calculates standart deviations for all predicted coefficients and saves them to coefficient_stddev_ \n
Parameters
bif b==1, bootstrapping is used; else: cross-validation
knumber of bootstrap samples resp. cross-validation steps
void BALL::QSAR::RegressionValidation::calculateQOF ( )
private
void BALL::QSAR::RegressionValidation::crossValidation ( int  k,
bool  restore = 1 
)
virtual
starts k-fold cross validation \n
Parameters
kno of cross validation folds
restoreif restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after cross validation

Implements BALL::QSAR::Validation.

void BALL::QSAR::RegressionValidation::crossValidation ( int  k,
vector< BALL::Matrix< double > > *  results,
bool  restore = 1 
)
starts k-fold cross validation \n
Parameters
kno of cross validation folds
restoreif restore==1, Model.descriptor_matrix and RegressionModel.training_result is restored after cross validation
resultspointer to vector that should take all matrices RegressionModel.training_result produced during this cross validation run
const BALL::Matrix<double>* BALL::QSAR::RegressionValidation::getCoefficientStdErrors ( )

returns a const pointer to the matrix containing the standart deviations of all predicted coefficients

double BALL::QSAR::RegressionValidation::getCVRes ( )
virtual

fetches the result of cross-validation

Implements BALL::QSAR::Validation.

double BALL::QSAR::RegressionValidation::getFcv ( )
get the F-value as calculated by cross validation.\n

If crossValidation() has not been run yet, -1 is returned

double BALL::QSAR::RegressionValidation::getFitRes ( )
virtual

fetches the quality of fit to the input data, as calculated by testInputData()

Implements BALL::QSAR::Validation.

double BALL::QSAR::RegressionValidation::getFregr ( )
get the F-value as calculated by testInputData().\n

If testInputData() has not been run yet, -1 is returned

double BALL::QSAR::RegressionValidation::getMaxError ( )

returns the maximal error of the prediction

double BALL::QSAR::RegressionValidation::getQ2 ( )
get the Q^2 value.\n

If no cross-validation has been done yet, -1 is returned

double BALL::QSAR::RegressionValidation::getR2 ( )
get the R^2 value.\n

If testInputData() has not been run yet, -1 is returned

void BALL::QSAR::RegressionValidation::readFromFile ( string  filename)
virtual

restore validation-results from a file

Implements BALL::QSAR::Validation.

void BALL::QSAR::RegressionValidation::restoreTrainingResults ( )
private
void BALL::QSAR::RegressionValidation::saveToFile ( string  filename) const
virtual

save the result of the applied validation methods to a file

Implements BALL::QSAR::Validation.

void BALL::QSAR::RegressionValidation::saveToFile ( string  filename,
const double r2,
const double q2,
const Matrix< double > &  coefficient_stddev,
const Matrix< double > &  yRand_results 
) const
void BALL::QSAR::RegressionValidation::selectStat ( int  s)
virtual
select the desired statistic to be used for validating the models
Parameters
sif (s==1) R^2 and Q^2 are used
if(s==2) F_regr and F_cv are used.

Implements BALL::QSAR::Validation.

void BALL::QSAR::RegressionValidation::setCoefficientStdErrors ( const BALL::Matrix< double > *  stddev)
void BALL::QSAR::RegressionValidation::setCVRes ( double  d)
virtual

set the result of cross-validation to the given value

Implements BALL::QSAR::Validation.

void BALL::QSAR::RegressionValidation::setQ2 ( double  d)

set the Q^2 value

void BALL::QSAR::RegressionValidation::testAllSubstances ( bool  transform)
private

Tests the current model with all substances in the (unchanged) test data set

void BALL::QSAR::RegressionValidation::testInputData ( bool  transform = 0)
virtual
Fetches input data from QSARData and tests the current (unchanged) model with all these new substances (without cross-validation!). \n
Parameters
transformif transform==1, the test data is transformed in the same way that the training data was transformed before predicting activities.
If training and test substances are taken from the same input file, set transform to 0

Implements BALL::QSAR::Validation.

const BALL::Matrix<double>& BALL::QSAR::RegressionValidation::yRandomizationTest ( int  runs,
int  k 
)
virtual
Y randomization test \n

Randomizes all columns of model.Y, trains the model, runs crossValidation and testInputData and saves the resulting R2 and Q2 value to a matrix with 2 columns; the R2 values makeing up the first colum, the Q2 value the second.

Parameters
runsthis is repeated as often as specified by 'runs'

Implements BALL::QSAR::Validation.

Member Data Documentation

BackupData BALL::QSAR::RegressionValidation::backup_data_
private

Definition at line 221 of file regressionValidation.h.

BALL::Matrix<double> BALL::QSAR::RegressionValidation::coefficient_stderr_
private

contains the standart deviations of all predicted coefficients in one column for each modelled activity

Definition at line 216 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::F_cv_
private

F-value as calculated after cross-validation

Definition at line 197 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::F_regr_
private

F-value as calculated after regression for input data

Definition at line 200 of file regressionValidation.h.

double(RegressionValidation::* BALL::QSAR::RegressionValidation::fitQualFetcher_)()
private

Definition at line 211 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::max_error_
private

Definition at line 204 of file regressionValidation.h.

double(RegressionValidation::* BALL::QSAR::RegressionValidation::predQualFetcher_)()
private

Definition at line 209 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::Q2_
private

Q^2-value as calculated after cross-validation

Definition at line 194 of file regressionValidation.h.

void(RegressionValidation::* BALL::QSAR::RegressionValidation::qualCalculation)()
private

Definition at line 223 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::quality_
private

the quality as calcated by the last call of testAllSubstances() according to the chose quality-statistic

Definition at line 207 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::R2_
private

Definition at line 202 of file regressionValidation.h.

RegressionModel* BALL::QSAR::RegressionValidation::regr_model_
private

pointer to the regression model, which the object of this class should test

Definition at line 219 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::ssE_
private

Definition at line 185 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::ssR_
private

Definition at line 183 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::ssY_
private

the sum of squares of the response

Definition at line 188 of file regressionValidation.h.

double BALL::QSAR::RegressionValidation::std_err_
private

standart error

Definition at line 191 of file regressionValidation.h.