Trang chủ‎ > ‎IT‎ > ‎Data Mining‎ > ‎Time Series Analysis‎ > ‎

Neural Network for Time Series Analysis

What is a Time Series?
A sequence of vectors (or scalars) which depend on time t. In this lecture we will deal exclusively with scalars: { x ( t 0 ), x ( t 1 ), · · · x ( t i − 1 ), x ( t i ), x ( t i+1 ), · · · } 
It’s the output of some process P that we are interested in: P -> x(t)

Examples of Time Series 
• Dow-Jones Industrial Average 
• sunspot activity 
• electricity demand for a city 
• number of births in a community 
• air temperature in a building 
These phenomena may be discrete or continuous.

Discrete Phenomena 
• Dow-Jones Industrial Average closing value each day 
• sunspot activity each day Sometimes data have to be aggregated to get meaningful values. Example: 
• births per minute might not be as useful as births per month

Continuous Phenomena 
t is real-valued, and x ( t) is a continuous signal. 
To get a series { x[t]}, must sample the signal at discrete points. 
In uniform sampling, if our sampling period is ∆ t, then 
    { x[t]} = { x(0), x(∆ t ), x(2∆ t ), x(3∆ t ), · · ·} (1) 
To ensure that x ( t) can be recovered from x[t], ∆ t must be chosen according to the Nyquist sampling theorem.

Nyquist Sampling Theorem 
If fmax is the highest frequency component of x ( t), then we must sample at a rate at least twice as high: 1 / ∆ t = fsampling > 2 fmax (2) 
Why? Otherwise we will see aliasing of frequencies in the range [fsampling / 2, fmax].

Studying Time Series 
In addition to describing either discrete or continuous phenomena, time series can also be deterministic vs stochastic, governed by linear vs nonlinear dynamics, etc. 
Time series are the focus of several overlapping disciplines: 
• Information Theory deals with describing stochastic time series. 
• Dynamical Systems Theory deals with describing and manipulating mostly non-linear deterministic time series. 
• Digital Signal Processing deals with describing and manipulating mostly linear time series, both deterministic and stochastic. 
We will use concepts from all three.

Possible Types of Processing 
• predict future values of x[t] 
• classify a series into one of a few classes 
“price will go up”         
“price will go down”    — sell now 
“no change” 
• describe a series using a few parameter values of some model 
• transform one time series into another 
        oil prices |→ interest rates

The Problem of Predicting the Future
Extending backward from time t, we have time series { x[t], x[t − 1], · · ·}. From this, we now want to estimate x at some future time xˆ[t + s] = f ( x[t], x[t − 1], · · · ) s is called the horizon of prediction. We will come back to this; in the meantime, let’s predict just one time sample into the future, ⇒ s = 1. This is a function approximation problem. Here’s how we’ll solve it: 1. Assume a generative model. 2. For every point x[t i] in the past, train the generative model with what preceded t i as the Inputs and what followed t i as the Desired. 3. Now run the model to predict ˆx[t + s] from { x[t], · · ·}.

Embedding 
Time is constantly moving forward. Temporal data is hard to deal with... If we set up a shift register of delays, we can retain successive values of our time series. Then we can treat each past value as an additional spatial dimension in the input space to our predictor. This implicit transformation of a one-dimensional time vector into an infinite-dimensional spatial vector is called embedding. The input space to our predictor must be finite. At each instant t, truncate the history to only the previous d samples. d is called the embedding dimension.

Linear Systems 
It’s possible that P, the process whose output we are trying to predict, is governed by linear dynamics. The study of linear systems is the domain of Digital Signal Processing (DSP). DSP is concerned with linear, translation-invariant (LTI) operations on data streams. These operations are implemented by filters. The analysis and design of filters effectively forms the core of this field. Filters operate on an input sequence u[t], producing an output sequence x[t]. They are typically described in terms of their frequency response, ie. low-pass, high-pass, band-stop, etc. There are two basic filter architectures, known as the FIR filter and the IIR filter.

Finite Impulse Response (FIR) 
Filters Characterized by q + 1 coefficients: x[t] = Xq i=0 β i u[t − i] (3) FIR filters implement the convolution of the input signal with a given coefficient vector { β i }. They are known as Finite Impulse Response because, when the input u[t] is the impulse function, the output x is only as long as q + 1, which must be finite.

