tune.RJQL {JQL}R Documentation

Tuning function via k-fold cross vaidation for Residual Jump Q-learning.

Description

This function uses the cross-validation to train the best tuning parameters lambda_n and gamma_n for Residual Jump Q-learning.

Usage

tune.RJQL(sample,cm=6,Gamma.list=seq(from=1,to=20,by=2)/5,
Lambda.list=seq(from=1,to=20,by=2)/5,RF_A.list=c(0,0.25,0.5,0.75,1),folds_num=5)

Arguments

sample

The training dataset (Y,A,X), where Y is the patient’s associated response/outcome, A is the dose level received by each patient, and X is the patient’s baseline covariates.

cm

The constent cm in m=n/cm, where m is the number of total subinterval that diverges with sample size n. The default value is 6.

Gamma.list

The candidate tuning paramter space for c1 in penalty term gamma=c1 log(n)/n. The default value is seq(from=1,to=20,by=2)/5.

Lambda.list

The candidate tuning paramter space for c2 in penalty term lambda=c2 log(n)/n. The default value is seq(from=1,to=20,by=2)/5.

RF_A.list

The candidate tuning paramter space for A in fitted E(Y|A=a,X) by Random Forest Regression for method 'RJQL' only. The default value is c(0,0.25,0.5,0.75,1).

folds_num

The number of the folds in the cross-validation process. The default value is 5.

Value

best_gamma

The best tuning parameter gamma by minimuming the least square loss function.

best_lambda

The best tuning parameter lambda by minimuming the least square loss function.

best_a

The best tuning parameter a to fit random forest by minimuming the least square loss function.

References

Jump Q-learning for Individualized Interval-valued Dose Rule.

Examples

n=50
d=4
x=matrix(runif(n*(d-1),-1,1),nrow=n,ncol=d-1)
a=runif(n,0,1)
y=(1+x[,1])*(a>=0&a<0.35)+(x[,1]-x[,2])*(a>=0.35&a<0.65)+(1-x[,2])*(a>=0.65&a<=1)+rnorm(n,0,1)
sample=data.frame(y=y,a=a,x=x)
tune.RJQL(sample)

[Package JQL version 3.6.9 Index]