Machine Learning to explore fish species interaction in the Northern gulf of St Lawrence
Dr Allan TuckerCentre for Intelligent Data AnalysisBrunel UniversityWest LondonUK
Talk Outline
Introduce myself and research group Introduce Machine Learning Describe Bayesian network models Document some preliminary results on fish population data Conclusions
What is the ? Over 25 members (academics, postdocs, and PhDs) with diverse backgrounds (e.g. maths, statistics, computing, biology, engineering) Over 140 journal publications & a dozen research council grants since 2001 Many collaborating partners in UK, Europe, China and USA Bi Annual Symposia in Europe
Some Previous Work in Machine Learning and Temporal Analysis Oil Refinery Models
Forecasting Explanation
Medical Data: Retinal (Visual Field) Screening Forecasting
Bioinformatics: Gene Clusters Gene Regulatory Networks
What is Machine Learning?
(and why not statistics?) Data oriented Extracting useful info from data As automated as possible Useful when lots of data and little theory Making predictions about the future
What Can we do with ML?
Classification and Clustering Feature Selection Prediction and Forecasting Identifying Structure in Data
E.g. Classification
Given some labelled data (supervised) Build a “model” to allow us to classify other unlabelled data e.g. A doctor diagnosing a patient based upon previous cases
Classification e.g. medical Scatterplot of patients 2 variables:
Measurement of expression of 2 genes
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
-0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1
NM_008695
NM
_013
720
Diseased
Control
Classification How do we classify them?
Nearest Neighbour / Linear / Complex Fn?
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
-0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1
NM_008695
NM
_013
720
Diseased
Control
Classification Trivial case with Cod and Shrimp Data
0
0.5
1
1.5
2
2.5
0 0.2 0.4 0.6 0.8 1 1.2
Shrimp
Co
d Pre 1990
Post 1990
The Data Northern Gulf (region a)
Two ships (Needler and Hammond) combined by normalising according to overlap year
Multivariate Spatial Time Series (short) Missing Data
Background Northern Gulf considered to be one ecosystem / fish community Quite heavily fished until about 1990 Most fish populations collapsed since Some say that moved to an alternative stable state and unlikely to come back to cod dominated community without some chance event beyond human control. Lots of speculation:
cold water large increases in population of predators.
Examine nature and strength of interactions between species in the two periods. Ask “what if ?” questions:
For other parts of community to recover, we would need cod to have X strength of interaction with Y number of other species?
ML for Northern Gulf Data Network building
knowledge and data of interactions Feature Selection for Classification of relevant species to the cod collapse State Space / Dynamic models for predicting populations Hidden variable analysis
Bayesian Networks Method to model a domain using probabilities Easily interpreted by non-statisticians Can be used to combine existing knowledge with data Essentially use independence assumptions to model the joint distribution of a domain
Bayesian Networks Simple 2 variable Joint Distribution
can use it to ask many useful questions but requires kN probabilities
Species2 ¬ Species2
Species1 0.89 0.01
¬ Species1 0.03 0.07
P(Collapse1, Collapse2)
Bayesian Network for Toy Domain
SpeciesC
SpeciesD SpeciesE
P(A) P(B).001 .002
A B P(C)T T .95T F .94F T .29F F .001
C P(E)C P(D)T .70F .01
T .90F .05
SpeciesA SpeciesB
Bayesian Networks Bayesian Network Demo
[Species_Net] Use algorithms to learn structure and parameters from data Or build by hand (priors) Also continuous nodes (density functions)
Informative Priors To build BNs we can also use prior structures and probabilities These are then updated with data Usually uniform (equal probability) Informative Priors used to incorporate existing knowledge into BNs
Bayesian Networks for Classification & Feature Selection
Node that represents the class label attached to the data
Dynamic Bayesian Networks for Forecasting
Nodes represent variables at distinct time slices Links between nodes over time Can be used to forecast into the future[Species_Dynamic_Net]
Hidden Markov Models
Like a DBN but with hidden nodes:
Often used to model sequences
HT-1 HT
OT-1 OT
Typical Algorithms for HMMs Given an observed sequence and a model, how do we compute its probability given the model? Given the observed sequence and the model, how do we choose an optimal hidden state sequence? How do we adjust the model parameters to maximise the probability of the observed sequence given the model?
Summary Different learning tasks can be used to solve real world problems Machine Learning techniques useful when lots of data and lots of gaps in knowledge Bayesian Networks: probabilistic framework that can perform most key ML tasks Also transparent & can incorporate expert knowledge
Expert Knowledge Ask marine biologists to generate matrices of expected relationships Can be used to compare models learnt from data Also to be used as priors to improve model quality
Results: Data networks (BN from correlation)
85% conf. imputed from 70% data
Warning: data quality, spurious relations
Cod
Haddock
Witch Flounder
Shrimp
(Lumpfish)
(Silver Hake) (Atlantic soft pout / Bristlemouths)
(Eel pout / Ocean Sun Fish)
Example DBN Let’s look at an example DBN [NGulfDynamic - range] Structure Encoded by knowledge Updated by data Explore with queries Supported by previous knowledge:
“In the Northern gulf of st. Lawrence, cod (code 438) and redfish (792,793,794,795,796) collapsed to very low levels in the mid 1990s. Subsequently the shrimp (8111) increased greatly in biomass so one will see this signal in the data. It is hypothesised that these are exclusive community states where you never get high abundance of both at the same time owing to predatory interactions.”
Feature Selection Given that we know that from 1990 the cod population collapsed
Can we apply Feature Selection to see what species characterise this collapse
[Learn BN and apply CV]
-47
-45
-43
-41
-39
-37
-35
89
04
47
44
14
49
90
81
35
32
01
28
59
74
52
74
78
46
11
93
73
08
49
18
78
21
78
11
14
44
47
53
81
96
15
07
21
82
13
84
42
44
43
96
64
51
79
24
26
72
67
00
80
99
99
58
93
81
98
11
28
17
88
89
81
45
72
80
88
36
81
38
71
18
21
84
89
47
01
71
68
92
83
58
12
80
57
91
71
78
09
3
Results 7: Feature Selection with Bootstrap
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
44
14
47
89
01
29
04
49
19
33
20
46
14
44
27
72
18
13
51
50
42
69
66
18
75
72
70
07
92
85
94
75
38
05
78
11
24
43
70
17
17
74
58
13
88
19
68
21
72
44
78
72
67
30
80
88
09
89
28
09
38
11
19
14
51
71
17
16
81
28
14
81
98
35
83
68
44
84
98
89
89
34
89
48
17
88
21
38
21
89
99
5
Wrapper method using BNs
Filter method using Log Likelihood
Redfish
Results : Feature Selection Change in Correlation of interactions between cod and high ranking species before and after 1990:
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
whitehake
thornyskate
searaven
haddock whitehake
silverhake
witchflounder
redfish* shrimp*
pre 1990 correlation
post 1990 correlation
Dynamic Models Given that the data is a time-series Can we build dynamic models to forecast future states? Can we use HMM to classify the time-series?
Multivariate Time Series N Gulf is process measured over time Autoregressive Correlation Function (here cod) Cross Correlation Function (here hake to cod)
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
0 2 4 6 8 10 12 14
Time Lag
Co
rrel
atio
n
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
-6 -4 -2 0 2 4 6
Time Lag
Co
rrel
atio
n
ACF
CCF
Results 3: Fitting Dynamic Models
HMM Expert with CCF > 0.3 (maxlag = 5)
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
0 5 10 15 20 25-2
-1
0
1
2
0 5 10 15 20 250.5
1
1.5
2
LSS = 8.3237
Results 3: Fitting Dynamic Models
Learning DBN from CCF data
LSS = 5.0106
0 5 10 15 20 25-2
-1
0
1
2
0 5 10 15 20 250.5
1
1.5
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Fluctuation: Early Indicator of Collapse?
Results 4: Examining DBN Net
Data only Dynamic Links:
Cod
Hakes
Haddock
White Hake
Redfish
Witch Flounder
Shrimp Thorny Skate
Results 5: Fitting Dynamic Models
Learning DBN from Expert biased CCF data CCF > 0.5 (maxlag=5)
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
0 5 10 15 20 25-2
-1
0
1
2
0 5 10 15 20 250.5
1
1.5
2
LSS = 6.1326
Results 6: Examining DBN Net
Data Biased Expert Dynamic Links:
Cod
Witch Flounder
Herring
Mackerel / Capelin
Results 7: Linear Dynamic System
Instead of hidden state, continuous var:
Could be interpreted as measure of fishing? Predator population (e.g. seals)? Water temperature?
0 5 10 15 20 25-2
-1
0
1
2
3
4
5
6
1984
1991
1987
(white fur ban)
1997 (white fur hunt)
Conclusions Hopefully conveyed the broad idea of machine learning Shown how it can be used to help analyse data like fish population data Potentially applicable to other data studied here at MLI
Potential Projects
1. Spatio-Temporal AnalysisUse Spatio-Temporal BNs to model fish
stock data. Nodes would represent species in specific “regions”
2. Combining Expert Knowledge and Data for improved Prediction
3. Looking for Un/Stable States and the factors that influence them
4. Functional Analysis of Data from Multiple Locations