nisar-solid/ATBD

func fitting to LOS GNSS and InSAR time-series

Closed this issue · 0 comments

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

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 and m with input dis_ts]
    • covariance matrix of time func parameters via:
      • a) fitting residual assuming normal distribution in time (link) OR
      • b) linear propagation from covariance matrix of time-series (link).

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]