このトピックで説明する構文を使用して、EQLで線形回帰を生成できます。
ID | X | Y |
---|---|---|
1 | 60 | 3.1 |
2 | 61 | 3.6 |
3 | 62 | 3.8 |
4 | 63 | 4 |
5 | 65 | 4.1 |
次に示す単純な公式は、
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 GROUP
結果は次のとおりです。
N | sumX | sumY | sumXY | sumX2 | B | A |
---|---|---|---|---|---|---|
5 | 311.000000 | 18.600000 | 1159.700000 | 19359.000000 | 0.187838 | -7.963514 |
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 GROUP RETURN Results AS SELECT Y AS Y, X AS X, Regression[].A + Regression[].B * X AS Projection ...
前述の例の最後のステップとして、結果のPAGEまたはGROUPが必要になります。膨大な数の結果が生成されることがあるからです。