theft-kats
Holds easy to install version of Kats for theft
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.4%) to scientific vocabulary
Repository
Holds easy to install version of Kats for theft
Basic Info
- Host: GitHub
- Owner: hendersontrent
- License: mit
- Language: Python
- Default Branch: main
- Size: 2.95 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Description
Kats is a toolkit to analyze time series data, a lightweight, easy-to-use, and generalizable framework to perform time series analysis. Time series analysis is an essential component of Data Science and Engineering work at industry, from understanding the key statistics and characteristics, detecting regressions and anomalies, to forecasting future trends. Kats aims to provide the one-stop shop for time series analysis, including detection, forecasting, feature extraction/embedding, multivariate analysis, etc.
Kats is released by Facebook's Infrastructure Data Science team. It is available for download on PyPI.
Important links
- Homepage: https://facebookresearch.github.io/Kats/
- Kats Python package: https://pypi.org/project/kats/
- Facebook Engineering Blog Post: https://engineering.fb.com/2021/06/21/open-source/kats/
- Source code repository: https://github.com/facebookresearch/kats
- Contributing: https://github.com/facebookresearch/Kats/blob/master/CONTRIBUTING.md
- Tutorials: https://github.com/facebookresearch/Kats/tree/master/tutorials
Installation in Python
Kats is on PyPI, so you can use pip to install it.
bash
pip install --upgrade pip
pip install kats
If you need only a small subset of Kats, you can install a minimal version of Kats with
bash
MINIMAL_KATS=1 pip install kats
which omits many dependencies (everything in test_requirements.txt).
However, this will disable many functionalities and cause import kats to log
warnings. See setup.py for full details and options.
Examples
Here are a few sample snippets from a subset of Kats offerings:
Forecasting
Using Prophet model to forecast the air_passengers data set.
```python import pandas as pd
from kats.consts import TimeSeriesData from kats.models.prophet import ProphetModel, ProphetParams
take air_passengers data as an example
airpassengersdf = pd.readcsv( "../kats/data/airpassengers.csv", header=0, names=["time", "passengers"], )
convert to TimeSeriesData object
airpassengersts = TimeSeriesData(airpassengersdf)
create a model param instance
params = ProphetParams(seasonality_mode='multiplicative') # additive mode gives worse results
create a prophet model instance
m = ProphetModel(airpassengersts, params)
fit model simply by calling m.fit()
m.fit()
make prediction for next 30 month
fcst = m.predict(steps=30, freq="MS") ```
Detection
Using CUSUM detection algorithm on simulated data set.
```python
import packages
import numpy as np import pandas as pd
from kats.consts import TimeSeriesData from kats.detectors.cusum_detection import CUSUMDetector
simulate time series with increase
np.random.seed(10) dfincrease = pd.DataFrame( { 'time': pd.daterange('2019-01-01', '2019-03-01'), 'increase':np.concatenate([np.random.normal(1,0.2,30), np.random.normal(2,0.2,30)]), } )
convert to TimeSeriesData object
timeseries = TimeSeriesData(df_increase)
run detector and find change points
change_points = CUSUMDetector(timeseries).detector() ```
TSFeatures
We can extract meaningful features from the given time series data
```python
Initiate feature extraction class
import pandas as pd from kats.consts import TimeSeriesData from kats.tsfeatures.tsfeatures import TsFeatures
take air_passengers data as an example
airpassengersdf = pd.readcsv( "../kats/data/airpassengers.csv", header=0, names=["time", "passengers"], )
convert to TimeSeriesData object
airpassengersts = TimeSeriesData(airpassengersdf)
calculate the TsFeatures
features = TsFeatures().transform(airpassengersts) ```
Citing Kats
If you use Kats in your work or research, please use the following BibTeX entry.
@software{Jiang_KATS_2022,
author = {Jiang, Xiaodong and Srivastava, Sudeep and Chatterjee, Sourav and Yu, Yang and Handler, Jeffrey and Zhang, Peiyi and Bopardikar, Rohan and Li, Dawei and Lin, Yanjun and Thakore, Uttam and Brundage, Michael and Holt, Ginger and Komurlu, Caner and Nagalla, Rakshita and Wang, Zhichao and Sun, Hechao and Gao, Peng and Cheung, Wei and Gao, Jun and Wang, Qi and Guerard, Marius and Kazemi, Morteza and Chen, Yulin and Zhou, Chong and Lee, Sean and Laptev, Nikolay and Levendovszky, Tihamér and Taylor, Jake and Qian, Huijun and Zhang, Jian and Shoydokova, Aida and Singh, Trisha and Zhu, Chengjun and Baz, Zeynep and Bergmeir, Christoph and Yu, Di and Koylan, Ahmet and Jiang, Kun and Temiyasathit, Ploy and Yurtbay, Emre},
license = {MIT License},
month = {3},
title = {{Kats}},
url = {https://github.com/facebookresearch/Kats},
version = {0.2.0},
year = {2022}
}
Changelog
Version 0.2.0
- Forecasting
- Added global model, a neural network forecasting model
- Added global model tutorial
- Consolidated backtesting APIs and some minor bug fixes
- Detection
- Added model optimizer for anomaly/ changepoint detection
- Added evaluators for anomaly/changepoint detection
- Improved simulators, to build synthetic data and inject anomalies
- Added new detectors: ProphetTrendDetector, Dynamic Time Warping based detectors
- Support for meta-learning, to recommend anomaly detection algorithms and parameters for your dataset
- Standardized API for some of our legacy detectors: OutlierDetector, MKDetector
- Support for Seasonality Removal in StatSigDetector
- TsFeatures
- Added time-based features
- Others
- Bug fixes, code coverage improvement, etc.
Version 0.1.0
- Initial release
Contributors
Kats is currentely maintaned by community with the main contributions and leading from Nickolai Kniazev and Peter Shaffery
Kats is a project with several skillful researchers and engineers contributing to it. Kats was started and built by Xiaodong Jiang with major contributions coming from many talented individuals in various forms and means. A non-exhaustive but growing list needs to mention: Sudeep Srivastava, Sourav Chatterjee, Jeff Handler, Rohan Bopardikar, Dawei Li, Yanjun Lin, Yang Yu, Michael Brundage, Caner Komurlu, Rakshita Nagalla, Zhichao Wang, Hechao Sun, Peng Gao, Wei Cheung, Jun Gao, Qi Wang, Morteza Kazemi, Tihamér Levendovszky, Jian Zhang, Ahmet Koylan, Kun Jiang, Aida Shoydokova, Ploy Temiyasathit, Sean Lee, Nikolay Pavlovich Laptev, Peiyi Zhang, Emre Yurtbay, Daniel Dequech, Rui Yan, William Luo, Marius Guerard, Pietari Pulkkinen, Uttam Thakore, Trisha Singh, Huijun Qian, Chengjun Zhu, Di Yu, Zeynep Erkin Baz, and Christoph Bergmeir.
License
Kats is licensed under the MIT license.
Owner
- Name: Trent Henderson
- Login: hendersontrent
- Kind: user
- Location: Canberra, Australia
- Company: Nous Group
- Website: https://www.orbisantanalytics.com/
- Twitter: trentlikesstats
- Repositories: 29
- Profile: https://github.com/hendersontrent
Senior data scientist and statistics PhD student. Mostly coding in R, Julia, and Stan. Interested in genetic programming, time series, and data vis
Citation (CITATION.cff)
cff-version: 0.1.0
title: Kats
message: >-
If you use this library, please cite using the
following metadata.
type: software
authors:
- given-names: Xiaodong
email: iamxiaodong@meta.com
family-names: Jiang
affiliation: Meta
- given-names: Sudeep
email: sudeeps@meta.com
family-names: Srivastava
affiliation: Meta
- given-names: Sourav
email: souravc83@meta.com
family-names: Chatterjee
affiliation: Meta
- given-names: Yang
email: yangbk@meta.com
family-names: Yu
affiliation: Meta
- given-names: Jeffrey
email: jeffhandl@meta.com
family-names: Handler
affiliation: Meta
- given-names: Peiyi
email: peiyizhang@meta.com
family-names: Zhang
affiliation: Meta
- given-names: Rohan
# email:
family-names: Bopardikar
affiliation: Meta
- given-names: Dawei
# email:
family-names: Li
affiliation: Apple
- given-names: Yanjun
# email:
family-names: Lin
affiliation: Meta
- given-names: Uttam
email: uthakore@meta.com
family-names: Thakore
affiliation: Meta
- given-names: Michael
# email:
family-names: Brundage
affiliation: Meta
- given-names: Ginger
# email:
family-names: Holt
affiliation: Databricks
- given-names: Caner
# email:
family-names: Komurlu
affiliation: Somatus
- given-names: Rakshita
# email:
family-names: Nagalla
affiliation: LinkedIn
- given-names: Zhichao
# email:
family-names: Wang
affiliation: Doordash
- given-names: Hechao
# email:
family-names: Sun
affiliation: Instacart
- given-names: Peng
# email:
family-names: Gao
affiliation: Meta
- given-names: Wei
# email:
family-names: Cheung
affiliation: Meta
- given-names: Jun
# email:
family-names: Gao
affiliation: Meta
- given-names: Qi
# email:
family-names: Wang
affiliation: Meta
- given-names: Marius
# email:
family-names: Guerard
affiliation: Google
- given-names: Morteza
email:
family-names: Kazemi
# affiliation:
- given-names: Yulin
# email:
family-names: Chen
affiliation: Meta
- given-names: Chong
# email:
family-names: Zhou
affiliation: Meta
- given-names: Sean
email: seunghak@meta.com
family-names: Lee
affiliation: Meta
- given-names: Nikolay
# email:
family-names: Laptev
affiliation: Meta
- given-names: Tihamér
# email:
family-names: Levendovszky
affiliation: Meta
- given-names: Jake
# email:
family-names: Taylor
affiliation: Meta
- given-names: Huijun
# email:
family-names: Qian
affiliation: Meta
- given-names: Jian
# email:
family-names: Zhang
affiliation: Meta
- given-names: Aida
# email:
family-names: Shoydokova
affiliation: Meta
- given-names: Trisha
# email:
family-names: Singh
affiliation: Meta
- given-names: Chengjun
# email:
family-names: Zhu
affiliation: Meta
- given-names: Zeynep
# email:
family-names: Baz
affiliation: Meta
- given-names: Christoph
# email:
family-names: Bergmeir
affiliation: Monash University
- given-names: Di
# email:
family-names: Yu
affiliation: Meta
- given-names: Ahmet
# email:
family-names: Koylan
# affiliation:
- given-names: Kun
# email:
family-names: Jiang
affiliation: Meta
- given-names: Ploy
# email:
family-names: Temiyasathit
affiliation: Graphcore
- given-names: Emre
# email:
family-names: Yurtbay
affiliation: Meta
repository-code: 'https://github.com/facebookresearch/Kats'
abstract: >-
Kats is a toolkit to analyze time series data, a lightweight, easy-to-use,
and generalizable framework to perform time series analysis. Time series
analysis is an essential component of Data Science and Engineering work
at industry, from understanding the key statistics and characteristics,
detecting regressions and anomalies, to forecasting future trends.
Kats aims to provide the one-stop shop for time series analysis,
including detection, forecasting, feature extraction/embedding,
multivariate analysis, etc.
keywords:
- 'Kats, time series, forecasting, detection, embedding'
license: MIT License
license-url: https://github.com/facebookresearch/Kats/blob/main/LICENSE
version: '0.2.0'
date-released: '2022-03-15'
identifiers:
- type: url
value: "https://github.com/facebookresearch/Kats/releases/tag/v0.2.0"
description: The GitHub release URL of tag 0.2.0
GitHub Events
Total
- Watch event: 1
- Push event: 8
- Pull request event: 2
- Fork event: 1
- Create event: 3
Last Year
- Watch event: 1
- Push event: 8
- Pull request event: 2
- Fork event: 1
- Create event: 3
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: less than a minute
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: less than a minute
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- hendersontrent (2)