https://github.com/cran/ssfit
Tip revision: 34c2b81061aaf8d77873c5431608970613444ea9 authored by Christiana Kartsonaki on 06 June 2022, 22:10:05 UTC
version 1.2
version 1.2
Tip revision: 34c2b81
fit.model.Rd
\name{fit.model}
\alias{fit.model}
%- Also NEED an '\alias' for EACH other topic documented here.
\title{Fitting of parametric models using summary statistics}
\description{
Fits complex parametric models with intractable likelihood using the method proposed by Cox and Kartsonaki (2012).
%% ~~ A concise (1-5 lines) description of what the function does. ~~
}
\usage{
fit.model(p, q, n, r, starting_values, h_vector, data_true, sim_data, features, n_iter,
print_results = TRUE, variances = TRUE)
}
%- maybe also 'usage' for other objects documented here.
\arguments{
\item{p}{Number of parameters to be estimated.}
\item{q}{Number of features / summary statistics.}
\item{n}{Sample size. Usually equal to the number of observations in the data (\code{data_true}).}
\item{r}{Number of simulations to be run at each design point, in each iteration.}
\item{starting_values}{A vector of starting values for the parameter vector.}
\item{h_vector}{A vector of spacings \code{h}.}
\item{data_true}{The dataset.}
\item{sim_data}{A function which simulates data using the model to be fitted.}
\item{features}{A function which calculates the features / summary statistics.}
\item{n_iter}{Number of iterations of the algorithm to be performed.}
\item{print_results}{If \code{TRUE}, the estimates of the parameters are printed at each iteration.}
\item{variances}{If \code{TRUE}, the covariance matrix of the estimates of the parameters at each iteration are saved into a list. If \code{FALSE}, only that of the estimates obtained at the last iteration is obtained.}
}
\details{
Function \code{sim_data} should simulate from the model, taking as arguments the sample size and the parameter vector.
Function \code{features} must take as an argument the simulated data generated by \code{sim_data} and calculate the features / summary statistics. The format of the dataset and the simulated data should be the same and should match the format needed by the function \code{features}. Function \code{features} must return a vector of length \code{q}.
%% ~~ If necessary, more details than the description above ~~
}
\value{
\item{estimates}{The estimates of the parameters.}
\item{var_estimates}{The covariance matrix of the final estimates.}
\item{L}{The matrix of coefficients L.}
\item{sigma}{The covariance matrix of the features.}
\item{zbar}{The average values of the simulated features at each design point.}
\item{z_D}{The values of the features calculated from the data.}
\item{ybar}{The linear combinations of the simulated features at each design point.}
\item{y_D}{The linear combinations of the features calculated from the data.}
}
\references{
Cox, D. R. and Kartsonaki, C. (2012). The fitting of complex parametric models. \emph{Biometrika}, \bold{99} (3): 741--747.
}
\author{Christiana Kartsonaki}
%\note{
%% ~~further notes~~
%}
%\seealso{
%% ~~objects to See Also as \code{\link{help}}, ~~~
%}
\examples{
# estimate the mean of a N(2, 1) distribution
sim_function <- function(n, mu) {
rnorm(n, unlist(mu), 1)
}
features_function <- function(data) {
a <- median(data)
b <- sum(data) - (min(data) + max(data))
c <- (min(data) + max(data)) / 2
return(c(a, b, c))
}
fit1 <- fit.model(p = 1, q = 3, n = 100, r = 100, starting_values = 5, h_vector = 0.1,
data_true = rnorm(100, 2, 1), sim_data = sim_function, features = features_function,
n_iter = 50, print_results = TRUE, variances = TRUE)
}
% Add one or more standard keywords, see file 'KEYWORDS' in the
% R documentation directory.
%\keyword{ ~kwd1 }
%\keyword{ ~kwd2 }% __ONLY ONE__ keyword per line