DLSSM.valid {DLSSM} | R Documentation |
Dynamical prediction on validation dataset
Description
After we have fitted initial model, we can do validation. It is iteratively doing K-steps ahead prediction and model updating (filtering) when a new batch of data becomes available. The validation include K-steps ahead prediction of state vector and probabilities on validation interval.
Usage
DLSSM.valid(fit0, data.batched, K)
Arguments
fit0 |
Initial fitted model |
data.batched |
Batched dataset generated by function Batched() |
K |
Number of steps for ahead prediction |
Details
The argument fit could be object of DLSSM or DLSSM.init.
Value
pred.K: | K-steps ahead predicted coefficients |
pred.var.K: | covariance of K-steps ahead predicted coefficients |
pred.prob.K: | K-steps ahead predicted probabilities |
Author(s)
Jiakun Jiang, Wei Yang and Wensheng Guo
Examples
set.seed(321)
n=8000
beta0=function(t) 0.1*t-1
beta1=function(t) cos(2*pi*t)
beta2=function(t) sin(2*pi*t)
alph1=alph2=1
x=matrix(runif(n*4,min=-4,max=4),nrow=n,ncol=4)
t=sort(runif(n))
coef=cbind(beta0(t),beta1(t),beta2(t),rep(alph1,n),rep(alph2,n))
covar=cbind(rep(1,n),x)
linear=apply(coef*covar,1,sum)
prob=exp(linear)/(1+exp(linear))
y=as.numeric(runif(n)<prob)
sim.data=cbind(y,x,t)
colnames(sim.data)=c("y","x1","x2","x3","x4","t")
formula = y~x1+x2+x3+x4
# Divide the time domain [0,1] into S=100 equally spaced intervals
S=100
S0=75
data.batched=Batched(formula, data=sim.data, time="t", S)
# using first 75 batches as training dataset to tune smoothing parameters
fit0=DLSSM.init(data.batched, S0, vary.effects=c("x1","x2"))
fit0$Lambda
#After initial model fitting on training data, we move to dynamic prediction
fit=DLSSM.valid(fit0, data.batched, K=1)
DLSSM.plot(fit)
[Package DLSSM version 1.1.1 Index]