# estinterval: Estimate interval model accounting for missed arrival... In adokter/intRval: Analysis of Time-Ordered Event Data with Missed Observations

## Description

Estimate interval mean and variance accounting for missed arrival observations, by fitting the probability density function intervalpdf to the interval data.

## Usage

 ```1 2 3 4 5``` ```estinterval(data, mu = median(data), sigma = sd(data)/2, p = 0.2, N = 5L, fun = "gamma", trunc = c(0, Inf), fpp = (if (fpp.method == "fixed") 0 else 0.1), fpp.method = "auto", p.method = "auto", conf.level = 0.9, group = NA, sigma.within = NA, iter = 10, tol = 0.001, silent = F, ...) ```

## Arguments

 `data` A numeric list of intervals. `mu` Start value for the numeric optimization for the mean arrival interval. `sigma` Start value for the numeric optimization for the standard deviation of the arrival interval. `p` Start value for the numeric optimization for the probability to not observe an arrival. `N` Maximum number of missed observations to be taken into account (default N=5). `fun` Assumed distribution for the intervals, one of "`normal`" or "`gamma`", corresponding to the Normal and GammaDist distributions `trunc` Use a truncated probability density function with range `trunc` `fpp` Baseline proportion of intervals distributed as a random poisson process with mean arrival interval `mu` `fpp.method` A string equal to 'fixed' or 'auto'. When 'auto' `fpp` is optimized as a free model parameter, in which case `fpp` is taken as start value in the optimisation `p.method` A string equal to 'fixed' or 'auto'. When 'auto' `p` is optimized as a free model parameter, in which case `p` is taken as start value in the optimisation `conf.level` Confidence level for deviance test that checks whether model with nonzero missed event probability `p` significantly outperforms a model without a missed event probability (`p=0`). `group` optional vector of equal length as data, indicating the group or subject in which the interval was observed `sigma.within` optional within-subject standard deviation. When equal to default 'NA', assumes no additional between-subject effect, with `sigma.within` equal to `sigma`. When equal to 'auto' an estimate is provided by iteratively calling partition `iter` maximum number of iterations in numerical iteration for `sigma.within` `tol` tolerance in the iteration, when `sigma.within` changes less than this value in one iteration step, the optimization is considered converged. `silent` logical. When `TRUE` print no information to console `...` Additional arguments to be passed to optim

## Details

The probability density function for observed intervals intervalpdf is fit to `data` by maximization of the associated log-likelihood using optim.

Within-group variation `sigma.within` may be separated from the total variation `sigma` in an iterative fit of intervalpdf on the interval data. In the iteration partition is used to (1) determine which intervals according to the fit are a fundamental interval at a confidence level `conf.level`, and (2) to partition the within-group variation from the total variation in interval length.

Within- and between-group variation is estimated on the subset of fundamental intervals with repeated measures only. As the set of fundamental interval depends on the precise value of `sigma.within`, the fit of intervalpdf and the subsequent estimation of `sigma.within` using partition is iterated until both converge to a stable solution. Parameters `tol` and `iter` set the threshold for convergence and the maximum number of iterations.

We note that an exponential interval model can be fitted by setting `fpp=1` and `fpp.method=fixed`.

## Value

This function returns an object of class `intRvals`, which is a list containing the following:

`data`

the interval data

`mu`

the modelled mean interval

`mu.se`

the modelled mean interval standard error

`sigma`

the modelled interval standard deviation

`p`

the modelled probability to not observe an arrival

`fpp`

the modelled fraction of arrivals following a random poisson process, see intervalpdf

`N`

the highest number of consecutive missed arrivals taken into account, see intervalpdf

`convergence`

convergence field of optim

`counts`

counts field of optim

`loglik`

vector of length 2, with first element the log-likelihood of the fitted model, and second element the log-likelihood of the model without a missed event probability (i.e. `p`=0)

`df.residual`

degrees of freedom, a 2-vector (1, number of intervals - `n.param`)

`n.param`

number of optimized model parameters

`p.chisq`

p value for a likelihood-ratio test of a model including a miss probability relative against a model without a miss probability

`distribution`

assumed interval distribution, one of 'gamma' or 'normal'

`trunc`

interval range over which the interval pdf was truncated and normalized

`fpp.method`

A string equal to 'fixed' or 'auto'. When 'auto' `fpp` has been optimized as a free model parameter

`p.method`

A string equal to 'fixed' or 'auto'. When 'auto' `p` has been optimized as a free model parameter

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29``` ```data(goosedrop) # calculate mean and standard deviation of arrival intervals, accounting for missed observations: dr=estinterval(goosedrop\$interval) # plot some summary information summary(dr) # plot a histogram of the intervals and fit: plot(dr) # test whether the mean arrival interval is greater than 200 seconds: ttest(dr,mu=200,alternative="greater") # let's estimate mean and variance of dropping intervals by site # (schiermonnikoog vs terschelling) for time period 5. # first prepare the two datasets: set1=goosedrop[goosedrop\$site=="schiermonnikoog" & goosedrop\$period == 5,] set2=goosedrop[goosedrop\$site=="terschelling" & goosedrop\$period == 5,] # allowing a fraction of intervals to be distributed randomly (fpp='auto') dr1=estinterval(set1\$interval,fpp.method='auto') dr2=estinterval(set2\$interval,fpp.method='auto') # plot the fits: plot(dr1,xlim=c(0,1000)) plot(dr2,xlim=c(0,1000)) # mean dropping interval are not significantly different # at the two sites (on a 0.95 confidence level): ttest(dr1,dr2) # now compare this test with a t-test not accounting for unobserved intervals: t.test(set1\$interval,set2\$interval) # not accounting for missed observations leads to a (spurious) # larger difference in means, which also increases # the apparent statistical significance of the difference between means ```

adokter/intRval documentation built on May 10, 2019, 5:58 a.m.