Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Une fonction pour simuler un modèle Non-Linéaire
2 participants
Page 1 sur 1
Une fonction pour simuler un modèle Non-Linéaire
Bonjour,
Je suis à la recherche d'une fonction R qui simulerait des jeux de données aléatoires en fonction de la structure d'une fonction non-linéaire.
J'ai cherché au niveau de la fonction simulate() mais elle n'est adaptée que aux données linéaires.
J'ai également cherché au niveau de MCPMod::genDFdata() mais elle n'est adaptée qu'à un nombre restreint de modèle.
Mon modèle NL n'est pas assez connu pour être dans une fonction, je l'ai écrit dans R et j'ai réussi à le faire fitter et à avoir une estimation des paramètres.
C'est à partir de ces paramètres que j'aimerais faire des simulations aléatoires.
Si quelqu'un sait comment faire ceci, ça m'aiderait beaucoup.
Merci d'avance
Je suis à la recherche d'une fonction R qui simulerait des jeux de données aléatoires en fonction de la structure d'une fonction non-linéaire.
J'ai cherché au niveau de la fonction simulate() mais elle n'est adaptée que aux données linéaires.
J'ai également cherché au niveau de MCPMod::genDFdata() mais elle n'est adaptée qu'à un nombre restreint de modèle.
Mon modèle NL n'est pas assez connu pour être dans une fonction, je l'ai écrit dans R et j'ai réussi à le faire fitter et à avoir une estimation des paramètres.
C'est à partir de ces paramètres que j'aimerais faire des simulations aléatoires.
Si quelqu'un sait comment faire ceci, ça m'aiderait beaucoup.
Merci d'avance
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Une fonction pour simuler un modèle Non-Linéaire
J'ai trouvé cette fonction qui semble répondre à la problématique, reste à vérifier si on peut la manier comme on le souhaite :
simulate.nls(), du package "investr"
Elle n'est disponible que sous R 3.3.3 donc si comme moi vous n'avez pas cette version de R, voici le code de la fonction :
Précision : les données simulées seront non-appariées, il est également possible de manier la fonction pour choisir nous-même la variabilité pour chaque point simulé
simulate.nls(), du package "investr"
Elle n'est disponible que sous R 3.3.3 donc si comme moi vous n'avez pas cette version de R, voici le code de la fonction :
- Code:
simulate.nls <- function (object, nsim = 1, seed = NULL, ...) {
# Initialize random number generator
if (!exists(".Random.seed", envir = .GlobalEnv, inherits = FALSE))
runif(1)
if (is.null(seed))
RNGstate <- get(".Random.seed", envir = .GlobalEnv)
else {
R.seed <- get(".Random.seed", envir = .GlobalEnv)
set.seed(seed)
RNGstate <- structure(seed, kind = as.list(RNGkind()))
on.exit(assign(".Random.seed", R.seed, envir = .GlobalEnv))
}
# Simulate new response values
ftd <- fitted(object) # fitted values
nm <- names(ftd) # row names
n <- length(ftd) # number of observations
ntot <- n * nsim # number of observations to simulate
vars <- deviance(object) / df.residual(object) # residual variance
if (!is.null(object$weights)) {
vars <- vars/object$weights
}
val <- ftd + rnorm(ntot, sd = sqrt(vars)) # simulated response values
# Return simulated response values with appropriate dimension, class, etc.
if (!is.list(val)) {
dim(val) <- c(n, nsim) # assign dimensions (should b n-by-nsim)
val <- as.data.frame(val) # convert to data frame
} else {
class(val) <- "data.frame"
}
names(val) <- paste("sim", seq_len(nsim), sep = "_")
if (!is.null(nm)) {
row.names(val) <- nm
}
attr(val, "seed") <- RNGstate
val
}
Précision : les données simulées seront non-appariées, il est également possible de manier la fonction pour choisir nous-même la variabilité pour chaque point simulé
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Re: Une fonction pour simuler un modèle Non-Linéaire
Pourtant, les exemples donnés dans la doc on-line de simulate() inclue un exemple avec une régression logistique, qui est loin d'être un modèle linéaire.zezima a écrit:J'ai cherché au niveau de la fonction simulate() mais elle n'est adaptée que aux données linéaires.
Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Une fonction pour simuler un modèle Non-Linéaire
Oui en effet, je faisais référence aux données continues.
zezima- Nombre de messages : 939
Date d'inscription : 26/02/2013
Sujets similaires
» questions pour un modèle linéaire...
» Modèle linéaire généralisé pour une distribution trinomiale
» Modèle linéaire à effet aléatoire pour mesures répétées
» R : Modèle linéaire généralisé...
» Modèle non linéaire nls.
» Modèle linéaire généralisé pour une distribution trinomiale
» Modèle linéaire à effet aléatoire pour mesures répétées
» R : Modèle linéaire généralisé...
» Modèle non linéaire nls.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum