Ich versuche verschiedene Ansätze zur Funktionsdatenanalyse zu testen. Idealerweise möchte ich das Panel meiner Ansätze an simulierten Funktionsdaten testen. Ich habe versucht, eine simulierte FD mithilfe eines Ansatzes zu generieren, der auf einer Summierung von Gaußschen Rauschen basiert (Code unten), aber die resultierenden Kurven sehen im Vergleich zur Realität viel zu rau aus .
Ich fragte mich, ob jemand einen Zeiger auf Funktionen / Ideen hatte, um realistisch aussehende simulierte Funktionsdaten zu generieren. Insbesondere sollten diese glatt sein. Ich bin völlig neu in diesem Bereich, daher sind Ratschläge willkommen.
library("MASS")
library("caTools")
VCM<-function(cont,theta=0.99){
Sigma<-matrix(rep(0,length(cont)^2),nrow=length(cont))
for(i in 1:nrow(Sigma)){
for (j in 1:ncol(Sigma)) Sigma[i,j]<-theta^(abs(cont[i]-cont[j]))
}
return(Sigma)
}
t1<-1:120
CVC<-runmean(cumsum(rnorm(length(t1))),k=10)
VMC<-VCM(cont=t1,theta=0.99)
sig<-runif(ncol(VMC))
VMC<-diag(sig)%*%VMC%*%diag(sig)
DTA<-mvrnorm(100,rep(0,ncol(VMC)),VMC)
DTA<-sweep(DTA,2,CVC)
DTA<-apply(DTA,2,runmean,k=5)
matplot(t(DTA),type="l",col=1,lty=1)
r
simulation
functional-data-analysis
user603
quelle
quelle
x=seq(0,2*pi,length=1000); plot(sin(x)+rnorm(1000)/10,type="l");
Antworten:
Sehen Sie sich an, wie Sie Realisierungen eines Gaußschen Prozesses (GP) simulieren können. Die Glätte der Realisierungen hängt von den analytischen Eigenschaften der Kovarianzfunktion des GP ab. Dieses Online-Buch enthält viele Informationen: http://uncertainty.stat.cmu.edu/
Dieses Video gibt eine schöne Einführung in die Hausärzte : http://videolectures.net/gpip06_mackay_gpb/
PS In Bezug auf Ihren Kommentar kann dieser Code Ihnen einen Anfang geben.
quelle
Ok, hier ist die Antwort, die ich mir ausgedacht habe (sie stammt im Wesentlichen von hier und hier ). Die Idee ist, einige zufällige Paare zu projizieren{ xich, yich}
quelle