Computes a linear relationship model between two variables using least-squares fitting. Given variables x and y, the relationship is y = slope * x + intercept. The result is output in fields named _slope and _intercept — unless a different prefix than _ is specified. Also output are the adjusted R-squared value _r2 and the number of data points _n. No output is produced, however, if all x values are the same or if all y values are the same.

ParameterTypeRequiredDefaultDescription
prefixstringfalse_Prefix for the names of all the output fields.
xstringtrue The name of the field containing the independent variable.
ystringtrue The name of the field containing the dependent variable.

Examples

Find the correlation between the bytes sent in a server response and the time to send them.

humio
linReg(x=bytes_sent, y=send_duration)

Find the correlation between server load and total response size across time.

humio
bucket(function=[ sum(bytes_sent, as=x), avg(server_load_pct, as=y) ]) | linReg(x=x, y=y)

Find the correlation between server load and each of several types of request types across time.

humio
bucket(function=[ avg(server_load_pct, as=y), groupby(request_type, function=count(as=x)) ]) | groupby(request_type, function=linReg(x=x, y=y))