Nothing
context("predict")
test_that("cross check with idependent calculation", {
fakeData <- data.frame(ID = rep(1, 5), t = c(0, 10, 22, 15, 33), y = c(40, 25, 88, 1, 2))
fakeDataTrain <- fakeData[1:2, ]
fakeDataTest <- fakeData[3:5, ]
lgcm <- gppm("muI+muS*t", "sigmaI^2+sigmaS^2*t*t#+covIS*(t+t#)+noise^2*(t==t#)", fakeDataTrain, ID = "ID", DV = "y")
paras <- c(58, -1, sqrt(258), sqrt(0.4), 0, sqrt(10))
names(paras) <- pars(lgcm)
lgcmFit <- fit(lgcm, init = paras, useOptimizer = FALSE)
thePreds <- predict(lgcmFit, fakeDataTest)
plot(thePreds, 1)
expect_identical(round(thePreds$predMean[[1]][2]), 19)
expect_identical(round(thePreds$predCov[[1]][2, 2]), 28)
})
# 50% of variance explained
test_that("cross check with idependent calculation 2", {
skip_on_cran()
theT <- rnorm(10000)
theY <- theT + rnorm(10000)
fakeData <- data.frame(ID = rep(1:2500, 4), t = theT, y = theY)
fakeDataTrain <- fakeData[1:2, ]
fakeDataTest <- fakeData[3:10000, ]
linearReg <- gppm("b*t", "noise*(t==t#)", fakeDataTrain, ID = "ID", DV = "y")
truePars <- c(1, 1)
names(truePars) <- pars(linearReg)
theFit <- fit(linearReg, init = truePars, useOptimizer = FALSE)
thePreds <- predict(theFit, fakeDataTest, verbose = FALSE)
accRes <- accuracy(thePreds)
expect_equal(accRes$MSE / 2, .5, tolerance = 0.05)
sum <- 0
for (i in 3:10000) {
sum <- sum + log(dnorm(rnorm(1)))
}
sum <- -sum
expect_equal(accRes$nLPP / 10000, sum / 10000, tolerance = 0.05)
truePars <- c(0, 2)
names(truePars) <- pars(linearReg)
theFit <- fit(linearReg, init = truePars, useOptimizer = FALSE)
thePreds <- predict(theFit, fakeDataTest, verbose = FALSE)
accRes <- accuracy(thePreds)
expect_equal(accRes$MSE / 2, 1, tolerance = 0.05)
sum <- 0
for (i in 1:length(fakeDataTest$y)) {
sum <- sum + log(dnorm(fakeDataTest$y[i], sd = sqrt(2)))
}
sum <- -sum
expect_equal(accRes$nLPP / 10000, sum / 10000, tolerance = 0.00001)
})
test_that("thePlot", {
skip_on_cran()
newData <- demoLGCM
newData[, c("t")] <- newData[, c("t")] + 0.0000001
thePreds <- predict(lgcmFit, newData)
tmp <- plot(thePreds, 10)
expect_equal(class(tmp)[1], "gg")
})
test_that("thePlot2", {
skip_on_cran()
theTs <- seq(1, 10, 0.05)
n <- length(theTs)
newData <- data.frame(ID = rep(10, n), t = theTs, y = rep(NA, n))
thePreds <- predict(lgcmFit, newData)
tmp <- plot(thePreds, 10)
expect_equal(class(tmp)[1], "gg")
})
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.