State of nature concept Monte Carlo Simulation II Advanced Herd Management Anders Ringgaard Kristensen The hyper distribution: An infinite population of flocks each having its own state of nature defining average growth, mortality, laying performance etc. Flock 1 Flock 2 Flock 3 Flock 4 Flock 5 We can draw as many random (but realistic!) flocks from the hyper distribution as we wish. Slide 1 Slide 2 Distribution of state of nature: Main problem Example: Mortality in SimFlock It is difficult to specify the distribution of the state of nature. For a systematic description of the approach used in the SimFlock model, reference is made to Kristensen & Pedersen (2003) link at the homepage. Basic principle: Each parameter of the state of nature is specified through a distribution instead of a value. Such a distribution is called a hyper distribution. The parameters of a hyper distribution are called hyper parameters. Estimated from production data from 30 flocks in Zimbabwe. Easy, if parameters are independent Difficult if they interact It is expected that the mortalities of different bird groups in the same flock are correlated. Mortality is represented as survival rates p. We need to model the fact that the survival rate for chicks is correlated to the survival rate for growers etc. If we observe N birds over a given period and count the number n that survive, then n is binomially distributed with parameters p and N. If other factors influence p we can express the effect in a logistic model, which is more or less the standard tool when dealing with binomially distributed data. Slide 3 Slide 4 The Logit-transformation The SimFlock survival rate model Logit Logit(p) Slide 5 4 3 2 1 0-1 -2-3 -4 0 0,2 0,4 0,6 0,8 1 p The Logit-transformation converts a probability p [0;1] to a value y ]- ; [. The transformed variable, y, may be used as response variable in usual regression analysis etc. logit(p ij ) = µ + α j + F i + (αf) ij Where µ is the intercept α 1, α 2, α 3, α 4 are the systematic effects of bird groups (i.e. chicks, growers, pullets and cockerels) F i N(0, σ F ) is the random effect of flock (αf) ij N(0, σ αf ) is the random interaction between flock and bird group. State of nature parameters: p i1, p i2, p i3, p i4, i.e. a survival rate for each bird group. Hyper parameters: µ, α 1, α 2, α 3, α 4, σ F, σ αf estimated from field data from 30 flocks in Zimbabwe. Slide 6 1
Sampling from the hyper distribution Draw a random value F i from N(0, σ F 2 ) Draw 4 random values (αf) i1, (αf) i2, (αf) i3 and 2 (αf) i4 from N(0, σ ) αf Calculate the 4 logit values (j = 1, 2, 3, 4) y ij = logit(p ij ) = µ + α j + F i + (αf) ij Transform to 4 survival rates (j = 1, 2, 3, 4) log(p ij /(1-p ij )) = y ij p ij = 1/(e -y ij + 1) SimFlock: An object oriented model Breeding animals Hens & Cocks Eggs Chicks Growers Infertile Dead Household consumption Slide 7 Slide 8 Pullets Cockerels Market User interface visible objects All birds and eggs present in the flock shown. States of the birds can be investigated Demo SimFlock: Elements where are they? Decision rule Θ State of nature Φ 0 Hyper distribution p(φ 0 = φ 0 ) State variables Φ s1 Φ st Output variables Ω Slide 9 Slide 10 SimFlock: Decision variables SimFlock: State of nature parameters Built-in decisions (farmer icon): Intended flock size: Hens Cocks Egg removing policy Days from start laying Season Policy for buying breeding birds: Hens Cocks Other decisions modeled through expected effects (e.g. on mortality). In SimFlock, a state of nature is described by 42 parameters: Daily gains of birds, general linear model Survival rates, logistic model Full grown weights, normal distribution Age at puberty, normal distribution Egg fertilization probability, beta distribution Egg hatching probability, logistic model Number of eggs before incubation, normal dist. Each time a parameter is defined, a hyper distribution is specified. Slide 11 Slide 12 2
SimFlock: Hyper distribution(s) The hyper distribution of the state of nature is specified through 64 hyper parameters. Most of them estimated from the field data collected in 30 flocks. The hyper distribution represents the whole population of flocks under the conditions in question. A state of nature drawn from the hyper distribution represents one (hypothetical) flock. By drawing e.g. many states of nature we can generate many realistic hypothetical flocks. Decision rules may have different effects in different flocks. SimFlock: State variables The state variables of day i are the states of the individual birds and eggs on that day: Eggs: Fertilized/not fertilized Birds: Age Weight Growth potential Full grown weight Laying capacity Gender Farmer: Needs meat? There are millions of state variables in a simulation run. Slide 13 Slide 14 States of a bird All birds: Unique ID (given at hatching next integer) Age (updated daily) Weight (updated daily) Gender (drawn at random at hatching) Full grown weight (drawn at random at hatching) Growth potential (permanent, drawn at hatching) Cocks: No further states. For chicks and growers furthermore: Growth state (drawn at hatching/transition) States of a pullet In addition to the general states: Pullet: Age at first egg, puberty (drawn at transition) Growth state (drawn at transition) Cockerel: Age at puberty (drawn at transition) Growth state (drawn at transition) Slide 15 Slide 16 States of a hen In addition to the general states: Behavior, not used? (drawn at transition) Laying capacity (drawn at transition) State in cycle (laying, incubating, brooding, barren) updated daily. Days since transition in cycle updated daily Eggs at incubating (drawn at transition in cycle) Eggs in nest updated daily. Fertile eggs in nest updated daily. SimFlock: Output variables A total of 40 are defined: Realised gain Realised mortality Eggs removed Chickens produced Usual technical and economical key figures. Slide 17 Slide 18 3
SimFlock: Simulation The farmer, birds and eggs are represented as objects in the model. Each (simulated) day, the states of all objects are updated: Age Weight Survival Transition (e.g. egg chick, chick grower, etc) Eggs in nest Use of the simulation model System comprehension Answering what if questions General decision support (at population level) The main purpose of SimFlock Decision support at flock level Not yet possible Slide 19 Slide 20 System comprehension Usually carried out under one state of nature Answer questions like: If we assume the state of nature parameters are Φ 0 = φ 0 what are then the consequences? What if we could improve the survival rate of chicks? Vary the survival rate systematically run simulations and explore the results etc. Weakness: State of nature parameters are mutually correlated! General decision support Population level Carried out under multiple states of nature Questions like: Under what circumstances does it pay to change the decision rule from Θ 1 to Θ 2? Generate multiple states of nature (random flocks) Run a simulation job under Θ 1 Run a simulation job under Θ 2 Identify the states of nature where it pays Slide 21 Slide 22 Decision support at flock level A BN for state of nature in a flock Should Jens Hansen change his management from decision rule Θ 1 to Θ 2? Problems: We don t know the state of nature for Jens Hansen s flock. We need to put Jens Hansen s flock into the model: Not so difficult in SimFlock but very difficult in SimHerd or the Dina Pig simulation model Not yet possible in any(?) simulation model. Nevertheless, it has often been done with SimHerd (by ignoring the problems) Solution: Combine the simulation model with a Bayesian network Distinguish between true underlying levels and observed consequences Observe the consequences, enter evidence and propagate to obtain a distribution for the state of nature in this particular flock. If anybody wants to solve this problem within the framework of a Master s thesis it would be very much appreciated! Slide 23 Slide 24 Hyper distribution. Initially set to the distribution in the population State of nature. Observed in Jens Hansen s flock. When observed, we can update the rest! 4
Simulation jobs: Considerations Defining a simulation job in SimFlock Create an initial flock Specify: Number of states of nature (if more than 1) A question of obtaining a representative sample of flocks from the abstract population. Number of replications per state of nature How precise do you want the results for each flock to be? Mean values Distribution Number of days to simulate A long simulation period will increase the precision Burn-in days We want to ignore the effect of the initial flock. Monte Carlo simulation involves huge amounts of numerical calculations. It produces huge amounts of data. Computer capacity may still be a problem Start the simulation at the office Friday afternoon See the results Monday morning Buy the biggest hard disk in the catalogue in order to store the output Slide 25 Slide 26 Analyzing the results A herd simulation model produces output of the same kind as real world herds: Must be analyzed according to the same principles as field data: Calculation of means, standard deviations, percentiles etc. Graphical plots Variance and regression analysis, but Be careful with the usual significance concept Result example 100 states of nature, 50 replications per s.o.n. Chickens produced in 3 years Chickens produced in 3 years 120 100 80 60 40 20 0 Same level different risk 0 20 40 60 80 100 State of nature Slide 27 Slide 28 The significance concept In simulated data, we know that the tested policies (or parameter sets) are different: If we simulated with Enough replications Sufficiently long periods - then all differences are significant. Estimate the size of the difference with any desired precision. Limited resources may persuade us to use significance tests Results in SimFlock Shown in tables Exported to files for analysis with other tools: Excel R SAS The exercises Slide 29 Slide 30 5
When do we use (MC) simulation When other methods fail Evaluation of decision strategies Consequences of deviating production results Consequences of implementing research results in practice. A good answer to the (almost) mandatory question at exam: Could you have used an other method to analyze the problem you have worked with? (Question 2: How would you do it) Search for optimum In general simulation models are used for evaluation of pre-defined strategies. No optimization is carried out the user must come up with the good ideas Methods to perform search for optimum exist refer to the textbook notes. Extremely demanding from a computational point of view. Slide 31 Slide 32 6