n <- nrow(covid) c3 <- sample(1:n, 0.8*n) length(c3) c4 <- (1:n)[-c3] #c3=1:52;c4=53:66; # 80,20 training testing d2 <- covid[c3,];d3 <- covid[c4,] c3=1:288;c4=289:360; # 80,20 training testing C1 <- as.matrix(covid[,1]);C3 <- as.matrix(covid[,2]) C4 <- as.matrix(covid[,3])#;C3 <- as.matrix(covid[,7]) Rt <- as.matrix(covid[,4]);R1 <- as.matrix(covid[,5]) R2 <- as.matrix(covid[,6]);R3 <- as.matrix(covid[,7]) all_data <- data.frame(C1,C3,C4,Rt,R1,R2,R3)#,R1,R2,R3) dim(all_data) all_data <- zoo(all_data, seq(from = as.Date("2020-01-22"), to = as.Date("2021-01-15"), by =1)) #covid <- zoo(covid, seq(from = as.Date("2020-01-22"), # to = as.Date("2020-06-09"), by =1)) tail(all_data) dim(covid) ytrain <- covid[c3,1] ytest <- covid[c4,1] head(ytest) traindata <- all_data[c3,] # take training part testdata <- all_data[c4,] # take test data # ANN for training ann_trn_fit <- monmlp.fit(x = as.matrix(traindata), y = as.matrix(ytrain), hidden1 = 4, hidden2 = 8, #monotone = 2, #n.ensemble = 10, #bag=TRUE, iter.max = 10000, To = linear) ann_trn_pred <- monmlp.predict(x = as.matrix(traindata),weights = ann_trn_fit) ann_trn_pred <- ts(ann_trn_pred);accuracy(ann_trn_pred, ytrain) ann_trn_pred <- data.frame(ann_trn_pred) ann_test_fit <- monmlp.fit(x = as.matrix(traindata), y = as.matrix(ytrain), hidden1 = 4, hidden2 = 8, #monotone = 2, #n.ensemble = 10, #bag=TRUE, iter.max = 10000, To = linear) ann_test_pred <- monmlp.predict(x = as.matrix(testdata),weights = ann_test_fit) ann_test_pred <- ts(ann_test_pred);accuracy(ann_test_pred, ytest) ############## svm_trn <- svm(ytrain ~. , data = traindata) #tune_par <- tune.svm(ytrain ~. , data = traindata, gamma = 10^(-#5:-1), cost = 10^(-3:1) svm_trn_pred <- ts(svm_trn_pred, start=(2020-01-22)) svm_trn_pred <- predict(svm_trn,newdata= traindata);accuracy(svm_trn_pred,ytrain) ## SVM for testing svm_test <- svm(ytrain ~. , data = traindata);svm_test_pred <- ts(svm_test_pred, start=(2020-11-05)) ##tune_par <- tune.rf(ytrain ~. , data = traindata, gamma = 10^(-#5:-1), cost = 10^(-3:1) svm_test_pred <- predict(svm_test,newdata= testdata);accuracy(svm_test_pred,ytest) ############################################ # RF for training rf_trn <- randomForest(ytrain ~., data = traindata, keep.forest = TRUE) rf_trn_pred <- predict(rf_trn, traindata);accuracy(rf_trn_pred,ytrain) rf_trn_pred <- ts(rf_trn_pred,start(2020-01-22), end(2020-11-04),frequency = 1/7) # RF for testing rf_test <- randomForest(ytrain ~., data = traindata, keep.forest = TRUE) rf_test_pred <- predict(rf_test, testdata);accuracy(rf_test_pred,ytest) rf_test_pred <- ts(rf_test_pred,start(2020-11-05), end(2021-01-16),frequency = 1/7) ## tuing rf # mtry <- sqrt(ncol(data)) #control <- trainControl(method='repeatedcv', # number=5, # repeats=3, # search = 'random') # #Random generate mtry values with tuneLength = 15 #set.seed(1) #rf_random <- train(Class ~ ., # data = dataset, # method = 'rf', # metric = 'Accuracy', # tuneLength = 15, # trControl = control) #print(rf_random) ########################################## # KNN for training knn_trn <- knnreg(ytrain~.,traindata,k=7);knn_trn_pred <- predict(knn_trn, traindata) knn_trn_pred <- ts(knn_trn_pred, start(2020-01-22));accuracy(knn_trn_pred, ytrain) # KNN for testing knn_test <- knnreg(ytrain~.,traindata,k=7);knn_test_pred <- predict(knn_test, testdata) #knn.cross <- tune.knn(x = full.data, y = full.dir, k = #1:20,tunecontrol=tune.control(sampling = "cross"), cross=5) knn_test_pred <- ts(knn_test_pred, start(2020-11-05));accuracy(knn_test_pred, ytest)