Infinite Impulse Response (IIR) 
Filters Characterized by p coefficients: x[t] = Xp i=1 α i x[t − i] + u[t] (4) In IIR filters, the input u[t] contributes directly to x[t] at time t, but, crucially, x[t] is otherwise a weighed sum of its own past samples. These filters are known as Infinite Impulse Response because, in spite of both the impulse function and the vector { α i } being finite in duration, the response only asympotically decays to zero. Once one of the x[t]’s is non-zero, it will make non-zero contributions to future values of x[t] ad infinitum.

DSP Process Models 
We’re interested in modeling a particular process, for the purpose of predicting future inputs. Digital Signal Processing (DSP) theory offers three classes of possible linear process models: • Autoregressive (AR[ p]) models • Moving Average (MA[ q]) models • Autoregressive Moving Average (ARMA[p, q]) models

Autoregressive (AR [ p ]) Models 
An AR[ p] assumes that at its heart is an IIR filter applied to some (unknown) internal signal, .[t]. p is the order of that filter. x[t] = Xp i=1 α i x[t − i] + .[t] (5) This is simple, but adequately describes many complex phenomena (ie. speech production over short intervals). If on average .[t] is small relative to x[t], then we can estimate x[t] using xˆ[t] ≡ x[t] − .[t] (6) = Xp i=1 w i x[t − i] (7) This is an FIR filter! The w i’s are estimates of the α i’s.

Estimating AR[p] Parameters 
Batch version: x[t] ≈ xˆ[t] (8) = X p i=1 wi x[t − i] (9)   x[p + 1] x[p + 2] ...  =  x[1] x[2] · · · x[p] x[2] x[3] · · · x[p + 1] ... ... ... ...  ·  w1 w2...wp  | {z } w (10) Can use linear regression. Or LMS. Application: speech recognition. Assume that over small windows of time, speech is governed by a static AR[p] model. To learn w is to characterize the vocal tract during that window. This is called Linear Predictive Coding (LPC). 

Estimating AR[p] 
Parameters Incremental version (same equation): x[t] ≈ xˆ[t] = X p i=1 wi x[t − i] For each sample, modify each wi by a small ∆wi to reduce the sample squared error (x[t] − xˆ[t])2. One iteration of LMS. Application: noise cancellation. Predict the next sample ˆx[t] and generate −xˆ[t] at the next time step t. Used in noise cancelling headsets for office, car, aircraft, etc.

Moving Average (MA [ q ]) Models 
A MA[ q] assumes that at its heart is an FIR filter applied to some (unknown) internal signal, .[t]. q + 1 is the order of that filter. x[t] = Xq i=0 β i .[t − i] (11) Sadly, cannot assume that .[t] is negligible; x[t] would have to be negligible. If our goal was to describe a noisy signal x[t] with specific frequency characteristics, we could set .[t] to white noise and the { w i } would just subtract the frequency components that we do not want. Seldom used alone in practice. By using Eq 11 to estimate x[t], we are not making explicit use of past values of x[t]. 

Autoregressive Moving Average (ARMA [p, q ]) Models 
A combination of the AR[ p] and MA[ q] models: x[t] = Xp i=1 α i x[t − i] + Xq i=1 β i .[t − i] + .[t] (12) To estimate future values of x[t], assume that .[t] at time t is small relative to x[t]. We can obtain estimates of past values of .[t] at time t − i from past true values of x[t] and past values of ˆx[t]: ˆ.[t − i] = x[t − i] − xˆ[t − i] (13) The estimate for x[t] is then xˆ[t] = Xp i=1 α i x[t − i] + Xq i=1 β i ˆ.[t − i] (14)

Linear DSP Models as Linear NNs 
DSP Filter DSP Model NN Connections FIR MA[ q] feedforward IIR AR[ p] recurrent An AR[ p] model is equivalent to: . ( t ) x ( t ) x(t − 1) x(t − 2) x(t − p) αp α2 α1 . ( t ) x(t − p) x(t − p + 1) αp−1 αp P x ( t ) Train using backprop as in Eq 11.

Nonlinear AR[p] Models Once we’ve moved to NNs, there’s nothing to stop us from replacing the P’s with a nonlinear activation function like tanh (P). Non-linear models are more powerful, but need more training data, and are less well behaved (overfitting, local minima, etc). TDNNs can be viewed as NAR[p] models. An example of nonlinear ARMA neural net ... (next slide)

Jordan Nets A Jordan net can be viewed as a variant of a NARMA model. hidden out plan state This network has no memory; it “remembers” only the output from the previous timestep.

