我正在对时间序列数据执行机器学习回归任务。我有一个数据框架,里面充满了各种资产和经济数据的收盘价。我希望在整个数据帧上执行异常值检测。以下是我的问题:
以下是我的dataframe (Df)的一个小节:
audjpy audnzd audusd usdcad cadchf cadjpy
2008-01-01 98.050003 1.140000 0.877116 0.99320 1.13960 112.599998
2008-01-02 96.559998 1.139500 0.884017 0.99440 1.12560 109.820000
2008-01-03 96.550003 1.140900 0.881601 0.98880 1.12370 110.693001
2008-01-04 95.168999 1.138300 0.876578 0.99880 1.10470 108.459999
2008-01-07 95.220001 1.134500 0.871916 1.00550 1.11130 108.559998
... ... ... ... ... ... ....发布于 2021-07-30 21:22:24
在我看来,我会单独处理每一个信号。该方法还取决于信号和异常/异常值的定义(例如,意外的长峰值?)。但是我可以指出一些你可以尝试的方法,如果它们对你的信号有效的话:
\mu是信号的平均值,\sigma的标准差和n将被检查(您可以尝试绘制点直方图并仔细检查分布)。[q_1 - n*IQR, q_3 + n * IQR]之外的点,其中q_1和q_3分别表示残差信号的第一和第三位数,n通常使用2或3.当然,当您检测到异常值时,您可以用NaN替换值并在以后进行插值。那应该很好..。
最后,还有许多其他的方法,并且已经做了很多工作,我希望我的回答能帮助你,甚至激励其他的方法。
https://datascience.stackexchange.com/questions/99523
复制相似问题