在n个周期内移动/滚动标准偏差

时间:2015-09-20 11:15:31

标签: php mysql

尝试在一段时间内获得MYSQL的滚动标准偏差。我已经尝试了以下代码,但是当我在Excel中进行检查时它不会协调。

这是我的尝试:

SELECT STDDEV_POP(sales) FROM (SELECT `sales` FROM `table` WHERE `company` = '". $company ."' AND `date` <= '". $date ."' ORDER BY `date` DESC LIMIT $period) AS subquery

我使用了$ date,所以如果我在特定日期之前需要它,我可以限制数据。 $ period指定计算标准差的时间(例如,5天)。

编辑:

根据要求,只是进一步的细节。附加的图像是在Excel中完成的检查,我刚刚从here获取了数据。

Excel Worksheet

SQL小提琴是here。当日期为“2012-12-15”时,该值会重新调整为Excel表格,但不会在“2012-12-16”或“2016-12-17”

1 个答案:

答案 0 :(得分:0)

由MySQL和Excel生成的数据进行协调。

1)在stockcharts链接中使用的方法计算偏离平方的10天平均值的标准偏差。这不是计算标准偏差的常规方法。

2)在Excel中进行测试时,我使用的是STDEV()函数,该函数假定是一个样本,但是,MySQL中使用的函数是STDDEV_POP(),它假定是一个总体。

这两点是数字无法协调的原因。一切都好!