# TFTS

Tensorflow Time Series（TFTS）模块是TF1.3版本中引入的，官方是这么介绍的:

TensorFlow Time Series (TFTS) is a collection of ready-to-use classic models (state space, autoregressive), and flexible infrastructure for building high-performance time series models with custom architectures.

# Examples

## 读入数据

```x = np.array(range(1000))
noise = np.random.uniform(-0.2, 0.2, 1000)
y = np.sin(np.pi * x / 100) + x / 200. + noise

data = {
tf.contrib.timeseries.TrainEvalFeatures.TIMES: x,
tf.contrib.timeseries.TrainEvalFeatures.VALUES: y,
}

data是一个dict，’TIMES’和’VALUES’就是字符串的’times’和’values’，所以理论上你写成: `data = {'times':x, 'values':y}`，也是可以的.

```csv_file_name = './data/period_trend.csv'

# 获得batch数据

```with tf.Session() as sess:
coord = tf.train.Coordinator()
print(sess.run(data))
coord.request_stop()```

`train_input_fn = tf.contrib.timeseries.RandomWindowInputFn(reader, batch_size=4, window_size=16)`

## AR Model

AR(Auto Regression)是统计学上的方法，可以参考wiki: https://en.wikipedia.org/wiki/Autoregressive_model，主要的思想是假设当前值与前面出现的值是线性关系. `autoregressive model specifies that the output variable depends linearly on its own previous values and on a stochastic term (an imperfectly predictable term).`

```ar = tf.contrib.timeseries.ARRegressor(
periodicities=200, input_window_size=30, output_window_size=10,
num_features=1,
loss=tf.contrib.timeseries.ARModel.NORMAL_LIKELIHOOD_LOSS)```

```ar.train(input_fn=train_input_fn, steps=1000)

# keys of evaluation: ['covariance', 'loss', 'mean', 'observed', 'start_tuple', 'times', 'global_step']
evaluation = ar.evaluate(input_fn=evaluation_input_fn, steps=1)

(predictions,) = tuple(ar.predict(
input_fn=tf.contrib.timeseries.predict_continuation_input_fn(
evaluation, steps=250)))  #预测之后的250步```

## LSTM

```estimator = ts_estimators.TimeSeriesRegressor(
model=_LSTMModel(num_features=1, num_units=128),

`_LSTMModel`是一个class，可以直接copy官方给的代码.

89 篇文章41 人订阅

0 条评论

## 相关文章

### Caffe源码解析(一) —— caffe.proto

caffe.proto是caffe数据结构定义的主要文件，本文主要是在caffe.proto代码的基础上加上了部分中文注释，其中的内容与caffe的protot...

4495

2388

### 从暴力递归到动态规划

动态规划没有那么难，但是很多老师在讲课的过程中讲的并不好，由此写下一篇文章记录学习过程

751

### 卡特兰数

简介：卡特兰数又称卡塔兰数，英文名Catalan number，是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔...

1340

2048

3266

33711

### H.264技术及原理

H.264组成 1、网络提取层 (Network Abstraction Layer，NAL) 2、视讯编码层 (Video Coding Layer，VCL)...

1889

4937