slide 1 the kalman filter - and other methods anders ringgaard kristensen
TRANSCRIPT
![Page 1: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/1.jpg)
Slide 1
The Kalman filter- and other methodsAnders Ringgaard Kristensen
![Page 2: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/2.jpg)
Slide 2
Outline
Filtering techniques applied to monitoring of daily gain in slaughter pigs:• Introduction• Basic monitoring• Shewart control charts• DLM and the Kalman filter
• Simple case• Seasonality
• Online monitoring• Used as input to decision support
![Page 3: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/3.jpg)
Slide 3
”E-kontrol”, slaughter pigs
Quarterly calculated production resultsPresented as a tableA result for each of the most recent quarters and aggregatedSometimes comparison with expected (target) valuesOffered by two companies:
• Dansk Landbrugsrådgivning, Landscentret (as shown)
• AgroSoft A/S
One of the most important key figures: Average daily gain
![Page 4: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/4.jpg)
Slide 4
Average daily gain, slaughter pigs
We have:• 4 quarterly results• 1 annual result• 1 target value
How do we interpret the results?Question 1: How is the figure calculated?
![Page 5: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/5.jpg)
Slide 5
How is the figure calculated?
The basic principles are:• Total (live) weight of pigs delivered: xxxx• Total weight of piglets inserted: −xxxx• Valuation weight at end of the quarter: +xxxx• Valuation weight at beginning of the quarter: −xxxx• Total gain during the quarter yyyy
Daily gain = (Total gain)/(Days in feed)Registration sources?
• * Slaughter house – rather precise• ** Scale – very precise• *** ??? – anything from very precise to very uncertain
*********
![Page 6: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/6.jpg)
Slide 6
First finding: Observation error
All measurements are encumbered with uncertainty (error), but it is most prevalent for the valuation weights.
We define a (very simple) model: = + eo , where:
• is the calculated daily gain (as it appears in the report)• is the true daily gain (which we wish to estimate)
• eo is the observation error which we assume is normally distributed N(0, o2)
The structure of the model (qualitative knowledge) is the equation
The parameters (quantitative knowledge) is the value of o (the standard deviation of the observation error). It depends on the observation method.
![Page 7: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/7.jpg)
Slide 7
Observation error
= + eo , eo » N(0, o2)
What we measure is What we wish to know is The difference between
the two variables is undesired noise
We wish to filter the noise away, i.e. we wish to estimate from
![Page 8: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/8.jpg)
Slide 8
Second finding: Randomness
The true daily gains vary at random.Even if we produce under exactly the same conditions in two
successive quarters the results will differ. We shall denote the phenomenon as the “sample error”.
We have, = + es, where• es is the sample error expressing random variation. We assume es » N(0,
s2)
• is the underlying permanent (and true) value
This supplementary qualitative knowledge should be reflected in the stucture of the model: = + e
o = + e
s + e
o
The parameters of the model are now: s og o
![Page 9: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/9.jpg)
Slide 9
Sample error and measurement error
What we measure is What we wish to know is The difference between the
two variables is undesired noise:
• Sample noise• Observation noise
We wish to filter the noise away, i.e. we wish to estimate from
![Page 10: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/10.jpg)
Slide 10
The model is necessary for any meaningful interpretation of calculated production results.
The standard deviation on the sample error, s , depends on the natural
individual variation between pigs in a herd and the herd size. The standard deviation of the observation error, o , depends on the
measurement method of valuation weights.For the interpretation of the calculated results, it is the total uncertainty, , that
matters (2 = s2 +
2) Competent guesses of the value of using different observation methods (1250
pigs):• Weighing of all pigs: 3 g• Stratified sample: 7 g• Random sample: 20 g• Visual assessment: 29 g
The model in practice: Preconditions
![Page 11: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/11.jpg)
Slide 11
Different observation methods
= 3 g = 7 g = 20 g = 29 g
![Page 12: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/12.jpg)
Slide 12
The model in practice: Interpretation
Calculated daily gain in a herd was 750 g, whereas the expected target value was 775 g.
Shall we be worried?It depends on the observation method! A lower control limit (LCL) is the target minus 2
times the standard deviation, i.e. 775 – 2Using each of the 4 observation methods, we
obtain the following LCLs:• Weighing of all pigs: 775 g – 2 x3 g = 769 • Stratified sample: 775 g – 2 x7 g = 761• Random sample: 775 g – 2 x 20 g = 735 • Visual assessment: 775 g – 2 x 29 g = 717
![Page 13: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/13.jpg)
Slide 13
Third finding: Dynamics, time
Daily gain, slaughter pigs
6006507007508008509009502.
qua
rter
97
3. q
uart
er 9
7
4. q
uart
er 9
7
1. q
uart
er 9
8
2. q
uart
er 9
8
3. q
uart
er 9
8
4. q
uart
er 9
8
1. q
uart
er 9
9
2. q
uart
er 9
9
3. q
uart
er 9
9
4. q
uart
er 9
9
1. q
uart
er 0
0
2. q
uart
er 0
0
3. q
uart
er 0
0
4. q
uart
er 0
0
1. q
uart
er 0
1
2. q
uart
er 0
1
Quarter
g
Daily gain in a herd over 4 years. Is this good or bad?
![Page 14: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/14.jpg)
Slide 14
Modeling dynamics
We extend our model to include time.At time n we model the calculated result as follows:n = sn + eon = + esn + eon
Only change from before is that we know we have a new result each quarter.
We can calculate control limits for each quarter and plot everything in a diagram: A Shewart Control Chart …
1
1
2
2
3
4
4 …
![Page 15: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/15.jpg)
Slide 15
A simple Shewart control chart: Weighing all pigs
Daily gain, slaughter pigs
600650700750800850900950
2. k
vart
al 9
7
3. k
vart
al 9
7
4. k
vart
al 9
7
1. k
vart
al 9
8
2. k
vart
al 9
8
3. k
vart
al 9
8
4. k
vart
al 9
8
1. k
vart
al 9
9
2. k
vart
al 9
9
3. k
vart
al 9
9
4. k
vart
al 9
9
1. k
vart
al 0
0
2. k
vart
al 0
0
3. k
vart
al 0
0
4. k
vart
al 0
0
1. k
vart
al 0
1
2. k
vart
al 0
1
Period
g
Observed gain Expected
Upper control limit Lower control limit
Periode
![Page 16: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/16.jpg)
Slide 16
Daily gain, slaughter pigs
600650700750800850900950
2. k
vart
al 9
7
3. k
vart
al 9
7
4. k
vart
al 9
7
1. k
vart
al 9
8
2. k
vart
al 9
8
3. k
vart
al 9
8
4. k
vart
al 9
8
1. k
vart
al 9
9
2. k
vart
al 9
9
3. k
vart
al 9
9
4. k
vart
al 9
9
1. k
vart
al 0
0
2. k
vart
al 0
0
3. k
vart
al 0
0
4. k
vart
al 0
0
1. k
vart
al 0
1
2. k
vart
al 0
1
Period
g
Observed gain Expected
Upper control limit Lower control limit
Simple Shewart control chart: Visual assessment
Periode
![Page 17: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/17.jpg)
Slide 17
Interpretation: Conclusion
Something is wrong!Possible explanations:
• The pig farmer has serious problems with fluctuating daily gains.• Something is wrong with the model:
• Structure – our qualitative knowledge• Parameters – the quantitative knowledge (standard
deviations).
![Page 18: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/18.jpg)
Slide 18
More findings: n = + esn + eon
The true underlying daily gain in the herd, , may change over time:
• Trend• Seasonal variation
The sample error esn may be auto correlated • Temporary influences
The observation error eon is obviously auto correlated:
• Valuation weight at the end of Quarter n is the same as the valuation weight at the start of Quarter n+1
![Page 19: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/19.jpg)
Slide 19
”Dynamisk e-kontrol”
Developed and described by Madsen & Ruby (2000).Principles:
• Avoid labor intensive valuation weighing.• Calculate new daily gain every time pigs have been sent to
slaughter (typically weekly)• Use a simple Dynamic Linear Model to monitor daily gain
• n = n + esn + eon = n + vn , where vn » N(0, v2)
• n = n-1 + wn, where wn » N(0, w2)
• The calculated results are filtered by the Kalman filter in order to remove random noise (sample error + observation error)
![Page 20: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/20.jpg)
Slide 20
”Dynamisk E-kontrol”, results
Raw data to the left – filtered data to the rightFigures from:
• Madsen & Ruby (2000). An application for early detection of growth rate changes in the slaughter pig production unit. Computers and Electronics in Agriculture 25, 261-270.
Still: Results only available after slaughter
![Page 21: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/21.jpg)
Slide 21
The Dynamic Linear Model (DLM)
ExampleObservation equation
n = n + vn , vn » N(0, v
2)
System equation n = n-1 + wn, wn » N(0, w
2)
General, first orderObservation equation
Yt = t + vt , vn » N(0, v2)
System equation t = t-1 + wn, wn » N(0,w
2)
1
1
1
2
2
2
3
3
3
4
4
4
Y
1
Y
2
Y
3
Y
4
![Page 22: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/22.jpg)
Slide 22
Extending the model Fnn is the true level described as a vector product.A general level, 0n, and 4 seasonal effects 1n, 2n, 3n and 4n are included in the model.From the model we are able to predict the expected daily gain for next quarter. As long as the forecast errors are small, production is in control (no large change in true underlying level)!
![Page 23: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/23.jpg)
Slide 23
Observed and predicted
Daily gain
600650700750800850900950
2. kv
arta
l 97
4. kv
arta
l 97
2. kv
arta
l 98
4. kv
arta
l 98
2. kv
arta
l 99
4. kv
arta
l 99
2. kv
arta
l 00
4. kv
arta
l 00
Quarter
g
Blue: ObservedPink: Predicted
![Page 24: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/24.jpg)
Slide 24
Analysis of prediction errors
Daily gain
-100-80-60-40-20
020406080
100
2. kv
arta
l 97
4. kv
arta
l 97
2. kv
arta
l 98
4. kv
arta
l 98
2. kv
arta
l 99
4. kv
arta
l 99
2. kv
arta
l 00
4. kv
arta
l 00
Quarter
g
![Page 25: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/25.jpg)
Slide 25
The last model
Dynamic Linear ModelStructure of the model (qualitative knowledge):
• Seasonal variation allowed (no assumption about the size). • The general level as well as the seasonal pattern may change over time.
Are those assumptions correct?Parameters of the model:
• The observation and sample variance and the system variance.
The model learns as observations are done, and adapts to the observations over time.
Seasonal varation may be modeled more sophistically as demonstrated by Thomas Nejsum Madsen in FarmWatch™
![Page 26: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/26.jpg)
Slide 26
Moral
If we wish to analyze the daily gain of a herd you need to:• Know exactly how the observations are done (and know
the precision).• Know how it may naturally develop over time.
Without professional knowledge you may conclude anything.Without a model you may interpret the results inadequately.Through the structure of the model we apply our professional
knowledge to the problem.
![Page 27: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/27.jpg)
Slide 27
On-line monitoring of slaughter pigs: PigVision
Innovation project led by Danish Pig Production:• Danish Institute of Agricultural Sciences• Videometer (external assistance)• Skov A/S• LIFE, IPH, Production and Health
Continuous monitoring of daily gain while still in herd:
• Dynamic Linear Models• Chance of interference in the fattening period• Adaptation of delivery policy
![Page 28: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/28.jpg)
Slide 28
PigVision: Principles
A camera is placed above the pen. In case of movements a series of pictures are recorded and sent to a computer.The computer automatically identifies the pig (by use of a model) and calculates the area (seen from above). If the computer doesn’t belief that a pig has been identified, the picture is ignored. The area is converted to live weight (using a model).Through many pictures, the average weight and the standard deviation are estimated.
Figure by Teresia Heiskanen
![Page 29: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/29.jpg)
Slide 29
What is online weight assessment used for?
Continuous monitoring of gain.Collection of evidence about growth capacity
(learning)Adaptation of delivery policies depending on:
• Whether the pigs grow fast or slowly • Whether the uniformity is small or big• Whether a new batch of piglets is ready• Prices
Direct advice about pigs to deliver
![Page 30: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/30.jpg)
Slide 30
The decision support model
Technique:• A hierarchical Markov Decision Process (dynamic programming) with a
Dynamic Linear Model (DLM) embedded.Every week, the average weight and the standard deviation is observedAfter each observation the parameters of the DLM are opdated using Kalman
filtering:• Permanent growth capacity of pigs, L• Temporary deviation, e(t)• Within-pen standard deviation, (t)
Decisions based on (state space):• Number of pigs left• Estimated values of the 3 parameters
Decision: Deliver all pigs with live weight bigger than a threshold
Uncertainty of knowledge is directly built into the model through the DLM
![Page 31: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/31.jpg)
Slide 31
On-line weight assessment
Pen with n pigs is monitored.No identification of pigs.At any time t we have:
The precision 1/2 is assumed known
![Page 32: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/32.jpg)
Slide 32
Objectives
Given the on-line weight estimates to assign an optimal delivery policy for the pigs in the pen.
Sequential (weekly) decision problem with decisions at two levels:• Slaughtering of individual pigs (the price is highest in a
rather narrow interval)• Terminating the batch (slaughter all remaining pigs and
insert a new batch of weaners)
![Page 33: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/33.jpg)
Slide 33
Dynamic linear models
![Page 34: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/34.jpg)
Slide 34
A dynamic linear weight model, I
Known average herd specific growth curve:
True weights at time t distributed as:
![Page 35: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/35.jpg)
Slide 35
The scaling factor L
In principle unknown and not directly observable
Initial belief:The belief is updated each time we
observe a set of live weights from the pen.
Let L » N(1, L2) be the true average
weightThen
![Page 36: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/36.jpg)
Slide 36
Observation & system equation 1
Full observation equation for mean:
Auto-correlated sample error (system eq.):
![Page 37: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/37.jpg)
Slide 37
Observation & system equation 2
Far more information available from the observed live weights
Sample variance not normally distributed.Use the 0.16 sample quantile:
The symbol (t) is the standard deviation of the observed values. System equation:
![Page 38: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/38.jpg)
Slide 38
Full equation set
![Page 39: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/39.jpg)
Slide 39
Learning, permanent growth capacity
L = 1,00
0,85
0,95
1,05
1,15
1 2 3 4 5 6 7 8 9 10 11 12
Sand værdi Lært værdi
L= 0,85
0,85
0,95
1,05
1,15
1 2 3 4 5 6 7 8 9 10 11 12
Sand værdi Lært værdi
L = 1,07
0,85
0,95
1,05
1,15
1 2 3 4 5 6 7 8 9 10 11 12
Sand værdi Lært værdi
L = 1,12
0,85
0,95
1,05
1,15
1 2 3 4 5 6 7 8 9 10 11 12
Sand værdi Lært værdi
![Page 40: Slide 1 The Kalman filter - and other methods Anders Ringgaard Kristensen](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649f0c5503460f94c1f2a7/html5/thumbnails/40.jpg)
Slide 40
Learning: Homogeneity (standard deviation)
Spredning = 3
3
6
9
12
15
18
21
1 2 3 4 5 6 7 8 9 10 11 12
Sand værdi Lært værdi
Spredning = 11
3
6
9
12
15
18
21
1 2 3 4 5 6 7 8 9 10 11 12
Sand værdi Lært værdi