func fitting to LOS GNSS and InSAR time-series
Closed this issue · 0 comments
yunjunz commented
Function(s) related to the time function(s) estimation of the LOS GNSS and InSAR time-series, in the post-processing. This includes the following functions:
- translate the model (time func) setup to design matrices
- estimate the time function parameters given the time-series data, optimization param and model setup
1 - get_design_matrix4time_func()
Translate the input time function setup into the design matrix.
Inputs
- date_list - list of str or datetime objects
- polynomial - int, polynomial order, e.g. 1 (linear), 2 (quadratic), 3 (cubic), etc.
- periodic - list of float, period(s) in years, e.g. 1.0 (annual), 0.5 (semi-annual), etc.
- step - list of str or datetime objects, dates of the step functions
- exp - dict with key for onset time in YYYYMMDD and values for char times in days
- log - dict with key for onset time in YYYYMMDD and values for char times in days
Outputs
- design_matrix - 2D np.ndarray in size of (num_date, num_param)
Status
- mintpy.utils.time_func.get_design_matrix4time_func() supports polynomial, periodic, step
- the same function above now supports multiple exp / log functions [update at Jun 15, 2021]
2 - estimate_time_func()
For a 1D displacement time-series, estimate the time function parameters given the time-series data, time func setup and optimization setup.
Inputs
- date_list - list of str or datetime object, list of time info
- dis_ts - 2D np.ndarray in float32, displacement in meters in size of (num_date, num_site) where num_site can be 1 for one GNSS or one InSAR pixel.
- time_func - dict of time function setup.
- solver - str, optimization / solver names, e.g. l1norm, l2norm, etc.
Outputs
- G - 2D np.ndarray, design matrix in size of (num_date, num_param)
- m - 2D np.ndarray, estimated parameters in size of (num_param, num_site)
- kwargs, e.g.:
- e2 - sum of residual square (estimation quality parameters)
- residual time-series [can be calculated from
G
andm
with inputdis_ts
] - covariance matrix of time func parameters via:
Status
- mintpy.utils.time_func.estimate_time_func() supports l2norm.
mintpy/timeseries2velocity.py --ts-std-file
now supports linear propagation of covariance (STD) from time-series to time func parameters [update at Jun 22,2021]