The Kalman filter - and other methods Anders Ringgaard Kristensen Slide 1 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 Slide 2 1
E-kontrol, slaughter pigs Quarterly calculated production results Presented as a table A result for each of the most recent quarters and aggregated Sometimes comparison with expected (target) values Offered by two companies: Dansk Landbrugsrådgivning, Landscentret (as shown) AgroSoft A/S One of the most important key figures: Average daily gain Slide 3 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? Slide 4 2
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 * ** *** *** Slide 5 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: κ = τ + e o, where: κ is the calculated daily gain (as it appears in the report) τ is the true daily gain (which we wish to estimate) e o is the observation error which we assume is normally distributed N(0, σo 2) 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. Slide 6 3
Observation error τ κ κ = τ + e o, e o N(0, σ o 2 ) 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 κ Slide 7 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, τ = θ + e s, where e s is the sample error expressing random variation. We assume e s N(0, σ s 2) θ is the underlying permanent (and true) value This supplementary qualitative knowledge should be reflected in the stucture of the model: κ = τ + e = θ + e + e o s o The parameters of the model are now: σ og σ o s Slide 8 4
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 κ Slide 9 The model in practice: Preconditions 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 = σ s 2 + σ ο 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 Slide 10 5
Different observation methods θ τ κ κ κ κ σ = 3 g σ = 7 g σ = 20 g σ = 29 g Slide 11 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 2σ Using each of the 4 observation methods, we obtain the following LCLs: Weighing of all pigs: 775 g 2 x 3 g = 769 Stratified sample: 775 g 2 x 7 g = 761 Random sample: 775 g 2 x 20 g = 735 Visual assessment: 775 g 2 x 29 g = 717 Slide 12 6
Third finding: Dynamics, time Daily gain, slaughter pigs g 950 900 850 800 750 700 650 600 2. quarter 97 3. quarter 97 4. quarter 97 1. quarter 98 2. quarter 98 3. quarter 98 4. quarter 98 1. quarter 99 2. quarter 99 3. quarter 99 4. quarter 99 1. quarter 00 2. quarter 00 3. quarter 00 4. quarter 00 1. quarter 01 2. quarter 01 Quarter Daily gain in a herd over 4 years. Is this good or bad? Slide 13 Modeling dynamics We extend our model to include time. At time n we model the calculated result as follows: κ n = τ sn + e on = θ + e sn + e on 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 τ 2 τ 3 τ 4 κ 1 κ 2 κ 3 κ 4 Slide 14 7
A simple Shewart control chart: Weighing all pigs Daily gain, slaughter pigs g 950 900 850 800 750 700 650 600 2. kvartal 97 3. kvartal 97 4. kvartal 97 1. kvartal 98 2. kvartal 98 3. kvartal 98 4. kvartal 98 1. kvartal 99 2. kvartal 99 3. kvartal 99 4. kvartal 99 1. kvartal 00 2. kvartal 00 3. kvartal 00 4. kvartal 00 1. kvartal 01 2. kvartal 01 Period Periode Observed gain Upper control limit Expected Lower control limit Slide 15 Simple Shewart control chart: Visual assessment Daily gain, slaughter pigs g 950 900 850 800 750 700 650 600 2. kvartal 97 3. kvartal 97 4. kvartal 97 1. kvartal 98 2. kvartal 98 3. kvartal 98 4. kvartal 98 1. kvartal 99 2. kvartal 99 3. kvartal 99 4. kvartal 99 1. kvartal 00 2. kvartal 00 3. kvartal 00 4. kvartal 00 1. kvartal 01 2. kvartal 01 Period Periode Observed gain Upper control limit Expected Lower control limit Slide 16 8
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). Slide 17 More findings: κ n = θ + e sn + e on The true underlying daily gain in the herd, θ, may change over time: Trend Seasonal variation The sample error e sn may be auto correlated Temporary influences The observation error e on 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 Slide 18 9
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 + e sn + e on = θ n + v n, where v n N(0, σ v2 ) θ n = θ n-1 + w n, where w n N(0, σ w2 ) The calculated results are filtered by the Kalman filter in order to remove random noise (sample error + observation error) Slide 19 Dynamisk E-kontrol, results Raw data to the left filtered data to the right Figures 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 Slide 20 10
The Dynamic Linear Model (DLM) Example Observation equation κ n = θ n + v n, v n N(0, σ v2 ) System equation θ n = θ n-1 + w n, w n N(0, σ w2 ) General, first order Observation equation Y t = µ t + v t, v n N(0, σ v2 ) System equation µ t = µ t-1 + w n, w n N(0,σ w2 ) θ 1 θ 2 θ 3 θ 4 µ 1 µ 2 µ 3 µ 4 τ 1 τ 2 τ 3 τ 4 Y 1 Y 2 Y 3 Y 4 κ 1 κ 2 κ 3 κ 4 Slide 21 Extending the model F n θ n 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)! Slide 22 11
Observed and predicted Daily gain g 950 900 850 800 750 700 650 600 Blue: Observed Pink: Predicted 2. kvartal 97 4. kvartal 97 2. kvartal 98 4. kvartal 98 2. kvartal 99 4. kvartal 99 2. kvartal 00 4. kvartal 00 Quarter Slide 23 Analysis of prediction errors Daily gain g 100 80 60 40 20 0-20 -40-60 -80-100 2. kvartal 97 4. kvartal 97 2. kvartal 98 4. kvartal 98 2. kvartal 99 4. kvartal 99 2. kvartal 00 4. kvartal 00 Quarter Slide 24 12
The last model Dynamic Linear Model Structure 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 Farm Watch Slide 25 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. Slide 26 13
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 Slide 27 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 Slide 28 14
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 Slide 29 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 observed After 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 Slide 30 15
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 Slide 31 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) Slide 32 16
Dynamic linear models Slide 33 A dynamic linear weight model, I Known average herd specific growth curve: True weights at time t distributed as: Slide 34 17
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, σ L 2 ) be the true average weight Then Slide 35 Observation & system equation 1 Full observation equation for mean: Auto-correlated sample error (system eq.): Slide 36 18
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: Slide 37 Full equation set Slide 38 19
Learning, permanent growth capacity L = 1,00 1,15 L= 0,85 1,15 1,05 1,05 0,95 1 2 3 4 5 6 7 8 9 10 11 12 0,95 1 2 3 4 5 6 7 8 9 10 11 12 0,85 0,85 Sand værdi Lært værdi Sand værdi Lært værdi L = 1,07 L = 1,12 1,15 1,15 1,05 1,05 0,95 1 2 3 4 5 6 7 8 9 10 11 12 0,95 1 2 3 4 5 6 7 8 9 10 11 12 0,85 0,85 Sand værdi Lært værdi Sand værdi Lært værdi Slide 39 Learning: Homogeneity (standard deviation) Spredning = 3 Spredning = 11 21 18 15 12 9 6 3 1 2 3 4 5 6 7 8 9 10 11 12 21 18 15 12 9 6 3 1 2 3 4 5 6 7 8 9 10 11 12 Sand værdi Lært værdi Sand værdi Lært værdi Slide 40 20