Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gesd() does not implement the GESD test #34

Open
ksvanhorn opened this issue Jun 25, 2019 · 2 comments
Open

gesd() does not implement the GESD test #34

ksvanhorn opened this issue Jun 25, 2019 · 2 comments

Comments

@ksvanhorn
Copy link

The documentation for anomalize::gesd() states that it implements the GESD method, and references @raunakms's gesd() function. But whereas the GESD method and @raunakms's gesd() function compute the test statistic R_i as

|x_i - mean(x)| / sd(x)

anomalize::gesd() uses

|x_i - median(x)| / mad(x)

Whatever the pros and cons of this modification, the result is NOT the GESD method, and is NOT the same as @raunakms's gesd().

@mdancho84
Copy link
Contributor

If you investigate Twitter's GESD method, the implementation that is used is what anomalize uses. The rationale is that the combination of twitter's trend removal (time_decompose(method = "twitter") and anomalize(method = "gesd") should produce a scalable version of Twitter's AnomalyDetection R package.

@mdancho84
Copy link
Contributor

mdancho84 commented Jun 27, 2019

The Twitter AnomalyDetection algorithm has fairly good documentation here: https://arxiv.org/pdf/1704.07706.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants