Nothing
context("Importance sampling")
test_that("importanceSSM works",{
tol <- 1e-10
data(sexratio)
model <- SSModel(Male ~ SSMtrend(1, Q = 0.1), u = sexratio[,"Total"], data = sexratio,
distribution = "binomial")
set.seed(1)
expect_warning(imp <- importanceSSM(model, nsim = 25, antithetics = TRUE),NA)
expect_equal(sum(imp$w), 100.1432, tol=1e-6)
expect_equal(var(imp$s[1,1,]), 0.0002033084, tol=1e-6)
expect_equal(var(imp$s[261,1,]), 6.560228e-05, tol=1e-6)
set.seed(1)
expect_warning(out <- KFS(model, nsim = 25, smoothing=c("mean","state","signal")),NA)
muhat<-colSums(imp$w/sum(imp$w)*plogis(t(imp$s[,1,])))
expect_equal(muhat,c(out$mu),tol=tol)
expect_equal(colSums(imp$w/sum(imp$w)*plogis(t(imp$s[,1,]))^2) - muhat^2,c(out$V_mu),tol=tol)
set.seed(1)
expect_warning(imp <- importanceSSM(model, nsim = 25, filtered = TRUE, antithetics = TRUE),NA)
set.seed(1)
expect_warning(out <- KFS(model, nsim = 25, filtering=c("mean","state","signal")),NA)
expect_equal(sum(imp$w), 26122.95, tol=1e-6)
mu<-sum(imp$w[1,]/sum(imp$w[1,])*plogis(imp$s[1,1,]))
expect_equal(mu,out$m[1],tol=tol)
expect_equal(sum(imp$w[1,]/sum(imp$w[1,])*plogis(imp$s[1,1,])^2) - mu^2,out$P_mu[1],tol=tol)
mu<-sum(imp$w[261,]/sum(imp$w[261,])*plogis(imp$s[261,1,]))
expect_equal(mu,out$m[261],tol=tol)
expect_equal(sum(imp$w[261,]/sum(imp$w[261,])*plogis(imp$s[261,1,])^2) - mu^2,out$P_mu[261],tol=tol)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.