Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix calculation of SECS error variance
The secs.fit() function originally had an option called obs_var, which was intended to hold independent/uncorrelated error variances of each input channel as a function of time. For better consistency with Pulkkinen et al. (EPS-2003), and with the USGS Geomag-IMP package, this was modified to be obs_std, or the error standard deviation of each input channel. Practically speaking, this changes little, especially since the default values were all unity, and the square root difference between obs_var and obs_std didn't come into play. But obs_std is arguably more mathematically "correct" for weighted least-squares. The secs.fit() function still generates error variances for each SEC in the form of secs.sec_amps_var, becuase this is what is typically expected when one propogates the observation error through to the predictions. Note, however, that secs.sec_amps_var is not complete. Even though we assume uncorrelated errors in the input observations, the errors associated with the estimated SECs are not, in general, uncorrelated. But if we stored the full error covariance matrix for each time step, which would be required to fully and properly map observation errors (as specified with obs_std) to the actual SECS predictions, memory requirements would increase by a factor equal to the number of SEC basis functions, which could quickly become computationally prohibitive.
- Loading branch information