この項で説明する構文を使用すると、EQLで線形の回帰を発生させることができます。
次の単純なフォーミュレーション:
y = A + Bx
RETURN Regression AS
SELECT
COUNT(ID) AS N,
SUM(X) AS sumX,
SUM(Y) AS sumY,
SUM(X*Y) AS sumXY,
SUM(X*X) AS sumX2,
((N*sumXY)-(sumX*sumY)) /
((N*sumX2)-(sumX*sumX)) AS B,
(sumY-(B*sumX))/N AS A
FROM DataState
GROUP
結果:
| N | sumX | sumY | sumXY | sumX2 | B | A |
|---|---|---|---|---|---|---|
| 5 | 311.000000 | 18.600000 | 1159.700000 | 19359.000000 | 0.187838 | -7.963514 |
回帰結果の使用
y = A + Bxの場合:
DEFINE Regression AS
SELECT
COUNT(ID) AS N,
SUM(X) AS sumX,
SUM(Y) AS sumY,
SUM(X*Y) AS sumXY,
SUM(X*X) AS sumX2,
((N*sumXY)-(sumX*sumY)) /
((N*sumX2)-(sumX*sumX)) AS B,
(sumY-(B*sumX))/N AS A
FROM DataState
GROUP
RETURN Results AS
SELECT
Y AS Y, X AS X, Regression[].A + Regression[].B * X AS Projection
...
前述の例の最後のステップとして、PAGEまたはGROUPが必要な結果は非常に多い可能性があります。