User Documentation
 All Files Functions Variables Groups
marginal.sql_in File Reference

SQL functions for linear regression. More...

Functions

float8[] marginal_logregr_step_transition (float8[] state, boolean y, float8[] x, float8[] coef)
 
float8[] marginal_logregr_step_merge_states (float8[] state1, float8[] state2)
 
marginal_logregr_result marginal_logregr_step_final (float8[] state)
 
aggregate marginal_logregr_result marginal_logregr (boolean dependentVariable, float8[] independentVariables, float8[] coef)
 Compute marginal effects for logistic regression. More...
 
varchar margins_logregr (varchar usage_string)
 
varchar margins_logregr ()
 
void margins_logregr (varchar source_table, varchar out_table, varchar dependent_varname, varchar input_independent_varname, varchar input_group_cols, integer[] marginal_vars, integer max_iter, varchar optimizer, float8 tolerance, boolean verbose_mode)
 A wrapper function for the various marginal regression analyzes. More...
 
CREATE OR REPLACE FUNCTION MADlib margins_logregr (source_table VARCHAR--name of input table, out_table VARCHAR--name of output table, dependent_variable VARCHAR--name of dependent variable, independent_variable VARCHAR--name of independent variable) RETURNS VOID AS $$BEGIN PERFORM MADlib.margins_logregr(source_table
 Marginal effects with default variables. More...
 
CREATE OR REPLACE FUNCTION MADlib margins_logregr (source_table VARCHAR--name of input table, out_table VARCHAR--name of output table, dependent_variable VARCHAR--name of dependent variable, independent_variable VARCHAR--name of independent variable, grouping_cols VARCHAR--name of grouping cols) RETURNS VOID AS $$BEGIN PERFORM MADlib.margins_logregr(source_table
 Marginal effects with default variable_names. More...
 
CREATE OR REPLACE FUNCTION MADlib margins_logregr (source_table VARCHAR--name of input table, out_table VARCHAR--name of output table, dependent_variable VARCHAR--name of dependent variable, independent_variable VARCHAR--name of independent variable, grouping_cols VARCHAR--name of grouping cols, marginal_vars INTEGER[]--indices of variables to calculate marginal effects on) RETURNS VOID AS $$BEGIN PERFORM MADlib.margins_logregr(source_table
 Marginal effects with default variable_names. More...
 
CREATE OR REPLACE FUNCTION MADlib margins_logregr (source_table VARCHAR--name of input table, out_table VARCHAR--name of output table, dependent_variable VARCHAR--name of dependent variable, independent_variable VARCHAR--name of independent variable, grouping_cols VARCHAR--name of grouping cols, marginal_vars INTEGER[]--indices of variables to calculate marginal effects on, max_iter INTEGER--Max iterations for the logstic regression inner call) RETURNS VOID AS $$BEGIN PERFORM MADlib.margins_logregr(source_table
 Marginal effects with default variable_names. More...
 
CREATE OR REPLACE FUNCTION MADlib margins_logregr (source_table VARCHAR--name of input table, out_table VARCHAR--name of output table, dependent_variable VARCHAR--name of dependent variable, independent_variable VARCHAR--name of independent variable, grouping_cols VARCHAR--name of grouping cols, marginal_vars INTEGER[]--indices of variables to calculate marginal effects on, max_iter INTEGER--Max iterations for the logstic regression inner call, optimizer VARCHAR--Logistic regression optimizer) RETURNS VOID AS $$BEGIN PERFORM MADlib.margins_logregr(source_table
 Marginal effects with default variable_names. More...
 
CREATE OR REPLACE FUNCTION MADlib margins_logregr (source_table VARCHAR--name of input table, out_table VARCHAR--name of output table, dependent_variable VARCHAR--name of dependent variable, independent_variable VARCHAR--name of independent variable, grouping_cols VARCHAR--name of grouping cols, marginal_vars INTEGER[]--indices of variables to calculate marginal effects on, max_iter INTEGER--Max iterations for the logstic regression inner call, optimizer VARCHAR--Logistic regression optimizer, tolerance DOUBLE PRECISION--Tolerance) RETURNS VOID AS $$BEGIN PERFORM MADlib.margins_logregr(source_table
 Marginal effects with default variable_names. More...
 
End of Default Variable calls
for margins_logregr Marginal
Multi Logistic Regression
CREATE TYPE MADlib
marginal_mlogregr_result 
AS (margins DOUBLE PRECISION[], coef DOUBLE PRECISION[], std_err DOUBLE PRECISION[], t_stats DOUBLE PRECISION[], p_values DOUBLE PRECISION[])
 
CREATE OR REPLACE FUNCTION MADlib mlogregr_marginal_step_transition (state DOUBLE PRECISION[], y INTEGER, num_categories INTEGER, ref_category INTEGER, x DOUBLE PRECISION[], coef DOUBLE PRECISION[]) RETURNS DOUBLE PRECISION[] AS 'MODULE_PATHNAME'LANGUAGE C IMMUTABLE
 
CREATE OR REPLACE FUNCTION MADlib mlogregr_marginal_step_merge_states (state1 DOUBLE PRECISION[], state2 DOUBLE PRECISION[]) RETURNS DOUBLE PRECISION[] AS 'MODULE_PATHNAME'LANGUAGE C IMMUTABLE STRICT
 
CREATE OR REPLACE FUNCTION MADlib mlogregr_marginal_step_final (state DOUBLE PRECISION[]) RETURNS MADlib.marginal_mlogregr_result AS 'MODULE_PATHNAME'LANGUAGE C IMMUTABLE STRICT
 

Variables

CREATE OR REPLACE FUNCTION MADlib out_table
 
CREATE OR REPLACE FUNCTION MADlib dependent_variable
 
CREATE OR REPLACE FUNCTION MADlib independent_variable
 
CREATE OR REPLACE FUNCTION MADlib NULL
 
CREATE OR REPLACE FUNCTION MADlib irls
 
CREATE OR REPLACE FUNCTION MADlib False
 
 END
 
LANGUAGE plpgsql VOLATILE
 
CREATE OR REPLACE FUNCTION MADlib grouping_cols
 
CREATE OR REPLACE FUNCTION MADlib marginal_vars
 
CREATE OR REPLACE FUNCTION MADlib max_iter
 
CREATE OR REPLACE FUNCTION MADlib optimizer
 
CREATE OR REPLACE FUNCTION MADlib tolerance
 

Detailed Description

Date
January 2011
See Also
Calculates marginal effects for various regression models.

Function Documentation

End of Default Variable calls for margins_logregr Marginal Multi Logistic Regression CREATE TYPE MADlib marginal_mlogregr_result AS ( margins DOUBLE  PRECISION[],
coef DOUBLE  PRECISION[],
std_err DOUBLE  PRECISION[],
t_stats DOUBLE  PRECISION[],
p_values DOUBLE  PRECISION[] 
)
aggregate marginal_logregr_result marginal_logregr ( boolean  dependentVariable,
float8[]  independentVariables,
float8[]  coef 
)
Parameters
dependentVariableColumn containing the dependent variable
independentVariablesColumn containing the array of independent variables
coefColumn containing the array of the coefficients (as obtained by logregr)
To include an intercept in the model, set one coordinate in the independentVariables array to 1.
Returns
A composite value:
  • margins FLOAT8[] - Array of marginal effects
  • coefFLOAT8[] - The coefficients for the regression
  • std_err FLOAT8[] - Array of standard-errors (calculated by the delta method),
  • t_stats FLOAT8[] - Array of t-statistics
  • p_values FLOAT8[] - Array of p-values
Usage
  • Get all the diagnostic statistics:
 SELECT marginal_logregr(dependentVariable,
 independentVariables, coef)
 FROM dataTable;
marginal_logregr_result marginal_logregr_step_final ( float8[]  state)
float8 [] marginal_logregr_step_merge_states ( float8[]  state1,
float8[]  state2 
)
float8 [] marginal_logregr_step_transition ( float8[]  state,
boolean  y,
float8[]  x,
float8[]  coef 
)
varchar margins_logregr ( varchar  usage_string)
varchar margins_logregr ( )
void margins_logregr ( varchar  source_table,
varchar  out_table,
varchar  dependent_varname,
varchar  input_independent_varname,
varchar  input_group_cols,
integer[]  marginal_vars,
integer  max_iter,
varchar  optimizer,
float8  tolerance,
boolean  verbose_mode 
)
Parameters
source_tableString identifying the input table
out_tableString identifying the output table to be created
dependent_varnameColumn containing the dependent variable
input_independent_varnameColumn containing the array of independent variables
grouping_colsSet of columns to group by.
marginal_varsSubset of independent variables to calculate marginal effects for.
max_iterMaximum number of iterations
optimzerOptimizer to be used (newton/irls, cg or idg)
toleranceResiual tolerance
verbose_modeVerbose mode (on/off)
To include an intercept in the model, set one coordinate in the independentVariables array to 1.
Returns
void
Usage
For function summary information. Run sql> select margins_logregr('help'); OR sql> select margins_logregr(); OR sql> select margins_logregr('?'); For function usage information. Run sql> select margins_logregr('usage');
  • Compute the coefficients, and the get the marginal diagnostic statistics:
      select margins_logregr(source_table, out_table, dependentVariable, independentVariables);
     
CREATE OR REPLACE FUNCTION MADlib margins_logregr ( source_table VARCHAR--name of input  table,
out_table VARCHAR--name of output  table,
dependent_variable VARCHAR--name of dependent  variable,
independent_variable VARCHAR--name of independent  variable 
)
CREATE OR REPLACE FUNCTION MADlib margins_logregr ( source_table VARCHAR--name of input  table,
out_table VARCHAR--name of output  table,
dependent_variable VARCHAR--name of dependent  variable,
independent_variable VARCHAR--name of independent  variable,
grouping_cols VARCHAR--name of grouping  cols 
)
CREATE OR REPLACE FUNCTION MADlib margins_logregr ( source_table VARCHAR--name of input  table,
out_table VARCHAR--name of output  table,
dependent_variable VARCHAR--name of dependent  variable,
independent_variable VARCHAR--name of independent  variable,
grouping_cols VARCHAR--name of grouping  cols,
marginal_vars INTEGER--[]indices of variables to calculate marginal effects  on 
)
CREATE OR REPLACE FUNCTION MADlib margins_logregr ( source_table VARCHAR--name of input  table,
out_table VARCHAR--name of output  table,
dependent_variable VARCHAR--name of dependent  variable,
independent_variable VARCHAR--name of independent  variable,
grouping_cols VARCHAR--name of grouping  cols,
marginal_vars INTEGER--[]indices of variables to calculate marginal effects  on,
max_iter INTEGER--Max iterations for the logstic regression inner  call 
)
CREATE OR REPLACE FUNCTION MADlib margins_logregr ( source_table VARCHAR--name of input  table,
out_table VARCHAR--name of output  table,
dependent_variable VARCHAR--name of dependent  variable,
independent_variable VARCHAR--name of independent  variable,
grouping_cols VARCHAR--name of grouping  cols,
marginal_vars INTEGER--[]indices of variables to calculate marginal effects  on,
max_iter INTEGER--Max iterations for the logstic regression inner  call,
optimizer VARCHAR--Logistic regression  optimizer 
)
CREATE OR REPLACE FUNCTION MADlib margins_logregr ( source_table VARCHAR--name of input  table,
out_table VARCHAR--name of output  table,
dependent_variable VARCHAR--name of dependent  variable,
independent_variable VARCHAR--name of independent  variable,
grouping_cols VARCHAR--name of grouping  cols,
marginal_vars INTEGER--[]indices of variables to calculate marginal effects  on,
max_iter INTEGER--Max iterations for the logstic regression inner  call,
optimizer VARCHAR--Logistic regression  optimizer,
tolerance DOUBLE PRECISION--  Tolerance 
)
CREATE OR REPLACE FUNCTION MADlib mlogregr_marginal_step_final ( state DOUBLE  PRECISION[])
CREATE OR REPLACE FUNCTION MADlib mlogregr_marginal_step_merge_states ( state1 DOUBLE  PRECISION[],
state2 DOUBLE  PRECISION[] 
)
CREATE OR REPLACE FUNCTION MADlib mlogregr_marginal_step_transition ( state DOUBLE  PRECISION[],
INTEGER,
num_categories  INTEGER,
ref_category  INTEGER,
x DOUBLE  PRECISION[],
coef DOUBLE  PRECISION[] 
)

Variable Documentation

CREATE OR REPLACE FUNCTION MADlib dependent_variable
END
CREATE OR REPLACE FUNCTION MADlib False
CREATE OR REPLACE FUNCTION MADlib grouping_cols
CREATE OR REPLACE FUNCTION MADlib independent_variable
CREATE OR REPLACE FUNCTION MADlib irls
CREATE OR REPLACE FUNCTION MADlib marginal_vars
CREATE OR REPLACE FUNCTION MADlib max_iter
CREATE OR REPLACE FUNCTION MADlib NULL
CREATE OR REPLACE FUNCTION MADlib optimizer
CREATE OR REPLACE FUNCTION MADlib out_table
CREATE OR REPLACE FUNCTION MADlib tolerance
LANGUAGE plpgsql VOLATILE