2010-10-17 67 views
0

我有一個數據表,由另一個服務定期更新。我在數據庫中發生這些更新時記錄日誌。我希望能夠以某種方式評價最近更新的數據記錄。生成最近的等級

我不想精確地選擇最近的,我想排序以前的更新以及帳戶。我會試着用一個例子來解釋我的意思。假設我有3個數據項

Item | Updates (Days Ago) 
One | 30, 25, 19, 1 
Two | 5, 3, 2 
Three| 30, 25, 20, 15, 10, 5 

因此,通過上述名單來看,我想有Three首先是因爲它似乎是最一致的,擁有最更新。接下來,我想two,因爲它最近一直活躍。然後終於one,因爲儘管它有最新的更新,它在iterim時間窗口中幾乎沒有更新。

我還沒有概括我的算法究竟是如何工作的,因爲我還不知道,但我希望能解釋我通常希望達到的目標。

我沒有明確尋找一個實現,我期待被指向一個有用的方向。有沒有解決這個問題的具體算法,或類似的問題?

回答

0

您可以創建某種形式的加權等式。假設你希望達到以下標準:

  • 更新數(numUpdates)

  • 1 /日以來的最後一個職位(lastPost)

  • 平均自創立每天更新(avgUpdates)

然後,你可以給每個標準一個特定的權重。 EG,

等級=(重量1 * numUpdates)+(重量2 * lastPost)+(weight3 * avgUpdates)

+0

對於一致性部,可以從整體平均計算每個更新值的標準偏差,然後計算那個的平均值。我想描述的是所謂的平均絕對偏差,請參閱:http://en.wikipedia.org/wiki/Average_absolute_deviation – RibaldEddie 2010-10-17 03:42:12

+0

讓我以正確的方向思考。我可能會用加權移動平均線。 – Mark 2010-10-17 06:22:08