######################################### # 第14章 非ガウス型モデル(TSSSパッケージ) ######################################### # ## trend model # # テストデータの生成(n=101,201でジャンプ) # x <- rep(0,400) x[101:200] <- 1 x[201:300] <- -1 y <- x + rnorm(400, mean=0, sd=0.5) # # system noise density : Gaussian (normal) # 正規分布モデル: カルマンフィルタと同じ結果 # ngsmth(y, 1, 1.4e-02,, 2, 1.048) # システムノイズ:非ガウス分布 # ピアソン分布(b=0.6)の場合 # # system noise density : Pearson family ngsmth(y, 2, 2.11e-10,bv=0.6, 2, 1.042) # コーシー分布の場合(b=1) # system noise density : Pearson family ngsmth(y, 2, 3.53e-5,bv=1.0, 2, 1.045) ########################## # 時変分散モデル # ## an earthquake wave data data(MYE1F) n <- length(MYE1F) m <- n/2 y <- rep(0, n) for( i in 2:n ) y[i] <- MYE1F[i] - 0.5*MYE1F[i-1] yy <- rep(0, m) for( i in 1:m ) yy[i] <- y[i*2] z <- tvvar(yy, 2, 4.909e-02, 1.0e-06, FALSE) # # # system noise density : Gaussian (normal) # ガウス近似(カルマンフィルタと同じ結果) # ngsmth(z$ts, 1, z$tau2,, 2, pi*pi/6, k=200) # システムノイズ: コーシー分布 ngsmth(z$ts, 2, z$tau2/100,, 2, pi*pi/6, k=200) # システムノイズ: コーシー分布 # 観測ノイズ:   二重指数分布 # << 注意: 現時点でバグあり。クラッシュします >> # system noise density : Gaussian (normal) ngsmth(z$ts, 2, 0.000260, bv=1.0, 3, pi*pi/6, k=400) # 以下は作図のため # z <- ngsmth(z$ts, 2, z$tau2/100,, 2, pi*pi/6, k=190,plot=FALSE) x <- seq(-2,6,length=153) y <- 1:650 persp(x,y,z$smt) x <- 1:650 y <- 1:7 zz <- z$trend persp(x,y,zz,expand=0.5,theta=30,phi=20,shade=0.3) x <- 1:153 y <- 1:650 zz <- z$smt persp(x,y,zz,expand=0.5,theta=30,phi=20) # lattice wireframe(zz,shade=TRUE,aspect=2.0,panel.aspect=1) tz <- zz wireframe(tz,shade=TRUE,aspect=0.7,panel.aspect=1)