python异常值检测_python – 使用RPCA的异常值
我讀到了使用RPCA查找時(shí)間序列數(shù)據(jù)的異常值.我對(duì)RPCA的基本原理和理論有所了解.我有一個(gè)執(zhí)行RPCA的
Python庫(kù),并且?guī)缀跤袃蓚€(gè)矩陣作為輸出(L和S),輸入數(shù)據(jù)的低秩近似和稀疏矩陣.
輸入數(shù)據(jù):(行為一天,10個(gè)要素為列.)
DAY 1 - 100,300,345,126,289,387,278,433,189,153
DAY 2 - 300,647,245,426,889,987,278,133,295,153
DAY 3 - 200,747,145,226,489,287,378,1033,295,453
獲得的產(chǎn)出:
L
[[ 125.20560531 292.91525518 92.76132814 141.33797061 282.93586313
185.71134917 199.48789246 96.04089205 192.11501055 118.68811072]
[ 174.72737183 408.77013914 129.45061871 197.24046765 394.84366245
259.16456278 278.39005349 134.0273274 268.1010231 165.63205458]
[ 194.38951303 454.76920678 144.01774873 219.43601655 439.27557808
288.32845493 309.71739782 149.10947628 298.27053871 184.27069609]]
S
[[ -25.20560531 0. 252.23867186 -0. 0.
201.28865083 78.51210754 336.95910795 -0. 34.31188928]
[ 125.27262817 238.22986086 115.54938129 228.75953235 494.15633755
727.83543722 -0. -0. 26.8989769 -0. ]
[ 0. 292.23079322 -0. 0. 49.72442192
-0. 68.28260218 883.89052372 0. 268.72930391]]
推論:(我的問(wèn)題)
現(xiàn)在我如何推斷可歸類(lèi)為異常值的點(diǎn).對(duì)于前者通過(guò)查看數(shù)據(jù),我們可以說(shuō)1033看起來(lái)像一個(gè)異常值. S矩陣中的對(duì)應(yīng)條目是883.89052372,其與S中的其他條目相比更多.可以使用具有固定閾值的概念來(lái)找出S矩陣條目與輸入矩陣中的對(duì)應(yīng)原始值的偏差來(lái)確定該點(diǎn).是異常值?還是我完全理解RPCA的概念錯(cuò)了? TIA的幫助.
最佳答案 您正確理解了穩(wěn)健PCA(RPCA)的概念:稀疏矩陣S包含異常值.
但是,S通常會(huì)包含許多觀察結(jié)果(非零值),您可能不會(huì)將其歸類(lèi)為異常.如你所知,過(guò)濾掉這些點(diǎn)是個(gè)好主意.
應(yīng)用固定閾值來(lái)識(shí)別相關(guān)異常值可能適用于一個(gè)數(shù)據(jù)集.但是,如果底層分布的均值和方差發(fā)生變化,則在許多數(shù)據(jù)集上使用閾值可能會(huì)產(chǎn)生較差的結(jié)果.
理想情況下,您計(jì)算異常分?jǐn)?shù),然后根據(jù)該分?jǐn)?shù)對(duì)異常值進(jìn)行分類(lèi).一種簡(jiǎn)單的方法(通常用于異常值檢測(cè))是查看您的數(shù)據(jù)點(diǎn)(潛在異常值)是否位于假定分布的尾部.
例如,如果您假設(shè)您的分布是高斯分布,則可以計(jì)算Z分?jǐn)?shù)(z):
z =(x-μ)/σ,
其中μ是平均值,σ是標(biāo)準(zhǔn)偏差.
然后,您可以將閾值應(yīng)用于計(jì)算的Z分?jǐn)?shù),以便識(shí)別異常值.例如:如果對(duì)于給定的觀察z> 3,數(shù)據(jù)點(diǎn)是異常值.這意味著您的觀察值與平均值相差超過(guò)3個(gè)標(biāo)準(zhǔn)偏差,并且位于高斯分布的0.1%尾部.與使用非標(biāo)準(zhǔn)化值的閾值相比,這種方法對(duì)數(shù)據(jù)的變化更為魯棒.此外,調(diào)整對(duì)異常值進(jìn)行分類(lèi)的z值比為每個(gè)數(shù)據(jù)集查找實(shí)際比例值(在您的情況下為883.89052372)更簡(jiǎn)單.
總結(jié)
以上是生活随笔為你收集整理的python异常值检测_python – 使用RPCA的异常值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 苹果供应商赛尔康拟将印度员工人数增加逾一
- 下一篇: 中兴新机通过工信部无线电核准,预计为 A