さまざまな機能データ分析アプローチをテストしようとしています。理想的には、シミュレートされた機能データでのアプローチのパネルをテストしたいと思います。ガウスノイズの加算に基づくアプローチ(以下のコード)を使用してシミュレートされた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
ノイズ(確率モデルの必要な部分)を含めると、生データは本質的に滑らかではなくなります。参照しているスプライン適合は、信号が滑らかであると仮定しています-実際の観測データ(信号とノイズの組み合わせ)ではありません。
—
マクロ
@macro:本書の16ページのものにあなたのシミュレートされたプロセスを比較:inference.phy.cam.ac.uk/mackay/gpB.pdf
—
user603
高次の多項式を使用します。ランダム係数(正しい分布)を持つ20次の多項式は、方向を(滑らかに)かなり大きく変えることができます。質問への回答が見つかった場合は、回答として投稿できますか?
—
マクロ
x=seq(0,2*pi,length=1000); plot(sin(x)+rnorm(1000)/10,type="l");