# EC_LRT: Compute the Euler characteristic for the generalized... In TOHM: Testing One Hypothesis Multiple Times

## Description

It computes the Euler characteristic (EC) of the generalized Likelihood Ratio test (LRT) field above specified thresholds over a given search area.

## Usage

 `1` ```EC_LRT(ck, x, mll, null0, init, lowlim, uplim, THETA) ```

## Arguments

 `ck` Vector of thresholds defining the excursions sets with respect to which the ECs are computed. `x` A vector or matrix collecting the data on which the LRT is computed. `mll` A function specifying the negative (profile) log-likelihood. See details. `null0` A scalar or vector collecting the values of the free parameters under the null hypothesis. See details. `init` Vector of initial values for the MLE. `lowlim` Vector of lower bounds for the MLE. `uplim` Vector of upper bounds for the MLE. `THETA` A vector or matrix of grid values for the nuisance parameter with respect to which the search is performed.

## Details

`mll` takes as first argument the vector of the parameters for which the MLE is generated. Other arguments of `mll` are the data vector or matrix (`x`) and a scalar or vector corresponding to the fixed value for the nuisance parameter with respect to which the profilying is computed (`theta`, see `gLRT`). If the latter is a vector it must be of same length of the rows in `THETA`. If the null model has nuisance parameters, `null0` takes as arguments the values of the parameters being tested under the null hypothesis, followed by the estimates of the nuisance parameters obtained assuming that the null hypothesis is true.

## Value

Returns a vector of EC values with respect to the thresholds specified in `ck`.

Sara Algeri

## References

S. Algeri and D.A. van Dyk. Testing one hypothesis multiple times: The multidimensional case. arXiv:1803.03858, submitted to the Journal of Computational and Graphical Statistics, 2018.

`EC_T`
 ``` 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 30``` ```#generating data of interest N<-100 x<-as.matrix(cbind(runif(N*2,172.5,217.5),runif(N*2,-2,58))) x2<-x[(x[,1]<=217.5)&(x[,1]>=172.5),] x_sel<-x2[(x2[,2]<=(28+sqrt(30^2-(x2[,1]-195)^2)))&(x2[,2]>=(28- sqrt(30^2-(x2[,1]-195)^2))),] data<-x_sel[sample(seq(1:(dim(x_sel))),N),] #Specifying minus-log-likelihood kg<-function(theta){integrate(Vectorize(function(x) { exp(-0.5*((x-theta)/0.5)^2)*integrate(function(y) { exp(-0.5*((y-theta)/0.5)^2) }, 28-sqrt(30^2-(x-195)^2), 28+sqrt(30^2-(x-195)^2))\$value}) , 172.5, 217.5)\$value} mll<-function(eta,x,theta){ -sum(log((1-eta)/(pi*(30)^2)+eta*exp(-0.5*((x[,1]- theta)/0.5)^2- 0.5*((x[,2]-theta)/0.5)^2)/kg(theta)))} #Specifying search region theta1<-seq(172.5,217.5,by=15) theta2<-seq(-2,58,by=10) THETA<-as.matrix(expand.grid(theta1,theta2)) originalR<-dim(THETA) rownames(THETA)<-1:(dim(THETA)) THETA2<-THETA[(THETA[,1]<=217.5)&(THETA[,1]>=172.5),] THETA_sel<-THETA2[(THETA2[,2]<=(28+sqrt(30^2-(THETA2[,1]- 195)^2)))&(THETA2[,2]>=(28-sqrt(30^2-(THETA2[,1]-195)^2))),] EC_LRT(ck=c(1,8),x=data,mll=mll,null0=0,init=c(0.1), lowlim=c(0),uplim=c(1), THETA_sel) ```