相关疑难解决方法(0)

实时时间序列数据中的峰值信号检测


更新:迄今为止 表现最佳的算法就是这个算法.


该问题探讨了用于检测实时时间序列数据中的突然峰值的稳健算法.

请考虑以下数据集:

p = [1 1 1.1 1 0.9 1 1 1.1 1 0.9 1 1.1 1 1 0.9 1 1 1.1 1 1 1 1 1.1 0.9 1 1.1 1 1 0.9 1, ...
     1.1 1 1 1.1 1 0.8 0.9 1 1.2 0.9 1 1 1.1 1.2 1 1.5 1 3 2 5 3 2 1 1 1 0.9 1 1 3, ... 
     2.6 4 3 3.2 2 1 1 0.8 4 4 …
Run Code Online (Sandbox Code Playgroud)

language-agnostic algorithm signal-processing time-series data-analysis

195
推荐指数
18
解决办法
14万
查看次数

删除时间序列中异常值的有效方法

我正在寻找有效的方法来删除数据中的异常值。我尝试了在 StackOverflow 和其他地方找到的几种解决方案,但没有一个对我有用(应该在样本数据中检测并删除 1993 年 6 月、1994 年 8 月和 1995 年 3 月的 4 个高值 21637、19590、21659 和 200000发布在这篇文章的末尾)。任何建议将不胜感激!

这是我到目前为止测试过的:

数据概览

  1. 如何从数据集中删除异常值

3 个异常值仍然存在,并且时间序列末尾的许多合法高值已被删除。

y <- dat$Value
y_filter <- y[!y %in% boxplot.stats(y)$out]
plot(y_filter)
Run Code Online (Sandbox Code Playgroud)

  1. 计算 R 中的异常值

与第一种方法类似的问题

FindOutliers <- function(data) {
  data <- data[!is.na(data)]
  lowerq = quantile(data)[2]
  upperq = quantile(data)[4]
  iqr = upperq - lowerq #Or use IQR(data)
  # we identify extreme outliers
  extreme.threshold.upper = (iqr * 1.5) + upperq
  extreme.threshold.lower = lowerq - (iqr * 1.5)
  result <- which(data …
Run Code Online (Sandbox Code Playgroud)

r time-series outliers data-science

13
推荐指数
3
解决办法
1622
查看次数

计算R中的异常值

我有一个这样的数据框:

X

Team 01/01/2012  01/02/2012  01/03/2012  01/01/2012 01/04/2012 SD Mean
A     100         50           40        NA         30       60  80
Run Code Online (Sandbox Code Playgroud)

我喜欢对每个单元格进行平均值和sd计算以计算异常值.例如,

abs(x-Mean) > 3*SD
Run Code Online (Sandbox Code Playgroud)

x$count<-c(1) (如果满足上述条件,则增加该值).

我这样做是为了检查我的数据集中的异常.如果我知道列名称,那么计算会更容易,但列数会有所不同.一些细胞可能含有NA.

我喜欢从每个单元格中减去平均值,我尝试了这个

x$diff<-sweep(x, 1, x$Mean, FUN='-')
Run Code Online (Sandbox Code Playgroud)

似乎没有工作,任何想法?

r

9
推荐指数
3
解决办法
5万
查看次数

在R箱图中如何精确去除异常值,以及如何去除相同的异常值以进行进一步计算(例如均值)?

在A中,boxplot我设置了outline=FALSE删除异常值的选项。
现在,我想在方框图中包括points显示均值的位置。显然,使用计算得出的均值mean包括离群值。

如何从数据框中删除完全相同的离群值,以使计算出的均值对应于箱图中所示的数据?

我知道如何删除异常值,但是该outline选项从boxplot内部使用了哪些设置?不幸的是,该手册未作任何说明。

r mean outliers

4
推荐指数
3
解决办法
9508
查看次数

R- 有没有办法通过电梯限制先验规则?

我正在查看这个数据集:https://archive.ics.uci.edu/ml/machine-learning-databases/credit-screening/crx.data

我对数据进行了预处理:

ca.1<-read.csv("CreditApproval.csv",T,",")

# From http://stackoverflow.com/q/4787332/
remove_outliers <- function(x, na.rm = TRUE, ...) {
  qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...)
  H <- 1.5 * IQR(x, na.rm = na.rm)
  y <- x
  y[x < (qnt[1] - H)] <- NA
  y[x > (qnt[2] + H)] <- NA
  y
}

ca.1$A2<-remove_outliers(ca$A2)
ca.1$A3<-remove_outliers(ca$A3)
ca.1$A8<-remove_outliers(ca$A8)
ca.1$A11<-remove_outliers(ca$A11)
ca.1$A14<-remove_outliers(ca$A14)
ca.1$A15<-remove_outliers(ca$A15)
ca.1$A2<-discretize(ca.1$A2,"frequency",categories = 6)
ca.1$A3<-discretize(ca.1$A3,"frequency",categories = 6)
ca.1$A8<-discretize(ca.1$A8,"frequency",categories = 6)
ca.1$A11<-discretize(ca.1$A11,"frequency",categories = 6)
ca.1$A14<-discretize(ca.1$A14,"frequency",categories = 6)
ca.1$A15<-discretize(ca.1$A15,"frequency",categories = 6)

ca.1<-na.omit(ca.1)
Run Code Online (Sandbox Code Playgroud)

微调支持、置信度、最小/最大长度后,我仍然得到 65 条规则:

> …
Run Code Online (Sandbox Code Playgroud)

r apriori

2
推荐指数
1
解决办法
2597
查看次数

识别R中数据集中的异常值

所以,我有一个数据集,知道如何使用summary命令获取五个数字摘要.现在我需要让实例高于Q3 + 1.5IQR或低于Q1 - 1.5IQR,因为这些只是数字 - 我如何从高于数字或低于数字的数据集返回实例?

r outliers

1
推荐指数
1
解决办法
4万
查看次数