プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

EQLでの線形回帰

この項で説明する構文を使用すると、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

EQLには次のように使用できます:
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が必要な結果は非常に多い可能性があります。