簡體   English   中英

基於現有日期的時間預測:時間記錄

[英]Time Prediction based on existing date:time records

我有一個系統記錄日期:時間,它返回如下結果:

05.28.2013 11:58pm
05.27.2013 10:20pm
05.26.2013 09:47pm
05.25.2013 07:30pm
05.24.2013 06:24pm
05.23.2013 05:36pm

我希望能夠做的是有一個日期列表:接下來幾天的時間預測 - 這樣一個人就可以看到下一個事件可能發生的時間。

預測結果示例:

06.01.2013 04:06pm
05.31.2013 03:29pm
05.30.2013 01:14pm

關於如何用php做這種時間預測的想法?

基本答案是“不”。 編程工具不是為預測而設計的。 統計工具是為此目的而設計的。 您應該更多地考慮R,SPSS,SAS或其他類似工具。 一些數據庫內置了基本的數據分析工具,這是另一種(通常是次要的)選擇。

時間序列預測的標准統計技術稱為ARIMA分析(自回歸積分移動平均值)。 你不太可能在php / SQL中實現它。 用於估計事件之間的時間的標准統計技術是泊松回歸。 你也不太可能在php / SQL中實現它。

我發現你的數據點是每天晚上一次。 我猜可能這是白天運行的某個進程的結束。 結束時間基於開始時間和過程的持續時間。

你能做什么? 通常合理的預測是“昨天發生的事情”。 你會驚訝地發現,在天氣預報和估算股市方面,這個預測有多難。 另一個非常合理的方法是歷史值的平均值。

如果您對過程有所了解,那么每周平均值可以很好地運行。 您還可以通過測量平均值和標准偏差,然后從統計分布中提取隨機值來獲得更復雜的蒙特卡羅估計。 但是,平均值在您的情況下也可以正常工作。

我建議您在嘗試進行任何“預測”之前先研究一下統計/數據挖掘/預測分析。 至少,如果您在此域中確實遇到問題,那么您應該尋找合適的工具來使用。

正如Gordon Linoff所說,簡單的回答是“不”,但你可以編寫一些代碼來粗略猜測下一次會是什么。

我在我的網站http://livinglion.com/2013/05/next-occurrence-in-datetime-sequence/上寫了一個非常基本的例子。

使用PHP + MySQL可以實現這一點:

  • 您可以擁有一個包含兩個字段的表:DATE字段和TIME字段(基本上分別存儲日期+時間部分)。 假設該表名為“timeData”,字段為:

  • eventDate:date

  • eventTime:時間

您的主鍵是eventDate和eventTime的組合,因此它們永遠不會作為一對重復。

然后,您可以執行以下查詢:

SELECT eventTime, count(*) as counter FROM timeData GROUP BY eventTime ORDER BY counter DESC LIMIT 0, 10

上述查詢將始終返回前10個最頻繁的事件時間,按頻率排序。 然后,您可以從最小到最大再次訂購這些。

這樣,您可以返回非常准確的時間預測結果,這會在您每天收集數據時變得更加准確

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM