0

私はこのロジックを使用しています:

MYSQL トレンドライン計算

一連の時系列データの傾きを計算します。しかし、私のデータは、軸の相対的なスケールに依存しているため、「勾配」が意味をなさないようなものです(時間の経過に伴う電流出力の測定)。たとえば、ミリアンペアで表示された電流は、同じ期間のアンペアで表された電流とは異なる勾配を生成します。必要なのは、指定された時間の傾向が特定の割合の増加を表しているかどうかを計算することです。

要約すると、次の SQL クエリを使用しています。

    SELECT COUNT(*) AS N,SUM(UNIX_TIMESTAMP(timestamp)) AS Sum_X,
        SUM(UNIX_TIMESTAMP(timestamp) * UNIX_TIMESTAMP(timestamp)) AS Sum_X2,
        SUM(max_current) AS Sum_Y,
        SUM(max_current*max_current) AS Sum_Y2,
        SUM(UNIX_TIMESTAMP(timestamp) * max_current) AS Sum_XY
        FROM circuit_history
        WHERE circuit_filename = '".$cfn."'
        AND timestamp > date_sub(now(), interval 60 day)";

そして私の傾きは次のように計算されます:

$slope = ($row['N'] * $row['Sum_XY'] - $row['Sum_X'] * $row['Sum_Y'])/($row['N'] * $row['Sum_X2'] - $row['Sum_X'] * $row['Sum_X']);

しかし、UNIX タイムスタンプのスケールのために、5.9808374081288E-10 のような数値を取得しています。

これからパーセンテージの増加または減少に到達するための最良の方法は何ですか? より具体的には、トレンドラインの端点から Y 値を取得するにはどうすればよいですか?

4

1 に答える 1