我正在尝试测试各种功能数据分析方法。理想情况下,我想测试关于模拟功能数据的方法。我试图使用一种基于求和高斯噪声(以下代码)的方法来生成模拟FD,但与真实物体相比,所得曲线看起来过于坚固。
我想知道是否有人指向函数/思想以生成更逼真的模拟功能数据。特别地,这些应该是平滑的。我是该领域的新手,欢迎任何建议。
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)
@Macro:不,如果您放大绘图,将会看到它生成的功能不平滑。将它们与这些幻灯片上的某些曲线进行比较:bscb.cornell.edu/~hooker/FDA2007/Lecture1.pdf。x的平滑样条可以解决问题,但我正在寻找一种直接的方法来生成数据。
—
user603 2012年
每当您包含噪声(这是任何随机模型的必要组成部分)时,原始数据本来就不会很平滑。您所指的样条拟合假设信号是平滑的-而不是实际观察到的数据(信号和噪声的组合)。
—
Macro
@Macro:将您模拟的过程与本文档第16页的过程进行比较:inference.phy.cam.ac.uk/mackay/gpB.pdf
—
user603 2012年
使用高阶多项式。具有随机系数(具有正确的分布)的20度多项式可以相当(平滑地)改变方向。如果找到问题的答案,也许可以将其发布为答案?
—
2012年
x=seq(0,2*pi,length=1000); plot(sin(x)+rnorm(1000)/10,type="l");