Teradata Package for Python Function Reference - 17.00 - regr_slope - Teradata Package for Python

Teradata® Package for Python Function Reference

Product
Teradata Package for Python
Release Number
17.00
Release Date
November 2021
Content Type
Programming Reference
Publication ID
B700-4008-070K
Language
English (United States)
 
 
regr_slope

 
Functions
       
regr_slope(dependent_variable_expression, independent_variable_expression)
DESCRIPTION:
    Function returns the slope of the univariate linear regression line through
    all non-null data pairs of the dependent and independent variable arguments.
    When there are fewer than two non-null data point pairs in the data used
    for the computation, the function returns NULL.
 
    The slope of the best fit linear regression is a measure of the rate of change
    of the regression of one independent variable on the dependent variable.
 
    The plot of the linear regression on the variables is used to predict the behavior
    of the dependent variable from the change in the independent variable.
    Note that this computation assumes a linear relationship between the variables.
    There can be a strong nonlinear relationship between independent and dependent
    variables, and the computation of the simple linear regression between such
    variable pairs does not reflect such a relationship.
 
PARAMETERS:
    dependent_variable_expression:
        Required Argument.
        Specifies a ColumnExpression of a column or a literal representing a
        dependent variable for the regression.
        A dependent variable is something that is measured in response to a treatment.
        Format for the argument: '<dataframe>.<dataframe_column>.expression'.
 
    independent_variable_expression:
        Required Argument.
        Specifies a ColumnExpression of a column or a literal representing an
        independent variable for the regression.
        An independent variable is a treatment: something that is varied under 
        your control to test the behavior of another variable.
        Format for the argument: '<dataframe>.<dataframe_column>.expression'.
 
NOTE:
    Function accepts positional arguments only.
 
EXAMPLES:
    # Load the data to run the example.
    >>> load_example_data("dataframe", "admissions_train")
    >>>
 
    # Create a DataFrame on 'admissions_train' table.
    >>> admissions_train = DataFrame("admissions_train")
    >>> admissions_train
       masters   gpa     stats programming  admitted
    id
    22     yes  3.46    Novice    Beginner         0
    36      no  3.00  Advanced      Novice         0
    15     yes  4.00  Advanced    Advanced         1
    38     yes  2.65  Advanced    Beginner         1
    5       no  3.44    Novice      Novice         0
    17      no  3.83  Advanced    Advanced         1
    34     yes  3.85  Advanced    Beginner         0
    13      no  4.00  Advanced      Novice         1
    26     yes  3.57  Advanced    Advanced         1
    19     yes  1.98  Advanced    Advanced         0
    >>>
 
    # Example 1: Get the slope of the univariate linear regression line through
    #            the data pairs of values in "gpa" column (independent variable)
    #            and "admitted" column (dependent variable).
    # Import func from sqlalchemy to execute regr_slope function.
    >>> from sqlalchemy import func
 
    # Create a sqlalchemy Function object.
    >>> regr_slope_func_ = func.regr_slope(admissions_train.admitted.expression, admissions_train.gpa.expression)
    >>>
 
    # Pass the Function object as input to DataFrame.assign().
    >>> df = admissions_train.assign(True, regr_slope_=regr_slope_func_)
    >>> print(df)
       regr_slope_
    0    -0.020934
    >>>
 
    # Example 2: Get the slope of the univariate linear regression line through
    #            the data pairs of values in "gpa" column (independent variable)
    #            and "admitted" column (dependent variable) for each
    #            level of programming.
    # Note:
    #   When assign() is run after DataFrame.groupby(), the function ignores
    #   the "drop_columns" argument.
    >>> admissions_train.groupby("programming").assign(regr_slope_=regr_slope_func_)
      programming  regr_slope_
    0    Beginner    -0.596105
    1    Advanced     0.398010
    2      Novice    -0.082809
    >>>