2

我正在研究一种分析时间序列的算法,我想知道如果[0,1,2,...,n-1,n]日期间隔均匀,给出 to date 的值是否安全:

例如:

以这种方式将日期映射到值是否安全?

2013-07-01 => 0
2013-07-08 => 1
2013-07-15 => 2
2013-07-22 => 3
2013-07-29 => 4

例如,如果我每周跟踪销售情况,我的数据库如下所示:

+------------+---------+
|     Date   |  Sales  |
+------------+---------+
| 2013-07-01 |   24    |
+------------+---------+
| 2013-07-08 |   12    |
+------------+---------+
| 2013-07-15 |   25    |
+------------+---------+
| 2013-07-22 |   10    |
+------------+---------+
| 2013-07-29 |   29    |
+------------+---------+

这相当于:

P(x,y) = { (0, 24), (1, 12), (2, 25), (3, 10), (4, 29) }

这样我就可以使用公式:

Y2 - Y1
-------
X2 - X1

或 PHP(我的应用程序的语言):

function isSeriesIncreasing($points) {
    $x1 = current($points);
    $y1 = key($points);
    $x2 = end($points);
    $y2 = key($points);
    return (($y2 - $y1)/($x2 - $x1) > 0) ? true: false;
}

$timeSeries = array(24,12,25,10,29);

if( isSeriesIncreasing($timeSeries) ) {
    echo "Sales have been increasing";
} else {
   echo "Sales have been decreasing";
}

所以我的问题是:

将日期映射到时间序列中的数字是个好主意吗?有没有更好的方法在 PHP 中做到这一点?

谢谢

4

0 回答 0