- Categories:
R_ SQUARED (system data metric function)¶
Returns the coefficient of determination (R²) of a column of predicted values against a column of actual values. R² measures the share of the variation in the actual values that the predictions explain.
This topic provides the syntax for calling the function directly. To learn how to associate the function with a table or view so it runs at regular intervals, see Associate a DMF.
Syntax¶
Arguments¶
querySpecifies a SQL query that projects two columns. The first column contains the predicted values, and the second column contains the actual values.
Allowed data types¶
The two columns projected by the query must have the same data type, which must be one of
the following:
FLOATNUMBER
Returns¶
The function returns a FLOAT value that is less than or equal to 1:
- A value of 1 means that every prediction matches the actual value.
- A value of 0 means that the predictions are no better than predicting the average actual value for every row.
- A negative value means that the predictions are worse than predicting the average actual value.
The function returns NULL if no row has both a predicted and an actual value, or if all of the actual values are the same.
Usage notes¶
- The function computes
1 - SUM(POWER(actual - predicted, 2)) / SUM(POWER(actual - mean_actual, 2)), wheremean_actualis the average of the actual values in the rows that have both a predicted and an actual value. - The order of the columns matters. The first column is the predicted value and the second is the actual value. When you
associate the function with a table or view, specify the columns in the same order:
ON (predicted_column, actual_column). - Rows in which either value is
NULLare ignored. - You can’t mix data types. For example, you can’t use the function on a
NUMBERcolumn of predictions and aFLOATcolumn of actual values.
Examples¶
The examples use the following table of demand forecasts. The prediction in the last row is missing, so the function ignores that row:
Measure the coefficient of determination of the forecasts:
Associate the function with the table, and define an expectation that is violated when R² falls below 0.8: