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

 estinterval R Documentation

## Estimate interval model accounting for missed arrival observations

### Description

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

### Usage

```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

```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
```

intRvals documentation built on May 3, 2022, 1:07 a.m.