Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

func fitting to LOS GNSS and InSAR time-series #4

Closed
yunjunz opened this issue May 15, 2021 · 0 comments
Closed

func fitting to LOS GNSS and InSAR time-series #4

yunjunz opened this issue May 15, 2021 · 0 comments

Comments

@yunjunz
Copy link
Contributor

yunjunz commented May 15, 2021

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]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant