Dear All, I am trying to do a out-of-sample prediction using predict.sarlm but I am getting the 'unknown mismatch' error from predict.sarlm.
I have a training and a testing spatial points dataframe (train_spdf and test_spdf) and I know that I would require a listw object that contains the neighbours of the training set for fitting the model and a listw object that contains the neighbours of training + testing set for predicting. Here is how I have created the listw object for predicting: all_coords <- rbind(train_spdf@coords, test_spdf@coords) col.rel.nb <- graph2nb(relativeneigh(all_coords), sym=TRUE) test.listw <- nb2listw(col.rel.nb) It seems like there are at least 2 ways one can create the listw object for model fitting. First Way: nb <- graph2nb(relativeneigh(train_spdf@coords), sym=TRUE) train.listw <- nb2listw(nb) Second Way: train_index <- rep(1:214) # the first 214 observations should be my training set since that was how I rbind-ed it in all_coords object train.listw <- subset(test.listw, 1:nrow(all_coords) %in% train_index) Eventually, the train.listw and test.listw object will be used as follows: model <- spatialreg::lagsarlm(myformula, data=train_spdf@data, train.listw, type="mixed",zero.policy = T) pred <- spatialreg::predict.sarlm(model, test_spdf@data, test.listw,zero.policy = T) When I did it the first way, I obtained an error and warning messages from the predict.sarlm function: Error in spatialreg::predict.sarlm(model, final_test_spdf@data, test.listw, : unknown mismatch. please report this bug In addition: Warning messages: 1: In spatialreg::predict.sarlm(model, final_test_spdf@data, test.listw, : some region.id are both in data and newdata 2: In colnames(Xs.not.lagged) != colnames(Xo) : longer object length is not a multiple of shorter object length When I did it the second way, I obtained warning messages from the lagsarlm function: Warning message: In spatialreg::lagsarlm(as.formula(rest_formula), data = final_train_spdf@data, : Aliased variables found: A lag.B lag.C lag.D lag. E lag.F lag.G lag.H lag.I lag.J lag.K lag.L lag.M lag.N lag.O lag.P [... truncated] And then the same error and warning messages as the first way when using the predict.sarlm function: Error in spatialreg::predict.sarlm(model2, final_test_spdf@data, test.listw, : unknown mismatch. please report this bug In addition: Warning messages: 1: In spatialreg::predict.sarlm(model2, final_test_spdf@data, test.listw, : some region.id are both in data and newdata 2: In colnames(Xs.not.lagged) != colnames(Xo) : longer object length is not a multiple of shorter object length As you can see, either method would have me run into the 'unknown mismatch' error in predict.sarlm. Here I have 2 questions: 1. Which way should be the right way of creating the listw object for fitting the model? 2. How can I solve the 'unknown mismatch' error? Would appreciate any advice! Thank you! [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo