Facebook时序工具库 Kats 中文教程(个人首发)

Facebook时序工具库 Kats 中文教程(个人首发)

Facebook时序工具库 Kats 中文教程

1. Kats是什么?2. 我将如何使用Kats2.1 在Python中安装Kats2.2 实例2.2.1 预测2.2.2 推理预测2.3 TSFeatures

3. 中文教程4. 更新进度

1. Kats是什么?

Kats是Facebook在June 18th刚刚发布的一个专门为了时间序列服务的工具库。它作为一个Toolkit包,提供了四种简易且轻量化的API。

预测(封装了10+models,主要是传统的时间序列模型,这些模型有支持ensemble的API,结合时间序列特征的功能甚至可以做meta-learning)检测(官方叫做detection,大致是对时间序列做类似于异常检测,change point detection之类的检测)时间序列特征(API十分简单,可以得到65个时间序列相关的features)模拟(simulator,可以按照某些时序特征比如seasonality去创造时间序列来方便实验)

项目路径:https://github.com/facebookresearch/Kats

2. 我将如何使用Kats

2.1 在Python中安装Kats

Kats 已经上架 PyPI, 你可以使用 pip 进行安装操作.

pip install --upgrade pip

pip install kats

如果你只需要Kats中的小部分功能,你可以安装mini版本的Kats通过:

MINIMAL=1 pip install kats

这将省略许多依赖组建(也就是test_requirements.txt中的所有)

然而它也将失去许多功能,并且在import kats的时候会引发warnings. 可以通过setup.py 查看更多详细说明及操作.

2.2 实例

这里我们将提供少数的实例来说明Kats能够提供的部分功能.

2.2.1 预测

使用Prophet模型来预测air_passengers数据集.

import pandas as pd

from kats.consts import TimeSeriesData

from kats.models.prophet import ProphetModel, ProphetParams

# take `air_passengers` data as an example

air_passengers_df = pd.read_csv(

"../kats/data/air_passengers.csv",

header=0,

names=["time", "passengers"],

)

# convert to TimeSeriesData object

air_passengers_ts = TimeSeriesData(air_passengers_df)

# create a model param instance

params = ProphetParams(seasonality_mode='multiplicative') # additive mode gives worse results

# create a prophet model instance

m = ProphetModel(air_passengers_ts, params)

# fit model simply by calling m.fit()

m.fit()

# make prediction for next 30 month

fcst = m.predict(steps=30, freq="MS")

2.2.2 推理预测

使用 CUSUM检测算法模拟数据集.

# import packages

import numpy as np

from kats.consts import TimeSeriesData

from kats.detectors.cusum_detection import CUSUMDetector

# simulate time series with increase

np.random.seed(10)

df_increase = pd.DataFrame(

{

'time': pd.date_range('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()

2.3 TSFeatures

通过给予的时间序列数据,提取有价值的特征

# Initiate feature extraction class

from kats.tsfeatures.tsfeatures import TsFeatures

# take `air_passengers` data as an example

air_passengers_df = pd.read_csv(

"../kats/data/air_passengers.csv",

header=0,

names=["time", "passengers"],

)

# convert to TimeSeriesData object

air_passengers_ts = TimeSeriesData(air_passengers_df)

# calculate the TsFeatures

features = TsFeatures().transform(air_passengers_ts)

3. 中文教程

项目路径:https://github.com/Fate-Tesstarosa/Kats_CN 跟官方教程文档保持一致,使用的是ipynb格式

4. 更新进度

因为是笔者一个人在做这个工作,随着Kats的功能更新,在后续的更新中难免会出现版本跟不上的问题,笔者这边会尽全力跟上官方的速度,也欢迎各位读者对翻译中出现的问题进行指正(手动respect)。

Version 0.1.0

Initial release

相关推荐

成都数字天空科技有限公司厂商手游下载
bt365手机官方网址

成都数字天空科技有限公司厂商手游下载

📅 07-24 👁️ 9779
小赢理财:“隐形土豪”的很多亮点和一点疑点_布谷新金融
365体育亚洲官方入口app下载

小赢理财:“隐形土豪”的很多亮点和一点疑点_布谷新金融

📅 09-28 👁️ 639
火影忍者香磷怎么死的?
bt365手机官方网址

火影忍者香磷怎么死的?

📅 08-02 👁️ 9419
阿房宫赋
bt365手机官方网址

阿房宫赋

📅 07-26 👁️ 4111
迷失裡面的怪物是什麼?
365bet.com官网

迷失裡面的怪物是什麼?

📅 07-09 👁️ 6984
蜡笔小新:我的搬家物语 仙人掌大袭击
bt365手机官方网址

蜡笔小新:我的搬家物语 仙人掌大袭击

📅 08-07 👁️ 7429