\details{
The package devtools should be useful in development stage, since we rely on testthat for
unit tests, and roxygen2 for documentation. knitr is used to generate the package vignette.
+ jointDiag allows to solve a joint diagonalization problem, providing a more robust
+ solution compared to a single diagonalization.
Concerning the other suggested packages:
\itemize{
\item{tensor is used for comparing to some reference functions initially coded in R;
it should not be required in further package versions;}
- \item{jointDiag allows to solve a joint diagonalization problem, providing a more
- robust solution compared to a single diagonalization;}
\item{parallel (generally) permits to run the bootstrap method faster.}
}
- The three main functions are located in R/main.R:
+ The two main functions are located in R/computeMu.R and R/optimParams.R:
\itemize{
- \item{getParamsDirs_ref: reference method to estimate parameters directions;}
- \item{getParamsDirs: method of choice to estimate parameters directions, using a
- spectral decomposition of inputs/outputs;}
- \item{getBootstrapParams: run getParamsDirs on B bootstrap replicates.}
+ \item{computeMu(): estimation of parameters directions;}
+ \item{optimParams(): builds an object \code{o} to estimate all other parameters
+ when calling \code{o$run()}, starting from the directions obtained by previous function}
}
+ See also \code{multiRun()}, which is a flexible method to run Monte-Carlo or bootstrap
+ estimations using different models in various contexts.
}
\author{
where $X\sim \mathcal{N}(m,\Sigma)$, $m\in \R^{d}$, $\Sigma$ a positive and
symetric $d\times d$ matrix. ***** TODO: take this into account? -->
-TODO
+The two main functions are:
+ * computeMu(), which estimates the parameters directions, and
+ * optimParams(), which builds an object \code{o} to estimate all other parameters
+ when calling \code{o$run()}, starting from the directions obtained by the
+ previous function.
+A third function is useful to run Monte-Carlo or bootstrap estimations using
+different models in various contexts: multiRun(). We'll show example for all of them.
-3) Experiments: show package usage
+### Estimation of directions
-\subsection{Experiments}
-In this section, we evaluate our algorithm in a first step using mean squared error (MSE). In a second step, we compare experimentally our moments method (morpheus package \cite{Loum_Auder}) and the likelihood method (with felxmix package \cite{bg-papers:Gruen+Leisch:2007a}).
+In a real situation you would have (maybe after some pre-processing) the matrices
+X and Y which contain vector inputs and binary output.
+However, a function is provided in the package to generate such data following a
+pre-defined law:
-TODO.........
+io <- generateSampleIO(n=10000, p=1/2, beta=matrix(c(1,0,0,1),ncol=2), b=c(0,0), link="probit")
+
+n is the total number of samples (lines in X, number of elements in Y)
+p is a vector of proportions, of size d-1 (because the last proportion is deduced from
+ the others: p elements sums to 1) [TODO: omega or p?]
+beta is the matrix of linear coefficients, as written above in the model.
+b is the vector of intercepts (as in linear regression, and as in the model above)
+link can be either "logit" or "probit", as mentioned earlier.
+
+This function outputs a list containing in particular the matrices X and Y, allowing to
+use the other functions (which all require either these, or the moments).
+
+TODO: computeMu(), explain input/output
+
+### Estimation of other parameters
+
+TODO: just run optimParams$run(...)
+
+### Monte-Carlo and bootstrap
+
+TODO: show example comparison with flexmix, show plots.