These functions model the sprint split times using mono-exponential equation, where time is used as target or outcome variable, and distance as predictor. Function model_using_splits provides the simplest model with estimated MSS and TAU parameters. Time correction using heuristic rule of thumbs (e.g., adding 0.3s to split times) can be implemented using time_correction function parameter. Function model_using_splits_with_time_correction, besides estimating MSS and TAU, estimates additional parameter time_correction. Function model_using_splits_with_corrections, besides estimating MSS, TAU and time_correction, estimates additional parameter distance_correction. For more information about these function please refer to accompanying vignettes in this package.

model_using_splits(
  distance,
  time,
  time_correction = 0,
  weights = 1,
  LOOCV = FALSE,
  na.rm = FALSE,
  ...
)

model_using_splits_with_time_correction(
  distance,
  time,
  weights = 1,
  LOOCV = FALSE,
  na.rm = FALSE,
  ...
)

model_using_splits_with_corrections(
  distance,
  time,
  weights = 1,
  LOOCV = FALSE,
  na.rm = FALSE,
  ...
)

Arguments

distance, time

Numeric vector. Indicates the position of the timing gates and time measured

time_correction

Numeric vector. Used to correct for different starting techniques. This correction is done by adding time_correction to time. Default is 0. See more in Haugen et al. (2018)

weights

Numeric vector. Default is vector of 1. This is used to give more weight to particular observations. For example, use 1\distance to give more weight to observations from shorter distances.

LOOCV

Should Leave-one-out cross-validation be used to estimate model fit? Default is FALSE

na.rm

Logical. Default is FALSE

...

Forwarded to nls function

Value

List object with the following elements:

parameters

List with the following estimated parameters: MSS, TAU, MAC, PMAX, time_correction, and distance_correction

model_fit

List with the following components: RSE, R_squared, minErr, maxErr, and RMSE

model

Model returned by the nls function

data

Data frame used to estimate the sprint parameters, consisting of distance, time, weights, and pred_time columns

References

Haugen TA, Tønnessen E, Seiler SK. 2012. The Difference Is in the Start: Impact of Timing and Start Procedure on Sprint Running Performance: Journal of Strength and Conditioning Research 26:473–479. DOI: 10.1519/JSC.0b013e318226030b.

Examples

split_times <- data.frame( distance = c(5, 10, 20, 30, 35), time = c(1.20, 1.96, 3.36, 4.71, 5.35) ) # Simple model simple_model <- with( split_times, model_using_splits(distance, time) ) print(simple_model)
#> Estimated model parameters #> -------------------------- #> MSS TAU MAC PMAX #> 7.3937467 0.6377437 11.5936019 21.4300389 #> time_correction distance_correction #> 0.0000000 0.0000000 #> #> Model fit estimators #> -------------------- #> RSE R_squared minErr maxErr maxAbsErr RMSE #> 0.02240014 0.99988183 -0.02066091 0.02133341 0.02133341 0.01735107 #> MAE MAPE #> 0.01554950 0.60513742
coef(simple_model)
#> MSS TAU MAC PMAX #> 7.3937467 0.6377437 11.5936019 21.4300389 #> time_correction distance_correction #> 0.0000000 0.0000000
plot(simple_model)
# Model with correction of 0.3s model_with_correction <- with( split_times, model_using_splits(distance, time, time_correction = 0.3) ) print(model_with_correction)
#> Estimated model parameters #> -------------------------- #> MSS TAU MAC PMAX #> 7.741672 1.137652 6.804956 13.170434 #> time_correction distance_correction #> 0.300000 0.000000 #> #> Model fit estimators #> -------------------- #> RSE R_squared minErr maxErr maxAbsErr RMSE #> 0.02193501 0.99988942 -0.02860385 0.01613049 0.02860385 0.01699078 #> MAE MAPE #> 0.01442655 0.78055040
coef(model_with_correction)
#> MSS TAU MAC PMAX #> 7.741672 1.137652 6.804956 13.170434 #> time_correction distance_correction #> 0.300000 0.000000
plot(model_with_correction)
# Model with time_correction estimation model_with_time_correction_estimation <- with( split_times, model_using_splits_with_time_correction(distance, time) ) print(model_with_time_correction_estimation)
#> Estimated model parameters #> -------------------------- #> MSS TAU MAC PMAX #> 7.5452583 0.8851386 8.5243805 16.0796632 #> time_correction distance_correction #> 0.1612379 0.0000000 #> #> Model fit estimators #> -------------------- #> RSE R_squared minErr maxErr maxAbsErr RMSE #> 0.014535141 0.999965920 -0.013753975 0.010847344 0.013753975 0.009192830 #> MAE MAPE #> 0.008146573 0.284484426
coef(model_with_time_correction_estimation)
#> MSS TAU MAC PMAX #> 7.5452583 0.8851386 8.5243805 16.0796632 #> time_correction distance_correction #> 0.1612379 0.0000000
plot(model_with_time_correction_estimation)
# Model with time and distance correction estimation model_with_time_distance_correction_estimation <- with( split_times, model_using_splits_with_corrections(distance, time) ) print(model_with_time_distance_correction_estimation)
#> Estimated model parameters #> -------------------------- #> MSS TAU MAC PMAX #> 8.070141 2.684240 3.006490 6.065701 #> time_correction distance_correction #> 3.038271 12.015492 #> #> Model fit estimators #> -------------------- #> RSE R_squared minErr maxErr maxAbsErr RMSE #> 0.011430609 0.999989462 -0.007871967 0.006166580 0.007871967 0.005111924 #> MAE MAPE #> 0.004572915 0.141619773
coef(model_with_time_distance_correction_estimation)
#> MSS TAU MAC PMAX #> 8.070141 2.684240 3.006490 6.065701 #> time_correction distance_correction #> 3.038271 12.015492
plot(model_with_time_distance_correction_estimation)