Does not inherit
#include <rw/stats/logregress.h> #include <rw/stats/logfit.h> RWLogisticRegression lr; RWLogisticFitAnalysis logfit(lr);
Given an instance of the class RWLogisticRegression, class RWLogisticFitAnalysis calculates several goodness of fit quantities, including the G statistic, Pearson statistic, and Hosmer and Lemeshow statistic along with their P-values and critical values. These statistics are described in Section 3.3.3.3, "Hosmer-Lemeshow Statistic," in the Business Analysis Module User's Guide.
#include <rw/analytics/logregress.h> #include <rw/analytics/logfit.h> #include <rw/rstream.h> int int main() { RWGenMat<double> predData = "5x2 [1 234 2 431 3 333 4 654 5 788]"; RWMathVec<bool> obsData(5, rwUninitialized ); obsData[0] = obsData[3] = obsData[4] = true; obsData[1] = obsData[2] = false; // Create a logistic regression object. RWLogisticRegression model(predData, obsData); // Analyze the model; print out some summaries of the model's // goodness of fit. RWLogisticFitAnalysis logfit(model); cout << "Pearson statistic: " << logfit.PearsonStatistic() << endl; cout << "Pearson statistic P-value: " << logfit.PearsonStatisticPValue() << endl; cout << "Pearson statistic 10% critical value: " << logfit.PearsonStatisticCriticalValue(0.10) << endl; cout << "Pearson statistic degrees of freedom: " << logfit.PearsonStatisticDegreesOfFreedom() << endl; cout << "Predictor data groups for Pearson statistic: " << logfit.predictorDataGroups() << endl; cout << endl; cout << "HL statistic: " << logfit.HLStatistic() << endl; cout << "HL statistic P-value: " << logfit.HLStatisticPValue() << endl; cout << "HL statistic 10% critical value: " << logfit.HLStatisticCriticalValue(0.10) << endl; cout << "HL statistic degrees of freedom: " << logfit.HLStatisticDegreesOfFreedom() << endl; cout << "Bin counts for predictions: " << logfit.HLStatisticOutputHistogram() << endl; cout << "Bin counts for predictions associated \n with positive observations: " << logfit.HLStatisticPosObsHistogram() << endl; cout << endl; return 0; }
RWLogisticFitAnalysis();
Constructs an empty logistic regression fit analysis object. Behavior is undefined.
RWLogisticFitAnalysis(const RWLogisticFitAnalysis& t);
Constructs a copy of t.
RWLogisticFitAnalysis(const RWLogisticRegression& lr);
Constructs an analysis object for the logistic regression object lr.
double deviance() const;
Returns the deviance from the saturated model.
double GStatistic() const;
Returns the G statistic value, described in Section 3.3.3.1, "G Statistic," in the Business Analysis Module User's Guide, relative to the intercept only model.
double GStatisticCriticalValue(double alpha=.05) const;
Returns the critical value for the G statistic at the specified significance level.
int GStatisticDegreesOfFreedom() const;
Returns the degrees of freedom for the G statistic test value.
double GStatisticPValue() const;
Returns the P-value for the G statistic according to a chi-square distribution.
double HLStatistic() const;
Returns the Hosmer-Lemeshow test statistic, described in Section 3.3.3.3, "Hosmer-Lemeshow Statistic," in the Business Analysis Module User's Guide.
double HLStatisticCriticalValue(double alpha=.05) const;
Returns the critical value for the Hosmer-Lemeshow statistic according to a chi-square distribution.
int HLStatisticDegreesOfFreedom() const;
Returns degrees of freedom for the Hosmer-Lemeshow statistic test value.
const Histogram& HLStatisticOutputHistogram() const;
Returns the histogram of model predictions used in computing the Hosmer-Lemeshow statistic. This can be used to verify the exact bin boundaries, which can be critical to the statistic's value.
const Histogram& HLStatisticPosObsHistogram() const;
Returns the histogram of model predictions whose corresponding observation value is positive. Seeing this histogram can be very useful for understanding the value for the statistic.
double HLStatisticPValue() const;
Returns the P-value for the Hosmer-Lemeshow statistic according to a chi-square distribution.
double logLikelihood() const;
Returns log likelihood of the logistic regression model.
size_t modelOutputGroups() const;
Returns the number of groups used for computing the Hosmer-Lemeshow statistic.
double PearsonStatistic() const;
Returns the Pearson test statistic. See Section 3.3.3.2, "Pearson Statistic," in the Business Analysis Module User's Guide for more information.
double PearsonStatisticCriticalValue(double alpha=.05) const;
Returns the critical value for the Pearson statistic according to a chi-square distribution.
int PearsonStatisticDegreesOfFreedom() const;
Returns degrees of freedom for the Pearson statistic test value.
double PearsonStatisticPValue() const;
Returns the P-value for the Pearson statistic according to a chi-square distribution.
const RWMathVec<size_t> predictorDataGroups() const;
Returns the grouping used for the predictor matrix during computation of a Pearson statistic.
int regressionDegreesOfFreedom() const;
Returns the regression degrees of freedom for a regression model. This is defined as the number of predictor variables in the model.
int residualDegreesOfFreedom() const;
Returns the residual degrees of freedom for a regression model. This is defined as the number of predictor patterns minus the number of parameters in the regression model.
void setLogisticRegression(const RWLogisticRegression & lr);
Specifies which regression model will be used for the fit analysis.
void setModelOutputGroups(size_t groups);
Sets the grouping that should be used for the model's predicted values when computing a Hosmer-Lemeshow statistic. The model's predicted values are organized into a number of equal-mass bins; the number of bins is equal to groups.
void setPredictorDataGroups(const RWMathVec<size_t>& groups);
Sets the grouping that should be used for the predictor matrix when computing a Pearson statistic. The length of groups should equal the number of predictor variables in the model. The element groups[k] specifies the number of equally-spaced groups to be used for predictor variable k's data. Each element of groups must have a positive (nonzero) value.
RWLogisticFitAnalysis& operator=(const RWLogisticFitAnalysis& lf);
Sets self equal to lf.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.