The Case for Alternative Memory Models Uniform sampling is simple but has limitations. x ( t − 1) x ( t − 2) x ( t − T ) f x ( t + 1) x ( t ) Can only look back T equispaced time steps. To look far into the past, T must be large. Large T −→ complicated model: many parameters, slow to train.

A Change of Notation x¯ i [t] = x[t − i + 1] (15) This is a just a reformulation. ¯x i [t] is a memory term, allowing us to ellide the tapped delay line from our diagrams:

Propose Non-uniform Sampling x¯ i [t] = x[t − d i ] , d i ∈ N (16) d i is an integer delay; for example, for four inputs, d could be { 1, 2, 4, 8 }. This is a generalization. If d were { 1, 2, 3, 4 }, we would be back to uniform sampling.

Convolutional Memory Terms Mozer has suggested treating each memory term as a convolutio n of x[t] with a kernel function: x¯ i [t] = Xt τ=1 c i [t − τ] · x[τ] (17) Delay lines, non-uniformly and uniformly sampled, can be expressed using this notation, with the kernel function defined by: c i [t] = ( 1 if t = d i 0 otherwise (18)

Exponential Trace Memory The idea: remember past values as exponentially decaying weighed average of input: c i [t] = ( 1 − µ i ) · µ t i , µ ∈ ( − 1, +1) (19) µ i is the decay rate (a discount factor), eg. 0.99. Each ¯x i uses a different decay rate. No outputs are forgotten; they just “fade away”.

Exponential Trace Memory, cont’d A nice feature: if all µ i ≡ µ, don’t have to do the convolution at each time step. Compute incrementally: x¯ i [t] = ( 1 − µ ) x[t] + µ x¯ i [t − i] (20) Example: a Jordan net with memory

Special Case: Binary Sequences Let x i [t] ∈ { 0, 1 }, with µ = 0.5. Memory ¯x[t] is a bit string, treated as a floating point fraction. x[t] = { 1 } x¯[t] = .1 { 1, 0 } .0 1 { 1, 0, 0 } .00 1 { 1, 0, 0, 1 } .100 1 { 1, 0, 0, 1, 1 } .1100 1 Earliest bit becomes least significant bit of ¯x[t].

Memory Depth and Resolution Depth is how far back memory goes. Resolution is the degree to which information about individual sequence elements is preserved. At fixed model order, we have a tradeoff. • Tapped delay line: low depth, high resolution. • Exponential trace: high depth, low resolution.

Gamma Memory (deVries & Principe) c i [t] =    . t di . ( 1 − µ i ) di+1 · µ t − di i if t ≥ d i 0 otherwise (21) d i is an integer; µ i ∈ [0, 1]. Eg. for d i = 4 and µ = 0.21: 0 2 4 6 8 10 12 0 0.2 0.4 0.6 0.8 t c i [t] If d i = 0, this is exponential trace memory. As µ i → 0, this becomes the tapped delay line. Can trade depth for resolution by adjusting d i and µ i . Gamma functions form a basis for a family of kernel functions.

Memory Content Don’t have to store the raw x[t]. Can store any transformation we like. For example, can store the internal state of the NN. Example: Elman net hidden out plan context Think of this as a 1-tap delay line storing f(x[t]), the hidden layer.

Horizon of Prediction So far covered many neural net architectures which could be used for predicting the next sample in a time series. What if we nee d a longer forecast, ie. not ˆx[t + 1] but ˆx[t + s], with the horizon of prediction s > 1? Three options: • Train on { x[t], x[t − 1], x[t − 2], · · ·} to predict x[t + s]. • Train to predict all x[t + i], 1 ≥ i ≥ s (good for small s). • Train to predict x[t + 1] only, but iterate to get x[t + s] for any s.

Predicting Sunspot Activity Fessant, Bengio and Collobert. Sunspots affect ionospheric propagation of radio waves. Telecom companies want to predict sunspot activity six months in advance. Sunspots follow an 11 year cycle, varying from 9-14 years. Monthly data goes back to 1849. Authors focus on predicting IR5, a smoothed index of monthly solar activity.

Fessant et al: the IR5 Sunspots Series IR5[ t] = 1 5 ( R[t − 3] + R[t − 2] + R[t − 1] + R[t] + R[t + 1] ) where R[t] is the mean sunspot number for month t and IR5[ t] is the desired index.

Output: { xˆ[t], · · · , xˆ[t + 5] } Input: { x[t − 40], · · · , x[t − 1] }