我必須跟蹤,如果給予一個星期充滿數據整數(40,30,25,55,5,40等)發出警告時,偏離規範發生('5'在以上情況)。一個更好的事情將是實際瞭解5星期是否爲正常事件。算法的偏差
你知道在這個問題的紅寶石實現嗎?如果這是一個經典問題,問題/算法的名稱是什麼?
我必須跟蹤,如果給予一個星期充滿數據整數(40,30,25,55,5,40等)發出警告時,偏離規範發生('5'在以上情況)。一個更好的事情將是實際瞭解5星期是否爲正常事件。算法的偏差
你知道在這個問題的紅寶石實現嗎?如果這是一個經典問題,問題/算法的名稱是什麼?
這是一個非常容易計算的東西,但您需要調整一個參數。你想知道任何給定的值是否與均值有X個標準偏差。要計算出該值,請計算標準偏差(請參閱Wikipedia),然後將每個值的偏差abs(mean - value)
與均值相比較。如果一個數值的偏差是說,超過平均值的兩個標準偏差,則將其標記出來。
編輯:
要由平日跟蹤偏差,保持一個整數數組,每天一個。每次遇到偏差時,將當天的計數器加1。例如,您也可以使用雙打,並保持當天的偏差百分比(num_friday_deviations/num_fridays)
。
10如何擴展以瞭解每週的幾天? – 2010-02-22 01:03:20
該算法的名稱可以像「計算標準偏差」一樣簡單。
http://en.wikipedia.org/wiki/Standard_deviation
但是,你做任何分析應具體到數據集。您應該檢查歷史數據以獲得正確的算法。除非您的數據是正態分佈的,否則標準偏差根本不是一個好的衡量標準。您的數據甚至可能只是您想要查找超過某個最大值的數字......這取決於您的數據。
所以,我給你的建議是:
1)谷歌爲統計概覽和基本統計資料讀了。
2)檢查您有任何歷史數據。
3)想出一些奇數的合理度量。
4)根據歷史數據測試您的測量結果,看看它是否突出顯示您認爲應該的數字。
5)根據需要重複步驟2-4以優化您的算法。
#3:(n%2)== 1:P – klochner 2010-02-19 09:18:26
http://en.wikipedia.org/wiki/Control_chart描述了做這類事情的經典方法。正如Jonathan Feinberg評論的那樣,有不同的方法。
這通常被稱爲「異常檢測」,如果你是谷歌的話,那裏有很多工作。紙Mining Deviants in Time Series Data Streams可能會幫助您滿足您的特定需求。
從抽象:
我們本第一個已知的算法用於識別大量數據流的反常。我們的算法使用非常小的空間監測 流(數據中的多對數 大小),並且隨着數據流隨着時間的推移而發生變化,能夠在任何瞬間快速找到差異數, 。
這是一個典型的計算機科學問題的例子,「低於指定的算法」。 – 2010-02-19 03:37:16
@Jonathan:同意,只是因爲他要求的是一個工作實施,而不是一個如何進行的一般想法。 – dsimcha 2010-02-19 03:39:05
你需要更具體一些。這些數字代表着什麼?有一個普遍的傾向嗎?什麼定義了偏差?您的解決方案可以像運行平均值一樣簡單,也可以像使用小波變換一樣複雜。 – rlbond 2010-02-19 03:44:08