我正在使用这个逻辑:
计算一组时间序列数据的斜率。但我的数据是这样的(随时间测量电流输出),“斜率”没有意义,因为它取决于轴的相对比例。例如,以毫安表示的电流将产生与在相同时间段内以安培表示的电流不同的斜率。我需要的是计算指定时间内的趋势是否代表一定的百分比增长。
总结一下,我正在使用这个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值?
答案 0 :(得分:1)