A Generalized Variable Projection Algorithm for Least Squares Problems in Atmospheric Remote Sensing (2401.02301v1)
Abstract: This paper presents a solution for efficiently and accurately solving separable least squares problems with multiple datasets. These problems involve determining linear parameters that are specific to each dataset while ensuring that the nonlinear parameters remain consistent across all datasets. A well-established approach for solving such problems is the variable projection algorithm introduced by Golub and LeVeque, which effectively reduces a separable problem to its nonlinear component. However, this algorithm assumes that the datasets have equal sizes and identical auxiliary model parameters. This article is motivated by a real-world remote sensing application where these assumptions do not apply. Consequently, we propose a generalized algorithm that extends the original theory to overcome these limitations. The new algorithm has been implemented and tested using both synthetic and real satellite data for atmospheric carbon dioxide retrievals. It has also been compared to conventional state-of-the-art solvers, and its advantages are thoroughly discussed. The experimental results demonstrate that the proposed algorithm significantly outperforms all other methods in terms of computation time, while maintaining comparable accuracy and stability. Hence, this novel method can have a positive impact on future applications in remote sensing and could be valuable for other scientific fitting problems with similar properties.
- J. Moré. The Levenberg-Marquardt algorithm: Implementation and theory. In Numerical Analysis, pages 105–116. Springer, Berlin, Heidelberg, 1978. doi:10.1007/BFb0067700.
- G. Golub and V. Pereyra. The differentiation of pseudo-inverses and nonlinear least squares problems whose variables separate. SIAM Journal on Numerical Analysis, 10(2):413–432, 1973. doi:10.1137/0710036.
- G. Golub and R. LeVeque. Extensions and uses of the variable projection algorithm for solving nonlinear least squares problems. In Proceedings of the 1979 Army Numerical Analysis and Computers Conference, Stanford, CA, 1979.
- Methane retrieval from airborne HySpex observations in the short-wave infrared. Atmospheric Measurement Techniques Discussions, pages 1–37, 2022. doi:10.5194/amt-2022-271.
- G. Golub and V. Pereyra. Separable nonlinear least squares: the variable projection method and its applications. Inverse Problems, 19(2):R1–R26, 2003. doi:10.1088/0266-5611/19/2/201.
- D. O’Leary and B. Rust. Variable projection for nonlinear least squares problems. Computational Optimization and Applications, 54(3):579–593, 2013. doi:10.1007/s10589-012-9492-9.
- A. Ruhe and P. Wedin. Algorithms for separable nonlinear least squares problems. SIAM Review, 22(3):318–337, 1980. doi:10.1137/1022057.
- L. Kaufman. A variable projection method for solving separable nonlinear least squares problems. BIT Numerical Mathematics, 15(1):49–57, 1975. doi:10.1007/BF01932995.
- L. Kaufman and G. Sylvester. Separable nonlinear least squares with multiple right-hand sides. SIAM Journal on Matrix Analysis and Applications, 13(1):68–89, 1992. doi:10.1137/0613008.
- L. Kaufman. Solving separable nonlinear least squares problems with multiple datasets. In V. Pereyra and Godela Scherer, editors, Exponential data fitting and its applications, pages 94–109. Bentham eBooks, 2010. doi:10.2174/978160805048211001010094.
- K. Mullen and I. van Stokkum. TIMP: An R package for modeling multi-way spectroscopic measurements. Journal of Statistical Software, 18(3):1–46, 2007. doi:10.18637/jss.v018.i03.
- R. LeVeque. SUBROUTINE VARP2, 1985. URL http://www.netlib.org/opt/varp2.
- J. Bolstad. SUBROUTINE VARPRO, 1977. URL http://www.netlib.org/opt/varpro.
- The PORT Mathematical Subroutine Library. ACM Transactions on Mathematical Software, 4(2):104–126, 1978. doi:10.1145/355780.355783.
- SciPy v1.8.0 Manual. scipy.optimize.least_squares, 06.02.2022. URL https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.least_squares.html.
- SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods, 17:261–272, 2020. doi:10.1038/s41592-019-0686-2.
- A subspace, interior, and conjugate gradient method for large-scale bound-constrained minimization problems. SIAM Journal on Scientific Computing, 21(1):1–23, 1999. doi:10.1137/S1064827595289108.
- A. Bärligea. Assessment of a variable projection algorithm for trace gas retrieval in the short-wave infrared. Bachelor’s thesis, Technical University of Munich, 2022.
- The Orbiting Carbon Observatory (OCO) mission. Advances in Space Research, 34(4):700–709, 2004. doi:10.1016/j.asr.2003.08.062.
- The Orbiting Carbon Observatory-2: first 18 months of science data products. Atmospheric Measurement Techniques, 10(2):549–563, 2017. doi:10.5194/amt-10-549-2017.
- Jet Propulsion Laboratory, California Institute of Technology. Orbiting Carbon Observatory-2, 2023. URL https://ocov2.jpl.nasa.gov/.
- Near infrared nadir retrieval of vertical column densities: methodology and application to SCIAMACHY. Atmospheric Measurement Techniques, 4(12):2633–2657, 2011. doi:10.5194/amt-4-2633-2011.
- Algorithm 573: NL2SOL-an adaptive nonlinear least-squares algorithm. ACM Transactions on Mathematical Software (TOMS), 7(3):369–383, 1981. doi:10.1145/355958.355965.
- Validation of Carbon Monoxide Total Column Retrievals from SCIAMACHY Observations with NDACC/TCCON Ground-Based Measurements. Remote Sensing, 10(2), 2018. doi:10.3390/rs10020223.
- Level 1B Algorithm Theoretical Basis: Orbiting Carbon Observatory – 2 & 3 (OCO-2 & OCO-3), 2021.
- M. Gunson and A. Eldering. OCO-2 Level 2 geolocated XCO2 retrieval results and algorithm diagnostic information, Retrospective Processing V10r, 2019a.
- Level 2 Full Physics Retrieval Algorithm Theoretical Basis: Orbiting Carbon Observatory – 2 & 3 (OCO-2 & OCO-3), 2020.
- Py4CAtS—PYthon for Computational ATmospheric Spectroscopy. Atmosphere, 10(5):262, 2019. doi:10.3390/atmos10050262.
- M. Gunson and A. Eldering. OCO-2 Level 1B calibrated, geolocated science spectra, Retrospective Processing V10r, 2019b.