Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, California Computational Discovery of Explanatory Process Models Thanks to N. Asgharbeygi, K. Arrigo, S. Bay, S. Dzeroski, A. Pohorille, J. Sanchez, K. Saito, Oren Shiran, J. Shrager, and L. Todorovski for their contributions to this research, which is funded by a grant from the National Science Foundation.
Adbuctive Model Construction build upon known laws and theoretical principles; build upon known laws and theoretical principles; adapt this knowledge to a particular scientific setting; adapt this knowledge to a particular scientific setting; augment the knowledge with auxiliary assumptions; augment the knowledge with auxiliary assumptions; use the resulting model to explain observed phenomena. use the resulting model to explain observed phenomena. Most mature sciences focus their efforts not on discovering laws or forming theories, but on constructing models that: This task involves abduction of explanatory models from domain knowledge, though it may also have inductive aspects. In this talk, I examine the construction of explanatory models for dynamical systems that change over time.
Time Series from the Ross Sea Ecosystem
Inductive Process Modeling Our approach is to design and implement computational methods for inductive process modeling, which: represent scientific models as sets of quantitative processes; represent scientific models as sets of quantitative processes; use these models to predict and explain observational data; use these models to predict and explain observational data; search a space of process models to find good candidates; search a space of process models to find good candidates; utilize background knowledge to constrain this search. utilize background knowledge to constrain this search. This framework has great potential both for modeling scientific reasoning and aiding practicing scientists.
A Process Model for an Aquatic Ecosystem model AquaticEcosystem variables: phyto, zoo, nitro, residue observables: phyto, nitro process phyto_loss equations:d[phyto,t,1] = phyto equations:d[phyto,t,1] = phyto d[residue,t,1] = phyto process zoo_loss equations:d[zoo,t,1] = zoo equations:d[zoo,t,1] = zoo d[residue,t,1] = process zoo_phyto_grazing equations:d[zoo,t,1] = zoo equations:d[zoo,t,1] = zoo d[residue,t,1] = zoo d[phyto,t,1] = zoo process nitro_uptake conditions:nitro > 0 conditions:nitro > 0 equations:d[phyto,t,1] = phyto equations:d[phyto,t,1] = phyto d[nitro,t,1] = phyto process nitro_remineralization; equations:d[nitro,t,1] = residue equations:d[nitro,t,1] = residue d[residue,t,1 ] = residue
Advantages of Quantitative Process Models they embed quantitative relations within qualitative structure; they embed quantitative relations within qualitative structure; that refer to notations and mechanisms familiar to experts; that refer to notations and mechanisms familiar to experts; they provide dynamical predictions of changes over time; they provide dynamical predictions of changes over time; they offer causal and explanatory accounts of phenomena; they offer causal and explanatory accounts of phenomena; while retaining the modularity needed for induction/abduction. while retaining the modularity needed for induction/abduction. Process models offer scientists a promising framework because: Quantitative process models provide an important alternative to formalisms typically used in scientific modeling.
Generic Processes as Background Knowledge the variables involved in a process and their types; the variables involved in a process and their types; the parameters appearing in a process and their ranges; the parameters appearing in a process and their ranges; the forms of conditions on the process; and the forms of conditions on the process; and the forms of associated equations and their parameters. the forms of associated equations and their parameters. We cast background knowledge as generic processes that specify: Generic processes are building blocks from which one can compose a specific process model.
Generic Processes for Aquatic Ecosystems generic process exponential_lossgeneric process remineralization variables: S{species}, D{detritus} variables: N{nutrient}, D{detritus} variables: S{species}, D{detritus} variables: N{nutrient}, D{detritus} parameters: [0, 1] parameters: [0, 1] parameters: [0, 1] parameters: [0, 1] equations:d[S,t,1] = 1 S equations:d[N, t,1] = D equations:d[S,t,1] = 1 S equations:d[N, t,1] = D d[D,t,1] = Sd[D, t,1] = 1 D generic process grazinggeneric process constant_inflow variables: S1{species}, S2{species}, D{detritus} variables: N{nutrient} variables: S1{species}, S2{species}, D{detritus} variables: N{nutrient} parameters: [0, 1], [0, 1] parameters: [0, 1] parameters: [0, 1], [0, 1] parameters: [0, 1] equations:d[S1,t,1] = S1 equations:d[N,t,1] = equations:d[S1,t,1] = S1 equations:d[N,t,1] = d[D,t,1] = (1 ) S1 d[S2,t,1] = 1 S1 generic process nutrient_uptake variables: S{species}, N{nutrient} variables: S{species}, N{nutrient} parameters: [0, ], [0, 1], [0, 1] parameters: [0, ], [0, 1], [0, 1] conditions:N > conditions:N > equations:d[S,t,1] = S equations:d[S,t,1] = S d[N,t,1] = 1 S
process exponential_growth variables: P {population} variables: P {population} equations: d[P,t] = [0, 1, ] P equations: d[P,t] = [0, 1, ] P process logistic_growth variables: P {population} variables: P {population} equations: d[P,t] = [0, 1, ] P (1 P / [0, 1, ]) equations: d[P,t] = [0, 1, ] P (1 P / [0, 1, ]) process constant_inflow variables: I {inorganic_nutrient} variables: I {inorganic_nutrient} equations: d[I,t] = [0, 1, ] equations: d[I,t] = [0, 1, ] process consumption variables: P1 {population}, P2 {population}, nutrient_P2 variables: P1 {population}, P2 {population}, nutrient_P2 equations: d[P1,t] = [0, 1, ] P1 nutrient_P2, equations: d[P1,t] = [0, 1, ] P1 nutrient_P2, d[P2,t] = [0, 1, ] P1 nutrient_P2 d[P2,t] = [0, 1, ] P1 nutrient_P2 process no_saturation variables: P {number}, nutrient_P {number} variables: P {number}, nutrient_P {number} equations: nutrient_P = P equations: nutrient_P = P process saturation variables: P {number}, nutrient_P {number} variables: P {number}, nutrient_P {number} equations: nutrient_P = P / (P + [0, 1, ]) equations: nutrient_P = P / (P + [0, 1, ]) Constructing Process Models model AquaticEcosystem variables: nitro, phyto, zoo, nutrient_nitro, nutrient_phyto observables: nitro, phyto, zoo process phyto_exponential_growth equations: d[phyto,t] = 0.1 phyto equations: d[phyto,t] = 0.1 phyto process zoo_logistic_growth equations: d[zoo,t] = 0.1 zoo / (1 zoo / 1.5) equations: d[zoo,t] = 0.1 zoo / (1 zoo / 1.5) process phyto_nitro_consumption equations: d[nitro,t] = 1 phyto nutrient_nitro, equations: d[nitro,t] = 1 phyto nutrient_nitro, d[phyto,t] = 1 phyto nutrient_nitro d[phyto,t] = 1 phyto nutrient_nitro process phyto_nitro_no_saturation equations: nutrient_nitro = nitro equations: nutrient_nitro = nitro process zoo_phyto_consumption equations: d[phyto,t] = 1 zoo nutrient_phyto, equations: d[phyto,t] = 1 zoo nutrient_phyto, d[zoo,t] = 1 zoo nutrient_phyto d[zoo,t] = 1 zoo nutrient_phyto process zoo_phyto_saturation equations: nutrient_phyto = phyto / (phyto + 0.5) equations: nutrient_phyto = phyto / (phyto + 0.5) InductionAbduction training data generic processes process model
A Method for Process Model Construction 1. Find all ways to instantiate known generic processes with specific variables, subject to type constraints; 2. Combine instantiated processes into candidate generic models subject to additional constraints (e.g., number of processes); 3. For each generic model, carry out search through parameter space to find good coefficients; 4. Return the parameterized model with the best overall score. The IPM algorithm constructs explanatory models from generic elements components in four stages: Our typical evaluation metric is squared error, but we have also explored other measures of explanatory adequacy.
Estimating Parameters in Process Models 1. Selects random initial values that fall within ranges specified in the generic processes; 2. Improves these parameters using the Levenberg-Marquardt method until it reaches a local optimum; 3. Generates new candidate values through random jumps along dimensions of the parameter vector and continue search; 4. If no improvement occurs after N jumps, it restarts the search from a new random initial point. To estimate the parameters for each generic model structure, the IPM algorithm: This multi-level method gives reasonable fits to time-series data from a number of domains, but it is computationally intensive.
Uses of Inductive Process Modeling population dynamics aquatic ecosystems hydrology biochemical kinetics
computational scientific discovery (e.g., Todorovski, 2003); computational scientific discovery (e.g., Todorovski, 2003); methods for causal model abduction (e.g., Zupan et al., 2001); methods for causal model abduction (e.g., Zupan et al., 2001); qualitative physics and simulation (e.g., Forbus, 1984); qualitative physics and simulation (e.g., Forbus, 1984); languages for scientific simulation (e.g., STELLA, MATLAB ). languages for scientific simulation (e.g., STELLA, MATLAB ). Intellectual Influences Our approach to explanatory model construction draws on ideas from many traditions: Our work combines these ideas in novel ways to support abduction of models that explain the behavior of dynamical systems.
Some Recent Extensions heuristic beam search through the space of process models; heuristic beam search through the space of process models; hierarchical generic processes that further constrain search; hierarchical generic processes that further constrain search; an ensemble-like method that mitigates overfitting effects; an ensemble-like method that mitigates overfitting effects; metrics for explanatory adequacy based on trajectory shapes. metrics for explanatory adequacy based on trajectory shapes. In recent work, we have extended our approach to incorporate: We have also embedded our algorithms in an interactive software environment for model construction and revision.
End of Presentation
Backup Slides
Generating Predictions and Explanations To utilize or evaluate a given process model, we must simulate its behavior over time: specify initial values for input variables and time step size; specify initial values for input variables and time step size; on each time step, determine which processes are active; on each time step, determine which processes are active; solve active algebraic/differential equations with known values; solve active algebraic/differential equations with known values; propagate values and recursively solve other active equations; propagate values and recursively solve other active equations; when multiple processes influence the same variable, assume their effects are additive. when multiple processes influence the same variable, assume their effects are additive. This performance method makes specific predictions that we can compare to observations.
Results on the Ross Sea Ecosystem
Results on Protist Predator-Prey System
Results on the Rinkobing Fjord
Results on Biochemical Kinetics observed trajectories predicted trajectories