| GNSSseg {GNSSseg} | R Documentation |
Homogeneization of GNSS series
Description
fit a segmentation in the mean model by taken into account for a functional part and a heterogeneous variance (default is monthly)
Usage
GNSSseg(
Data,
lyear = 365.25,
lmin = 1,
Kmax = 30,
selection.K = "BM_BJ",
S = 0.75,
f = TRUE,
selection.f = FALSE,
threshold = 0.001,
tol = 1e-04
)
Arguments
Data |
a data frame, with size [n x 2], containing the signal (e.g. the daily GPS-ERAI series for GNSS) and the dates (in format yyyy-mm-dd of type "calendar time" (class POSIXct)) |
lyear |
the length of the year in the signal. Default is 365.25 |
lmin |
the minimum length of the segments. Default is 1 |
Kmax |
the maximal number of segments (must be lower than n). Default is 30 |
selection.K |
a name indicating the model selection criterion to select the number of segments K ( |
S |
the threshold used in the Lav's criterion. Default is 0.75 |
f |
a boolean indicating if the functional part is taking into account in the model. Default is TRUE and note that if |
selection.f |
a boolean indicating if a selection on the functions of the Fourier decomposition of order 4 is performed. Default is FALSE |
threshold |
a numeric value lower than 1 used for the selection of the functions of the Fourier decomposition of order 4. Default is 0.001 |
tol |
the stopping rule for the iterative procedure. Default is 1e-4 |
Details
The function performs homogeneization of GNSS series. The considered model is such that: (1) the average is composed of a piecewise function (changes in the mean) with a functional part and (2) the variance is heterogeneous on fixed intervals. By default the latter intervals are the months.
The inference procedure consists in two steps. First, the number of segments is fixed to Kmax and the parameters are estimated using the maximum likelihood procedure using the following procedure: first the variances are robustly estimated and then the segmentation and the functional parts are iteratively estimated. Then the number of segments is chosen using model selection criteria. The possible criteria are mBIC the modified BIC criterion, Lav the criterion proposed by Lavielle, BM_BJ and BM_slope the criteriain which the penalty constant is calibrated using the Biggest Jump and the slope.
The data is a data frame with 2 columns: $signal is the signal to be homogeneized (a daily series) and $date is the date. The date will be in format yyyy-mm-dd of type "calendar time" (class POSIXct).
The function part is estimated using a Fourier decomposition of order 4 with
selection.f=FALSE.selection.f=TRUEconsists in selecting the significative functions of the Fourier decomposition of order 4 (for which p.values are lower thanthreshold)If
selection.K="none", the procedure is performed withKmaxsegments.Missing data in the signal are accepted.
Value
A file containing
-
Kthat corresponds to the selected number of segments orK-1 corresponds to the number of changes. Ifselection.K="none", the number of segments isKmax. -
segthat corresponds to the estimation of the segmentation parameters (the begin and the end positions of each segment with the estimated mean). -
functthat corresponds to the estimation of the functional part. Iff==FALSE,functis FALSE -
coeffthat corresponds to the estimation of the coefficients of the Fourier decomposition. The vector contains 8 coefficients ifselection.f=FALSEor as many coefficients as the number of selected functions ifselection.f=TRUE. Iff==FALSE,coeffis FALSE -
variancesthat corresponds to the estimated variances of each fixed interval -
SSRthat corresponds to the Residuals Sum of Squares for k=1,...,Kmax. Ifselection.K="none", it contains only the SSR forKmaxsegments -
Totis a list. Each component contains all the results k segments (k=1,...,Kmax). Ifselection.K="none",Totis NA
If selection.K="All", the outputs K, seg, funct and coeff are each a list containing the corresponding results obtained for the four model selection criteria
Examples
data(Data)
lyear=365.25
Kmax=4
lmin=1
result=GNSSseg(Data,lyear,Kmax=Kmax,selection.K="none")
plot_GNSS(Data,result$seg,result$funct)