  Data-driven identification of differential equations is an interesting but
challenging problem, especially when the given data are corrupted by noise.
When the governing differential equation is a linear combination of various
differential terms, the identification problem can be formulated as solving a
linear system, with the feature matrix consisting of linear and nonlinear terms
multiplied by a coefficient vector. This product is equal to the time
derivative term, and thus generates dynamical behaviors. The goal is to
identify the correct terms that form the equation to capture the dynamics of
the given data. We propose a general and robust framework to recover
differential equations using a weak formulation, for both ordinary and partial
differential equations (ODEs and PDEs). The weak formulation facilitates an
efficient and robust way to handle noise. For a robust recovery against noise
and the choice of hyper-parameters, we introduce two new mechanisms, narrow-fit
and trimming, for the coefficient support and value recovery, respectively. For
each sparsity level, Subspace Pursuit is utilized to find an initial set of
support from the large dictionary. Then, we focus on highly dynamic regions
(rows of the feature matrix), and error normalize the feature matrix in the
narrow-fit step. The support is further updated via trimming of the terms that
contribute the least. Finally, the support set of features with the smallest
Cross-Validation error is chosen as the result. A comprehensive set of
numerical experiments are presented for both systems of ODEs and PDEs with
various noise levels. The proposed method gives a robust recovery of the
coefficients, and a significant denoising effect which can handle up to $100\%$
noise-to-signal ratio for some equations. We compare the proposed method with
several state-of-the-art algorithms for the recovery of differential equations.
