DLSSM.init | R Documentation |
This function is for tuning smoothing parameters using training data. The likelihood was calculated by Kalman Filter and maximized to estimate the smoothing parameters. For the given smoothing parameters, the model coefficients can be efficiently estimated using a Kalman filtering algorithm.
DLSSM.init(data.batched, S0, vary.effects, autotune = TRUE, Lambda = NULL)
data.batched |
A object generated by function Data.batched() |
S0 |
Number of batches of data to be used as training dataset |
vary.effects |
The names of variables in the dataset assumed to have a time-varying regression effect on the outcome. |
autotune |
T/F indicates whether or not the automatic tuning procedure described in Jiang et al. (2021) should be applied. Default is true. |
Lambda |
Specify smoothing parameters if autotune=F |
Lambda: | smoothing parameters |
Smooth: | smoothed state vector |
Smooth.var: | covariance of smoothed state vector in Smooth. |
Jiakun Jiang, Wei Yang and Wensheng Guo
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 DLSSM.plot(fit0)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.