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=TRUE
consists 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 withKmax
segments.Missing data in the signal are accepted.
Value
A file containing
-
K
that corresponds to the selected number of segments orK
-1 corresponds to the number of changes. Ifselection.K="none"
, the number of segments isKmax
. -
seg
that corresponds to the estimation of the segmentation parameters (the begin and the end positions of each segment with the estimated mean). -
funct
that corresponds to the estimation of the functional part. Iff==FALSE
,funct
is FALSE -
coeff
that corresponds to the estimation of the coefficients of the Fourier decomposition. The vector contains 8 coefficients ifselection.f=FALSE
or as many coefficients as the number of selected functions ifselection.f=TRUE
. Iff==FALSE
,coeff
is FALSE -
variances
that corresponds to the estimated variances of each fixed interval -
SSR
that corresponds to the Residuals Sum of Squares for k=1,...,Kmax
. Ifselection.K="none"
, it contains only the SSR forKmax
segments -
Tot
is a list. Each component contains all the results k segments (k=1,...,Kmax
). Ifselection.K="none"
,Tot
is 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)