我正在研究一种分析时间序列的算法,我想知道如果[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 中做到这一点?
谢谢