Je les observations suivantes dans une matrice M: 30 observations (ligne) dans chacun de 1 à 5 groupes (colonnes)contraintes définies sur les paramètres de la fonction de GLS {nom}
de code reproductible:
Simulate_phase_correction_isochronous<-function(N, nseq, alpha, st, sm)
{
As<-matrix(NA, nrow=N, ncol=nseq)
for(o in 1:nseq)
{
M=rnorm(N+2)
T=rnorm(N+2)
Z=st*T[1:(N+1)]-sm*M[2:(N+2)]+sm*M[1:(N+1)]
AA=rep(0,N+2)
for(I in 1:(N+1))
{
AA[I+1]<-(1-alpha)*AA[I]+Z[I]
}
As[,o]<-AA[3:(N+2)]
}
As
}
set.seed(1)
M<-Simulate_phase_correction_isochronous(N=30, nseq=5, a=0.5, st=10, sm=5)
y=M[2:dim(M)[1],]
x=M[1:(dim(M)[1]-1),]
#wide to long
data<-reshape2::melt(y);
names(data)<-c("n", "group", "y")
data$x<-melt(x)$value
Objectif: Je souhaite estimer les paramètres de la variance et la covariance à la traînée - + 1.
Cela peut être fait en utilisant un modèle de la moyenne mobile de la fonction gls {name}:
MA1.gls<-gls(y~x, data=data,corr=corARMA(q=1, form=~1|group), method="ML")
Ma question: dans la fonction gls Comment puis-je définir des contraintes/limites afin que certaines conditions sont réunies ? par exemple:
2 * covariance < variance
gls {nom} devrait être gls {nlme} – dom