![]()  | 
  
    Dakota
    Version 6.21
    
   Explore and Predict with Confidence 
   | 
 
The PolynomialRegression class constructs a polynomial regressor using ordinary least squares. More...
  
Public Member Functions | |
| PolynomialRegression () | |
| Constructor that uses defaultConfigOptions and does not build.  | |
| PolynomialRegression (const ParameterList &options) | |
| Constructor that sets configOptions and does not build.  More... | |
| PolynomialRegression (const std::string ¶m_list_yaml_filename) | |
| Constructor for the PolynomialRegression class that sets configOptions but does not build the surrogate.  More... | |
| PolynomialRegression (const MatrixXd &samples, const MatrixXd &response, const ParameterList &options) | |
| Constructor sets configOptions and builds the Polynomial Regression surrogate.  More... | |
| PolynomialRegression (const MatrixXd &samples, const MatrixXd &response, const std::string ¶m_list_yaml_filename) | |
| Constructor for the PolynomialRegression class that sets configOptions and builds the surrogate.  More... | |
| ~PolynomialRegression () | |
| Default destructor.  | |
| void | compute_basis_matrix (const MatrixXd &samples, MatrixXd &basis_matrix) const | 
| Constructs a basis matrix for a set of samples according to the member variable basisIndices.  More... | |
| void | build (const MatrixXd &samples, const MatrixXd &response) override | 
| Build the polynomial surrogate using specified build data.  More... | |
| VectorXd | value (const MatrixXd &eval_points) override | 
| Evaluate the scalar polynomial surrogate at a set of prediction points.  More... | |
| MatrixXd | gradient (const MatrixXd &eval_points) override | 
| Evaluate the gradient of the scalar polynomial surrogate at a set of prediction points.  More... | |
| MatrixXd | hessian (const MatrixXd &eval_point) override | 
| Evaluate the Hessian of the scalar polynomial surrogate at a single point.  More... | |
| const MatrixXd & | get_polynomial_coeffs () const | 
| Get the polynomial surrogate's coefficients.  | |
| double | get_polynomial_intercept () const | 
| Get the polynomial surrogate's intercept/offset.  | |
| int | get_num_terms () const | 
| Get the number of terms in the polynomial surrogate.  | |
| void | set_polynomial_coeffs (const MatrixXd &coeffs) | 
| Set the polynomial surrogate's coefficients.  | |
| std::shared_ptr< Surrogate > | clone () const override | 
| clone derived Surrogate class for use in cross-validation  | |
  Public Member Functions inherited from Surrogate | |
| Surrogate () | |
| Constructor that uses defaultConfigOptions and does not build.  | |
| Surrogate (const ParameterList ¶m_list) | |
| Constructor that sets configOptions but does not build.  More... | |
| Surrogate (const MatrixXd &samples, const MatrixXd &response, const ParameterList ¶m_list) | |
| Constructor for the Surrogate that sets configOptions and builds the surrogate (does nothing in the base class).  More... | |
| virtual | ~Surrogate () | 
| Default destructor.  | |
| virtual VectorXd | values (const MatrixXd &eval_points) | 
| Evaluate the Surrogate at a set of prediction points for field QoIs.  More... | |
| MatrixXd | gradients (const MatrixXd &eval_points) | 
| Evaluate the gradient of the field Surrogate at a set of prediction points.  More... | |
| virtual MatrixXd | hessians (const MatrixXd &eval_point) | 
| Evaluate the Hessian of the field Surrogate at a set of prediction points.  More... | |
| void | variable_labels (const std::vector< std::string > &var_labels) | 
| Set the variable/feature names.  More... | |
| const std::vector< std::string > & | variable_labels () const | 
| Get the (possibly empty) variable/feature names.  More... | |
| void | response_labels (const std::vector< std::string > &resp_labels) | 
| Set the response/QoI names.  More... | |
| const std::vector< std::string > & | response_labels () const | 
| Get the (possibly empty) response/QoI names.  More... | |
| void | set_options (const ParameterList &options) | 
| Set the Surrogate's configOptions.  More... | |
| void | get_options (ParameterList &options) | 
| Get the Surrogate's configOptions.  More... | |
| void | print_options () | 
| Print the Surrogate's configOptions.  | |
| virtual bool | diagnostics_available () | 
| VectorXd | evaluate_metrics (const StringArray &mnames, const MatrixXd &points, const MatrixXd &ref_values) | 
| Evalute metrics at specified points (within surrogates)  | |
| VectorXd | cross_validate (const MatrixXd &samples, const MatrixXd &response, const StringArray &mnames, const int num_folds=5, const int seed=20) | 
| Perform K-folds cross-validation (within surrogates)  | |
| template<typename DerivedSurr > | |
| void | save (const DerivedSurr &surr_out, const std::string &outfile, const bool binary) | 
| Serialize a derived (i.e. non-base) surrogate model.  More... | |
| template<typename DerivedSurr > | |
| void | load (const std::string &infile, const bool binary, DerivedSurr &surr_in) | 
| Load a derived (i.e. non-base) surrogate model.  More... | |
Private Member Functions | |
| void | default_options () override | 
| Construct and populate the defaultConfigOptions.  | |
| template<class Archive > | |
| void | serialize (Archive &archive, const unsigned int version) | 
| Serializer for save/load.  | |
Private Attributes | |
| MatrixXi | basisIndices | 
| Matrix that specifies the powers of each variable for each term in the polynomial - (numVariables by numTerms).  | |
| std::shared_ptr< util::LinearSolverBase > | linearSolver | 
| Linear solver for the ordinary least squares problem.  | |
| int | numTerms | 
| Number of terms in the polynomial basis.  | |
| MatrixXd | polynomialCoeffs | 
| Vector of coefficients for the polynomial surrogate.  | |
| double | polynomialIntercept | 
| Offset/intercept term for the polynomial surrogate.  | |
| int | verbosity | 
| Verbosity level.  | |
Friends | |
| class | boost::serialization::access | 
| Allow serializers access to private class data.  | |
Additional Inherited Members | |
  Static Public Member Functions inherited from Surrogate | |
| template<typename SurrHandle > | |
| static void | save (const SurrHandle &surr_out, const std::string &outfile, const bool binary) | 
| serialize Surrogate to file (typically through shared_ptr<Surrogate>, but Derived& or Derived* okay too)  | |
| template<typename SurrHandle > | |
| static void | load (const std::string &infile, const bool binary, SurrHandle &surr_in) | 
| serialize Surrogate from file (typically through shared_ptr<Surrogate>, but Derived& or Derived* okay too)  | |
| static std::shared_ptr< Surrogate > | load (const std::string &infile, const bool binary) | 
| serialize Surrogate from file through pointer to base class (must have been saved via same data type)  | |
  Public Attributes inherited from Surrogate | |
| util::DataScaler | dataScaler | 
| DataScaler class for a Surrogate's build samples.  | |
| double | responseOffset = 0. | 
| Response offset.  | |
| double | responseScaleFactor = 1. | 
| Response scale factor.  | |
  Protected Attributes inherited from Surrogate | |
| int | numSamples | 
| Number of samples in the Surrogate's build samples.  | |
| int | numVariables | 
| Number of features/variables in the Surrogate's build samples.  | |
| std::vector< std::string > | variableLabels | 
| Names of the variables/features; need not be populated.  | |
| int | numQOI | 
| Number of quantities of interest predicted by the surrogate. For scalar-valued surrogates numQOI = 1.  | |
| std::vector< std::string > | responseLabels | 
| Names of the responses/QoIs; need not be populated.  | |
| ParameterList | defaultConfigOptions | 
| Default Key/value options to configure the surrogate.  | |
| ParameterList | configOptions | 
| Key/value options to configure the surrogate - will override defaultConfigOptions.  | |
The PolynomialRegression class constructs a polynomial regressor using ordinary least squares.
Users may specify the max degree and p-norm for a hyperbolic cross scheme to specify the terms in the polynomial basis. A p-norm = 1 results in a total order specification of max degree.
The DataScaler class provides the option of scaling the basis matrix.
| PolynomialRegression | ( | const ParameterList & | options | ) | 
Constructor that sets configOptions and does not build.
| [in] | options | List that overrides entries in defaultConfigOptions. | 
References Surrogate::configOptions, PolynomialRegression::default_options(), and Surrogate::defaultConfigOptions.
| PolynomialRegression | ( | const std::string & | param_list_yaml_filename | ) | 
Constructor for the PolynomialRegression class that sets configOptions but does not build the surrogate.
| [in] | param_list_yaml_filename | A ParameterList file (relative to the location of the Dakota input file) that overrides entries in defaultConfigOptions. | 
References Surrogate::configOptions, PolynomialRegression::default_options(), and Surrogate::defaultConfigOptions.
| PolynomialRegression | ( | const MatrixXd & | samples, | 
| const MatrixXd & | response, | ||
| const ParameterList & | options | ||
| ) | 
Constructor sets configOptions and builds the Polynomial Regression surrogate.
| [in] | samples | Matrix of data for surrogate construction - (num_samples by num_features) | 
| [in] | response | Vector of targets for surrogate construction - (num_samples by num_qoi = 1; only 1 response is supported currently). | 
| [in] | options | List that overrides entries in defaultConfigOptions | 
References PolynomialRegression::build(), Surrogate::configOptions, and PolynomialRegression::default_options().
| PolynomialRegression | ( | const MatrixXd & | samples, | 
| const MatrixXd & | response, | ||
| const std::string & | param_list_yaml_filename | ||
| ) | 
Constructor for the PolynomialRegression class that sets configOptions and builds the surrogate.
| [in] | samples | Matrix of data for surrogate construction - (num_samples by num_features) | 
| [in] | response | Vector of targets for surrogate construction - (num_samples by num_qoi = 1; only 1 response is supported currently). | 
| [in] | param_list_yaml_filename | A ParameterList file (relative to the location of the Dakota input file) that overrides entries in defaultConfigOptions. | 
References PolynomialRegression::build(), Surrogate::configOptions, and PolynomialRegression::default_options().
Constructs a basis matrix for a set of samples according to the member variable basisIndices.
| [in] | samples | Matrix of sample points - (num_points by num_features). | 
| [out] | basis_matrix | Matrix that contains polynomial basis function evaluations in its rows for each sample point - (num_points by numTerms), numTerms being the number of terms in the polynomial basis. | 
References PolynomialRegression::basisIndices, PolynomialRegression::numTerms, and Surrogate::numVariables.
Referenced by PolynomialRegression::build(), PolynomialRegression::gradient(), PolynomialRegression::hessian(), and PolynomialRegression::value().
Build the polynomial surrogate using specified build data.
| [in] | samples | Matrix of data for surrogate construction - (num_samples by num_features) | 
| [in] | response | Vector of targets for surrogate construction - (num_samples by num_qoi = 1; only 1 response is supported currently). | 
Implements Surrogate.
References PolynomialRegression::basisIndices, PolynomialRegression::compute_basis_matrix(), dakota::surrogates::compute_hyperbolic_indices(), dakota::surrogates::compute_reduced_indices(), Surrogate::configOptions, Surrogate::dataScaler, Surrogate::defaultConfigOptions, PolynomialRegression::linearSolver, Surrogate::numQOI, Surrogate::numSamples, PolynomialRegression::numTerms, Surrogate::numVariables, PolynomialRegression::polynomialCoeffs, PolynomialRegression::polynomialIntercept, Surrogate::responseOffset, Surrogate::responseScaleFactor, DataScaler::scale_samples(), dakota::util::scaler_factory(), DataScaler::scaler_type(), dakota::util::solver_factory(), LinearSolverBase::solver_type(), and PolynomialRegression::verbosity.
Referenced by PolynomialRegression::PolynomialRegression().
Evaluate the scalar polynomial surrogate at a set of prediction points.
| [in] | eval_points | Matrix of prediction points - (num_pts by num_features). | 
Reimplemented from Surrogate.
References PolynomialRegression::compute_basis_matrix(), Surrogate::dataScaler, PolynomialRegression::polynomialCoeffs, PolynomialRegression::polynomialIntercept, Surrogate::responseOffset, Surrogate::responseScaleFactor, and DataScaler::scale_samples().
Referenced by Dakota::compute_regression_coeffs().
Evaluate the gradient of the scalar polynomial surrogate at a set of prediction points.
| [in] | eval_points | Coordinates of the prediction points - (num_pts by num_features). | 
Reimplemented from Surrogate.
References PolynomialRegression::basisIndices, PolynomialRegression::compute_basis_matrix(), Surrogate::dataScaler, PolynomialRegression::numTerms, Surrogate::numVariables, PolynomialRegression::polynomialCoeffs, Surrogate::responseScaleFactor, and DataScaler::scale_samples().
Evaluate the Hessian of the scalar polynomial surrogate at a single point.
| [in] | eval_point | Coordinates of the prediction point - (1 by num_features). | 
Reimplemented from Surrogate.
References PolynomialRegression::basisIndices, PolynomialRegression::compute_basis_matrix(), Surrogate::dataScaler, PolynomialRegression::numTerms, Surrogate::numVariables, PolynomialRegression::polynomialCoeffs, Surrogate::responseScaleFactor, and DataScaler::scale_samples().