sample_regression - bruno-beloff/scs_analysis GitHub Wiki

docs > software repositories > scs_analysis > commands > filtering and aggregating data


DESCRIPTION

The sample_regression utility computes a rolling linear regression for a stream of data delivered on stdin.

Input data is typically in the form of a JSON document. A command parameter specifies the path to the node within the document that is to be averaged. The node is typically a leaf node integer or float. The output of the sample_regression utility includes the last source value, slope and intercept.

SYNOPSIS

sample_regression.py [-t TALLY] [-p PRECISION] [-v] [PATH]

Options
--version show program's version number and exit
-h, --help show this help message and exit
-t TALLY, --tally=TALLY generate a rolling aggregate for TALLY number of data points (default all)
-p PRECISION, --prec=PRECISION precision (default 0 decimal places)
-v, --verbose report narrative to stderr

EXAMPLES

aws_topic_history.py -m60 /orgs/south-coast-science-demo/brighton/loc/1/gases | ./sample_regression.py -t360 -p3 val.CO.cnc

DOCUMENT EXAMPLE - INPUT

{"tag": "scs-bgx-401", "rec": "2018-03-27T09:54:41.042+00:00", "val": {"NO2": {"weV": 0.29563, "aeV": 0.280879, "weC": 0.009569, "cnc": 61.0}, "Ox": {"weV": 0.406819, "aeV": 0.387443, "weC": -0.010706, "cnc": 34.7}, "NO": {"weV": 0.319692, "aeV": 0.292129, "weC": 0.028952, "cnc": 165.5}, "CO": {"weV": 0.395819, "aeV": 0.289317, "weC": 0.113108, "cnc": 311.3}, "sht": {"hmd": 82.4, "tmp": 12.6}}}

DOCUMENT EXAMPLE - OUTPUT

{"rec": "2018-03-27T16:10:51.033+00:00", "val": {"CO": {"cnc": {"src": 202.5, "slope": 0.039, "intercept": 226.217}}}}

SEE ALSO

scs_analysis/sample_slope
scs_analysis/sample_stats