Computes trapezoidal integration weights (Riemann sums) for a functional variable X1 that has evaluation points xind.
integrationWeights(X1, xind, id =NULL)integrationWeightsLeft(X1, xind, leftWeight = c("first","mean","zero"))
Arguments
X1: for functional data that is observed on one common grid, a matrix containing the observations of the functional variable. For a functional variable that is observed on curve specific grids, a long vector.
xind: evaluation points (index) of functional variable
id: defaults to NULL. Only necessary for response in long format. In this case id specifies which curves belong together.
leftWeight: one of c("mean", "first", "zero"). With left Riemann sums different assumptions for the weight of the first observation are possible. The default is to use the mean over all integration weights, "mean". Alternatively one can use the first integration weight, "first", or use the distance to zero, "zero".
Returns
Matrix with integration
Details
The function integrationWeights() computes trapezoidal integration weights, that are symmetric. Per default those weights are used in the bsignal-base-learner. In the special case of evaluation points (xind) with equal distances, all integration weights are equal.
The function integrationWeightsLeft() computes weights, that take into account only the distance to the prior observation point. Thus one has to decide what to do with the first observation. The left weights are adequate for historical effects like in bhist.
Examples
## Example for trapezoidal integration weightsxind0 <- seq(0,1,l =5)xind <- c(0,0.1,0.3,0.7,1)X1 <- matrix(xind^2, ncol = length(xind0), nrow =2)# Regualar observation pointsintegrationWeights(X1, xind0)# Irregular observation pointsintegrationWeights(X1, xind)# with missing valueX1[1,2]<-NAintegrationWeights(X1, xind0)integrationWeights(X1, xind)## Example for left integration weightsxind0 <- seq(0,1,l =5)xind <- c(0,0.1,0.3,0.7,1)X1 <- matrix(xind^2, ncol = length(xind0), nrow =2)# Regular observation pointsintegrationWeightsLeft(X1, xind0, leftWeight ="mean")integrationWeightsLeft(X1, xind0, leftWeight ="first")integrationWeightsLeft(X1, xind0, leftWeight ="zero")# Irregular observation pointsintegrationWeightsLeft(X1, xind, leftWeight ="mean")integrationWeightsLeft(X1, xind, leftWeight ="first")integrationWeightsLeft(X1, xind, leftWeight ="zero")# obervation points that do not start with 0xind2 <- xind +0.5integrationWeightsLeft(X1, xind2, leftWeight ="zero")