Class for running a basic OLS regression.
More...
#include <creativity/data/OLS.hpp>
|
|
| OLS ()=delete |
| | No default constructor.
|
| |
| | OLS (const Equation &model) |
| | Constructs an OLS solver with a model. More...
|
| |
|
| OLS (Equation &&model) |
| | Constructs an OLS solver, taking over the given model.
|
| |
|
const Equation & | model () const |
| | Accesses the model used for this OLS object.
|
| |
|
unsigned int | n () const |
| | Returns the number of observations for this OLS object.
|
| |
|
unsigned int | k () const |
| | Returns the number of variables for this OLS object.
|
| |
| int | df () const |
| | Returns the degrees of freedom of the model; this is simply n() - k(). More...
|
| |
| void | gather () |
| | Calculates and stores the final numerical values from the model. More...
|
| |
| void | solve () |
| | Attempts to solve the model, if not already done. More...
|
| |
| const Eigen::VectorXd & | beta () const |
| | Returns the vector of coefficients (i.e. More...
|
| |
| const Eigen::MatrixXd & | covariance () const |
| | Returns the covariance estimate of the beta estimators. More...
|
| |
| const Eigen::VectorXd & | se () const |
| | Returns the standard errors (the square roots of the diagonal of covariance()) of the beta() values. More...
|
| |
| const Eigen::VectorXd & | tRatios () const |
| | Returns the t-ratios for =0 tests, i.e. More...
|
| |
| const Eigen::VectorXd & | pValues () const |
| | Returns the p-values of the t-ratios returned by tRatios() More...
|
| |
| const double & | s2 () const |
| | Returns \(s^2\), the square of the regression standard error. More...
|
| |
| const Eigen::VectorXd & | residuals () const |
| | Returns the residuals. More...
|
| |
| const double & | ssr () const |
| | Returns the sum-of-squared residuals. More...
|
| |
| const double & | Rsq () const |
| | Returns the \(R^2\) value for the regression. More...
|
| |
| ftest | fTest () const |
| | Calculates and returns the F-test of all non-constant coefficients in the model being equal to 0. More...
|
| |
| const Eigen::VectorXd & | y () const |
| | Returns the y data used to solve the model. More...
|
| |
| const Eigen::MatrixXd & | X () const |
| | Returns the X data used to solve the model. More...
|
| |
|
|
void | requireGathered () const |
| | Throws a std::logic_error if the model hasn't been gathered.
|
| |
|
void | requireSolved () const |
| | Throws a std::logic_error if the model hasn't been solved.
|
| |
|
|
Equation | model_ |
| | The model, given during construction.
|
| |
|
bool | gathered_ = false |
| | Whether gather() has been called, to populate y_ and X_.
|
| |
|
Eigen::VectorXd | y_ |
| | The y vector generated from the model.
|
| |
|
Eigen::MatrixXd | X_ |
| | The X matrix generated from the model.
|
| |
|
bool | solved_ = false |
| | Whether solve() has been called, to populate the below.
|
| |
|
Eigen::VectorXd | beta_ |
| | The beta vector.
|
| |
|
Eigen::MatrixXd | var_beta_ |
| | The estimated covariance of the beta estimators.
|
| |
|
Eigen::VectorXd | se_ |
| | Cached standard errors.
|
| |
|
Eigen::VectorXd | t_ratios_ |
| | Cached t ratios.
|
| |
|
Eigen::VectorXd | p_values_ |
| | Cached p-values.
|
| |
|
Eigen::VectorXd | residuals_ |
| | Residuals.
|
| |
|
double | ssr_ = 0 |
| | SSR.
|
| |
|
double | s2_ = 0 |
| | sigma^2 estimate
|
| |
|
double | R2_ = 0 |
| | R^2 value.
|
| |
|
|
std::ostream & | operator<< (std::ostream &os, const OLS &ols) |
| | Overloaded so that an OLS object can be sent to an output stream; the output consists of the model followed by the model results if the model has been solved; just the model itself if the model hasn't been solved.
|
| |
Class for running a basic OLS regression.
Example:
OLS mymodel(Equation(y) + 1 + x1 + x2);
mymodel.solve();
// Do something with mymodel.beta(), etc.
std::cout << mymodel << "\n";
§ OLS()
| creativity::data::OLS::OLS |
( |
const Equation & |
model | ) |
|
Constructs an OLS solver with a model.
The model object is copied.
§ beta()
| const Eigen::VectorXd& creativity::data::OLS::beta |
( |
| ) |
const |
Returns the vector of coefficients (i.e.
the beta vector) that solve the model.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ covariance()
| const Eigen::MatrixXd& creativity::data::OLS::covariance |
( |
| ) |
const |
Returns the covariance estimate of the beta estimators.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ df()
| int creativity::data::OLS::df |
( |
| ) |
const |
|
inline |
Returns the degrees of freedom of the model; this is simply n() - k().
Note that this can be negative, but that such a model is certainly unsolvable.
§ fTest()
| ftest creativity::data::OLS::fTest |
( |
| ) |
const |
Calculates and returns the F-test of all non-constant coefficients in the model being equal to 0.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ gather()
| void creativity::data::OLS::gather |
( |
| ) |
|
Calculates and stores the final numerical values from the model.
This is called when needed by solve(), and does not typically need to be called explicitly.
- Exceptions
-
§ pValues()
| const Eigen::VectorXd& creativity::data::OLS::pValues |
( |
| ) |
const |
Returns the p-values of the t-ratios returned by tRatios()
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ residuals()
| const Eigen::VectorXd& creativity::data::OLS::residuals |
( |
| ) |
const |
Returns the residuals.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ Rsq()
| const double& creativity::data::OLS::Rsq |
( |
| ) |
const |
Returns the \(R^2\) value for the regression.
This is centered if the model contains a constant, uncentered if it does not. Note that this constant detection depends on the model's hasConstant() method; a model constructed without a constant but with a SimpleVariable that only takes on a single value will not be considered a constant for the purposes of using centering here.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ s2()
| const double& creativity::data::OLS::s2 |
( |
| ) |
const |
Returns \(s^2\), the square of the regression standard error.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ se()
| const Eigen::VectorXd& creativity::data::OLS::se |
( |
| ) |
const |
Returns the standard errors (the square roots of the diagonal of covariance()) of the beta() values.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ solve()
| void creativity::data::OLS::solve |
( |
| ) |
|
Attempts to solve the model, if not already done.
- Exceptions
-
| RankError | if X has too few rows, or has non-full-rank columns. |
§ ssr()
| const double& creativity::data::OLS::ssr |
( |
| ) |
const |
Returns the sum-of-squared residuals.
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ tRatios()
| const Eigen::VectorXd& creativity::data::OLS::tRatios |
( |
| ) |
const |
Returns the t-ratios for =0 tests, i.e.
beta().array() / se().array()
- Exceptions
-
| std::logic_error | if the model has not been solved yet by calling solve(). |
§ X()
| const Eigen::MatrixXd& creativity::data::OLS::X |
( |
| ) |
const |
Returns the X data used to solve the model.
gather() must have been called either explicitly or by a previous call to solve().
- Exceptions
-
§ y()
| const Eigen::VectorXd& creativity::data::OLS::y |
( |
| ) |
const |
Returns the y data used to solve the model.
gather() must have been called either explicitly or by a previous call to solve().
- Exceptions
-
The documentation for this class was generated from the following file: