# Estimation of the parameters in a two-component admixture model with symmetric unknown density

Source:`R/BVdk_estimParam.R`

`BVdk_estimParam.Rd`

Estimation of the two parameters (mixture weight as well as location shift) in the admixture model with pdf: l(x) = p*f(x-mu) + (1-p)*g(x), x in R, where g is the known component, p is the proportion and f is the unknown component with symmetric density. The localization shift parameter is thus denoted mu, and the component weight p. See 'Details' below for further information.

## Usage

```
BVdk_estimParam(
data,
method = c("L-BFGS-B", "Nelder-Mead"),
comp.dist,
comp.param
)
```

## Arguments

- data
The observed sample under study.

- method
The method used throughout the optimization process, either 'L-BFGS-B' or 'Nelder-Mead' (see ?optim).

- comp.dist
A list with two elements corresponding to component distributions (specified with R native names for these distributions) involved in the admixture model. Unknown elements must be specified as 'NULL' objects, e.g. when 'f' is unknown: list(f=NULL, g='norm').

- comp.param
A list with two elements corresponding to the parameters of the component distributions, each element being a list itself. The names used in this list must correspond to the native R argument names for these distributions. Unknown elements must be specified as 'NULL' objects, e.g. if 'f' is unknown: list(f=NULL, g=list(mean=0,sd=1)).

## Value

A numeric vector with the two estimated parameters (proportion first, and then location shift).

## Details

Parameters are estimated by minimization of the contrast function, where the contrast is defined in Bordes, L. and Vandekerkhove, P. (2010); Semiparametric two-component mixture model when a component is known: an asymptotically normal estimator; Math. Meth. Stat.; 19, pp. 22--41.

## Author

Xavier Milhaud xavier.milhaud.research@gmail.com

## Examples

```
## Simulate data:
list.comp <- list(f = 'norm', g = 'norm')
list.param <- list(f = list(mean = 3, sd = 0.5),
g = list(mean = 0, sd = 1))
data1 <- rsimmix(n = 150, unknownComp_weight = 0.9, list.comp, list.param)[['mixt.data']]
## Perform the estimation of parameters in real-life:
list.comp <- list(f = NULL, g = 'norm')
list.param <- list(f = NULL, g = list(mean = 0, sd = 1))
BVdk_estimParam(data1, method = 'L-BFGS-B', list.comp, list.param)
#> Warning: Still needs to be implemented for cases where the unknown density mean is lower then the known density one!
#> [1] 0.8766334 3.0738966
```