-
PyKoopman: A Python Package for Data-Driven Approximation of the Koopman Operator
Authors:
Shaowu Pan,
Eurika Kaiser,
Brian M. de Silva,
J. Nathan Kutz,
Steven L. Brunton
Abstract:
PyKoopman is a Python package for the data-driven approximation of the Koopman operator associated with a dynamical system. The Koopman operator is a principled linear embedding of nonlinear dynamics and facilitates the prediction, estimation, and control of strongly nonlinear dynamics using linear systems theory. In particular, PyKoopman provides tools for data-driven system identification for un…
▽ More
PyKoopman is a Python package for the data-driven approximation of the Koopman operator associated with a dynamical system. The Koopman operator is a principled linear embedding of nonlinear dynamics and facilitates the prediction, estimation, and control of strongly nonlinear dynamics using linear systems theory. In particular, PyKoopman provides tools for data-driven system identification for unforced and actuated systems that build on the equation-free dynamic mode decomposition (DMD) and its variants. In this work, we provide a brief description of the mathematical underpinnings of the Koopman operator, an overview and demonstration of the features implemented in PyKoopman (with code examples), practical advice for users, and a list of potential extensions to PyKoopman. Software is available at http://github.com/dynamicslab/pykoopman
△ Less
Submitted 22 June, 2023;
originally announced June 2023.
-
PySINDy: A comprehensive Python package for robust sparse system identification
Authors:
Alan A. Kaptanoglu,
Brian M. de Silva,
Urban Fasel,
Kadierdan Kaheman,
Andy J. Goldschmidt,
Jared L. Callaham,
Charles B. Delahunt,
Zachary G. Nicolaou,
Kathleen Champion,
Jean-Christophe Loiseau,
J. Nathan Kutz,
Steven L. Brunton
Abstract:
Automated data-driven modeling, the process of directly discovering the governing equations of a system from data, is increasingly being used across the scientific community. PySINDy is a Python package that provides tools for applying the sparse identification of nonlinear dynamics (SINDy) approach to data-driven model discovery. In this major update to PySINDy, we implement several advanced feat…
▽ More
Automated data-driven modeling, the process of directly discovering the governing equations of a system from data, is increasingly being used across the scientific community. PySINDy is a Python package that provides tools for applying the sparse identification of nonlinear dynamics (SINDy) approach to data-driven model discovery. In this major update to PySINDy, we implement several advanced features that enable the discovery of more general differential equations from noisy and limited data. The library of candidate terms is extended for the identification of actuated systems, partial differential equations (PDEs), and implicit differential equations. Robust formulations, including the integral form of SINDy and ensembling techniques, are also implemented to improve performance for real-world data. Finally, we provide a range of new optimization algorithms, including several sparse regression techniques and algorithms to enforce and promote inequality constraints and stability. Together, these updates enable entirely new SINDy model discovery capabilities that have not been reported in the literature, such as constrained PDE identification and ensembling with different sparse regression optimizers.
△ Less
Submitted 25 January, 2022; v1 submitted 12 November, 2021;
originally announced November 2021.
-
Deeptime: a Python library for machine learning dynamical models from time series data
Authors:
Moritz Hoffmann,
Martin Scherer,
Tim Hempel,
Andreas Mardt,
Brian de Silva,
Brooke E. Husic,
Stefan Klus,
Hao Wu,
Nathan Kutz,
Steven L. Brunton,
Frank NoƩ
Abstract:
Generation and analysis of time-series data is relevant to many quantitative fields ranging from economics to fluid mechanics. In the physical sciences, structures such as metastable and coherent sets, slow relaxation processes, collective variables dominant transition pathways or manifolds and channels of probability flow can be of great importance for understanding and characterizing the kinetic…
▽ More
Generation and analysis of time-series data is relevant to many quantitative fields ranging from economics to fluid mechanics. In the physical sciences, structures such as metastable and coherent sets, slow relaxation processes, collective variables dominant transition pathways or manifolds and channels of probability flow can be of great importance for understanding and characterizing the kinetic, thermodynamic and mechanistic properties of the system. Deeptime is a general purpose Python library offering various tools to estimate dynamical models based on time-series data including conventional linear learning methods, such as Markov state models (MSMs), Hidden Markov Models and Koopman models, as well as kernel and deep learning approaches such as VAMPnets and deep MSMs. The library is largely compatible with scikit-learn, having a range of Estimator classes for these different models, but in contrast to scikit-learn also provides deep Model classes, e.g. in the case of an MSM, which provide a multitude of analysis methods to compute interesting thermodynamic, kinetic and dynamical quantities, such as free energies, relaxation times and transition paths. The library is designed for ease of use but also easily maintainable and extensible code. In this paper we introduce the main features and structure of the deeptime software.
△ Less
Submitted 11 December, 2021; v1 submitted 28 October, 2021;
originally announced October 2021.
-
PySensors: A Python Package for Sparse Sensor Placement
Authors:
Brian M. de Silva,
Krithika Manohar,
Emily Clark,
Bingni W. Brunton,
Steven L. Brunton,
J. Nathan Kutz
Abstract:
PySensors is a Python package for selecting and placing a sparse set of sensors for classification and reconstruction tasks. Specifically, PySensors implements algorithms for data-driven sparse sensor placement optimization for reconstruction (SSPOR) and sparse sensor placement optimization for classification (SSPOC). In this work we provide a brief description of the mathematical algorithms and t…
▽ More
PySensors is a Python package for selecting and placing a sparse set of sensors for classification and reconstruction tasks. Specifically, PySensors implements algorithms for data-driven sparse sensor placement optimization for reconstruction (SSPOR) and sparse sensor placement optimization for classification (SSPOC). In this work we provide a brief description of the mathematical algorithms and theory for sparse sensor optimization, along with an overview and demonstration of the features implemented in PySensors (with code examples). We also include practical advice for user and a list of potential extensions to PySensors. Software is available at https://github.com/dynamicslab/pysensors.
△ Less
Submitted 20 February, 2021;
originally announced February 2021.
-
Physics-informed machine learning for sensor fault detection with flight test data
Authors:
Brian M. de Silva,
Jared Callaham,
Jonathan Jonker,
Nicholas Goebel,
Jennifer Klemisch,
Darren McDonald,
Nathan Hicks,
J. Nathan Kutz,
Steven L. Brunton,
Aleksandr Y. Aravkin
Abstract:
We develop data-driven algorithms to fully automate sensor fault detection in systems governed by underlying physics. The proposed machine learning method uses a time series of typical behavior to approximate the evolution of measurements of interest by a linear time-invariant system. Given additional data from related sensors, a Kalman observer is used to maintain a separate real-time estimate of…
▽ More
We develop data-driven algorithms to fully automate sensor fault detection in systems governed by underlying physics. The proposed machine learning method uses a time series of typical behavior to approximate the evolution of measurements of interest by a linear time-invariant system. Given additional data from related sensors, a Kalman observer is used to maintain a separate real-time estimate of the measurement of interest. Sustained deviation between the measurements and the estimate is used to detect anomalous behavior. A decision tree, informed by integrating other sensor measurement values, is used to determine the amount of deviation required to identify a sensor fault. We validate the method by applying it to three test systems exhibiting various types of sensor faults: commercial flight test data, an unsteady aerodynamics model with dynamic stall, and a model for longitudinal flight dynamics forced by atmospheric turbulence. In the latter two cases we test fault detection for several prototypical failure modes. The combination of a learned dynamical model with the automated decision tree accurately detects sensor faults in each case.
△ Less
Submitted 23 June, 2020;
originally announced June 2020.
-
PySINDy: A Python package for the Sparse Identification of Nonlinear Dynamics from Data
Authors:
Brian M. de Silva,
Kathleen Champion,
Markus Quade,
Jean-Christophe Loiseau,
J. Nathan Kutz,
Steven L. Brunton
Abstract:
PySINDy is a Python package for the discovery of governing dynamical systems models from data. In particular, PySINDy provides tools for applying the sparse identification of nonlinear dynamics (SINDy) (Brunton et al. 2016) approach to model discovery. In this work we provide a brief description of the mathematical underpinnings of SINDy, an overview and demonstration of the features implemented i…
▽ More
PySINDy is a Python package for the discovery of governing dynamical systems models from data. In particular, PySINDy provides tools for applying the sparse identification of nonlinear dynamics (SINDy) (Brunton et al. 2016) approach to model discovery. In this work we provide a brief description of the mathematical underpinnings of SINDy, an overview and demonstration of the features implemented in PySINDy (with code examples), practical advice for users, and a list of potential extensions to PySINDy. Software is available at https://github.com/dynamicslab/pysindy.
△ Less
Submitted 17 April, 2020;
originally announced April 2020.
-
Discovery of Physics from Data: Universal Laws and Discrepancies
Authors:
Brian M. de Silva,
David M. Higdon,
Steven L. Brunton,
J. Nathan Kutz
Abstract:
Machine learning (ML) and artificial intelligence (AI) algorithms are now being used to automate the discovery of physics principles and governing equations from measurement data alone. However, positing a universal physical law from data is challenging without simultaneously proposing an accompanying discrepancy model to account for the inevitable mismatch between theory and measurements. By revi…
▽ More
Machine learning (ML) and artificial intelligence (AI) algorithms are now being used to automate the discovery of physics principles and governing equations from measurement data alone. However, positing a universal physical law from data is challenging without simultaneously proposing an accompanying discrepancy model to account for the inevitable mismatch between theory and measurements. By revisiting the classic problem of modeling falling objects of different size and mass, we highlight a number of nuanced issues that must be addressed by modern data-driven methods for automated physics discovery. Specifically, we show that measurement noise and complex secondary physical mechanisms, like unsteady fluid drag forces, can obscure the underlying law of gravitation, leading to an erroneous model. We use the sparse identification of nonlinear dynamics (SINDy) method to identify governing equations for real-world measurement data and simulated trajectories. Incorporating into SINDy the assumption that each falling object is governed by a similar physical law is shown to improve the robustness of the learned models, but discrepancies between the predictions and observations persist due to subtleties in drag dynamics. This work highlights the fact that the naive application of ML/AI will generally be insufficient to infer universal physical laws without further modification.
△ Less
Submitted 16 April, 2020; v1 submitted 19 June, 2019;
originally announced June 2019.
-
Prediction of Foreign Box Office Revenues Based on Wikipedia Page Activity
Authors:
Brian de Silva,
Ryan Compton
Abstract:
A number of attempts have been made at estimating the amount of box office revenue a film will generate during its opening weekend. One such attempt makes extensive use of the number of views a film's Wikipedia page has attracted as a predictor of box office success in the United States. In this paper we develop a similar method of approximating box office success. We test our method using 325 fil…
▽ More
A number of attempts have been made at estimating the amount of box office revenue a film will generate during its opening weekend. One such attempt makes extensive use of the number of views a film's Wikipedia page has attracted as a predictor of box office success in the United States. In this paper we develop a similar method of approximating box office success. We test our method using 325 films from the United States and then apply it to films from four foreign markets: Japan (95 films), Australia (118 films), Germany (105 films), and the United Kingdom (141 films). We find the technique to have inconsistent performance in these nations. While it makes relatively accurate predictions for the United States and Australia, its predictions in the remaining markets are not accurate enough to be useful.
△ Less
Submitted 22 May, 2014;
originally announced May 2014.
-
On the roles of graphene oxide do** for enhanced supercurrent in MgB2 based superconductors
Authors:
W. K. Yeoh,
X. Y. Cui,
B. Gault,
K. S. B. De Silva,
X. Xu,
H. W. Liu,
H. W. Yen,
D. Wong,
P. Bao,
D. J. Larson,
I. Martin,
W. X. Li,
R. K. Zheng,
X. L. Wang,
S. X. Dou,
S. P. Ringer
Abstract:
Due to their graphene-like properties after oxygen reduction, incorporation of graphene oxide (GO) sheets into correlated-electron materials offers a new pathway for tailoring their properties. Fabricating GO nanocomposites with polycrystalline MgB2 superconductors leads to an order of magnitude enhancement of the supercurrent at 5 K/8 T and 20 K/4 T. Herein, we introduce a novel experimental appr…
▽ More
Due to their graphene-like properties after oxygen reduction, incorporation of graphene oxide (GO) sheets into correlated-electron materials offers a new pathway for tailoring their properties. Fabricating GO nanocomposites with polycrystalline MgB2 superconductors leads to an order of magnitude enhancement of the supercurrent at 5 K/8 T and 20 K/4 T. Herein, we introduce a novel experimental approach to overcome the formidable challenge of performing quantitative microscopy and microanalysis of such composites, so as to unveil how GO do** influences the structure and hence the material properties. Atom probe microscopy and electron microscopy were used to directly image the GO within the MgB2, and we combined these data with computational simulations to derive the property-enhancing mechanisms. Our results reveal synergetic effects of GO, namely, via localized atomic (carbon and oxygen) do** as well as texturing of the crystals, which provide both inter and intra granular flux pinning. This study opens up new insights into how low-dimensional nanostructures can be integrated into composites to modify the overall properties, using a methodology amenable to a wide range of applications.
△ Less
Submitted 19 May, 2014;
originally announced May 2014.
-
Reaction method control of impurity scattering in C-doped MgB2, proving the role of defects besides C substitution level
Authors:
S K Chen,
K Y Tan,
A S Halim,
X Xu,
K S B De Silva,
W K Yeoh,
S X Dou,
A Kursumovic,
J L MacManus-Driscoll
Abstract:
In this study, Si and C were incorporated into polycrystalline MgB2 via in situ reaction of Mg and B with either SiC or with separate Si and C (Si+C). The electrical transport and magnetic properties of the two series of samples were compared. The corrected resistivity at 40K, Rho A(40K), is higher for the SiC reacted samples regardless of carbon (C) substitution level, indicating larger intragrai…
▽ More
In this study, Si and C were incorporated into polycrystalline MgB2 via in situ reaction of Mg and B with either SiC or with separate Si and C (Si+C). The electrical transport and magnetic properties of the two series of samples were compared. The corrected resistivity at 40K, Rho A(40K), is higher for the SiC reacted samples regardless of carbon (C) substitution level, indicating larger intragrain scattering because of the simultaneous reaction between Mg and SiC and carbon substitution during the formation of MgB2. In addition, because of the cleaner reaction route for the SiC reacted samples, the calculated active area that carries current, AF, is twice that of the (Si+C) samples. On the other hand, the upper critical field, Hc2, was similar for both sets of samples despite their different C substitution levels which proves the importance of defect scattering in addition to C substitution level. Hence, the form of the precursor reactants is critical for tuning the form of Hc2(T).
△ Less
Submitted 30 October, 2013;
originally announced October 2013.