varin sacha
2018-Apr-21 18:48 UTC
[R] Cross-validation : can't get the predicted response on the testing data
Dear R-experts, Doing cross-validation for 2 robust regressions (HBR and fast Tau). I can't get the 2 errors rates (RMSE and MAPE). The problem is to predict the response on the testing data. I get 2 error messages. Here below the reproducible (fictional example) R code. #install.packages("MLmetrics") # install.packages( "robustbase" ) # install.packages( "MASS" ) # install.packages( "quantreg" ) # install.packages( "RobPer" ) # install.packages( "scatterplot3d" ) # install.packages("devtools")? # library("devtools") # install_github("kloke/hbrfit") #install.packages('http://www.stat.wmich.edu/mckean/Stat666/Pkgs/npsmReg2_0.1.1.tar.gz') library(robustbase) library(MASS) library(quantreg) library(RobPer) library(scatterplot3d) library(hbrfit) library(MLmetrics)? # numeric variables A=c(2,3,4,3,2,6,5,6,4,3,5,55,6,5,4,5,6,6,7,52) B= c(45,43,23,47,65,21,12,7,18,29,56,45,34,23,12,65,4,34,54,23) C=c(21,54,34,12,4,56,74,3,12,71,14,15,63,34,35,23,24,21,69,32) # Create a dataframe BIO<-data.frame(A,B,C) ? # randomize sampling seed set.seed(1) n=dim(BIO)[1] p=0.667 # Sample size sam=sample(1?:n,floor(p*n),replace=FALSE) # Sample training data Training =BIO [sam,] # Sample testing data Testing = BIO [-sam,] ? # Build the 2 models fit<- FastTau(model.matrix(~Training$A+Training$B),Training$C) HBR<-hbrfit(C ~ A+B) # Predict the response on the testing data ypred=predict(fit,newdata=Testing) ypred=predict(HBR,newdata=Testing) # Get the true response from testing data y=BIO[-sam,]$D ?# Get error rate RMSE=sqrt(mean((y-ypred)^2)) RMSE MAPE = mean(abs(y-ypred/y)) MAPE