Course Project: Implement the Linear Dynamical Systems
About the Linear Dynamical Systems
The Linear Dynamical Systems (LDS, also known as the Kalman Filters [1]), has an identical factor graph to the Hidden Markov Models (HMM):
Figure 1: From [2], Chapter 13.2, Hidden Markov Models.
Here, {xi} are called observations, and {zi} are latent variables (or hidden state variables). In LDS, the transition probability p(zn|zn−1), and the emission probability p(xn|zn), are linear-Gaussian conditional distributions:
The initial hidden state follows
Datasets
p(zn|zn−1) = N (zn|Azn−1, Γ), p(xn|zn) = N (xn|Czn, Σ).
p(z1) = N (z1|μ0, V0).
You can use Python package “yfinance” (Yahoo! Finance market data downloader) to get the datasets. For example, by
import yfinance as yf
data = yf.download(’AAPL’,’2019−01−01’,’2020−01−01’) data . Close . plot ()
plt .show()
You can visualize this sequence in Figure 2. The length of this example is 253. You can use the first 100 observations to estimate the parameters, and then compare the prediction with the rest observations.
1
300 280 260 240 220 200 180 160 140
Date
Your task
Figure 2: Example: AAPL, from 2019-01-01 to 2020-01-01, closing price.
Implement the inference in LDS, and learning the parameters in LDS in PRML [2] Chapter 13.3.1-13.3.2.
Requirement
• You need to submit a report, in which you should show your implementation of inference and learning in LDS, and your understanding.
• Your report should be in the pdf or html format, which is automatically generated by Jupyter notebook.
Contact TA
WANG Gefei, email: gwangas@connect.ust.hk
References
[1] Kalman R E. A new approach to linear filtering and prediction problems[J]. 1960. [2] Bishop C M. Pattern recognition and machine learning[M]. springer, 2006.
2
2019-01
2019-03
2019-05
2019-07
2019-09
2019-11