gpt4 book ai didi

R:使用 mvBACON 查找异常值

转载 作者:行者123 更新时间:2023-12-04 02:00:54 26 4
gpt4 key购买 nike

我是 R 的新手,正在做一项作业,我应该复制线性回归的结果(具有 1360 个观察值和 52 个变量(回归模型中的 11 个变量)的时间序列数据)。在最初的研究中,研究人员使用 Hadi 方法识别异常值。似乎这在 R 中用 mvBacon 函数做得最好,这是正确的吗?不过,我似乎找不到关于如何使用它的好答案,有人能告诉我如何使用这个函数来找到异常值吗?(我非常感谢尽可能简单地解释的答案,因为 R 对我来说是非常新的)。非常感谢!

最佳答案

是的,mvBACON 用于基于一定距离的离群值识别。默认的是马氏距离。以下代码将引导您通过 mtcars 子数据集上的一个简单示例,了解如何使用 mvBACON 识别异常值:

# load packages
library(dplyr)
library(magrittr)

# Use mtcars (sub)dataset and plot it
data <- mtcars %>% select(mpg, disp)
plot(data, main = "mtcars")

plot1

# Add some outliers and plot again
data <- rbind(data,
data.frame(mpg = c(1, 80), disp = c(800, 1000)))
plot(data, main = "mtcars")

plot2

# Use mvBacon to calculate the distances and get the ouliers
# install.packages("robustX) # uncomment line to install package
library(robustX)

#compute distance - default is Mahalonobis
distances <- mvBACON(data)

# Plot it again...
plot(data, main = "mtcars")

# ...with highlighting the outliers
points(data[!distances$subset, ], col = "red", pch = 19)

plot3

# Some fine tuning, since many of the outliers seem to be still good for regression
distances <- mvBACON(data, alpha = 0.6)

# update plot
plot(data, main = "mtcars")
points(data[!distances$subset, ], col = "red", pch = 19)

plot4

关于R:使用 mvBACON 查找异常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47354768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com