I'm getting an error when trying to train the same predictor on the same data set for a shorter time period and saving it under a different name. The error message for the second save is "Ranking failed ......-> Could not find validation model". How do I fix this?
The error comes from ranking, not from "training a predictor". You are using AIFactorValidation() in a ranking system for a validated model that was ran w/o saving the predictions. You need to re-run the validation.
A Model is just a definition, the "metadata", it's just the algo used + hyper-param
Predictors are trained Models. They are used to generate predictions for the present and past 1y (soon we'll open it up to 5y). To use them you must use AIFactor() function
Validations are like backtests of a Model, they do not generate a trained model as output, just data. To access the data you must use AIFactorValidation()
Not sure what this means
"But it doesn't work if I try to use a predictor of the same type that I already created under a different name"
So the predictor is created, but doesn't work where exactly? Also this is not clear using the definitions above
"The validation model works if I add different types of predictors.."
AIFactorValidation can only access data from validation models. It's not even seeing the predictors you are creating. You must be using the same names for validation models and predictors, which is causing the confusion.
AIFactorValidation("factor name", "Extra Tree I")
AIFactor("factor name", "Extra Tree I")
The first "Extra Tree I" is a validation of ET1 model. The second one is a predictor of ET1 model.
We should default the predictor names to be somewhat different. Like "{Extra Tree I}" where the {} indicate it's a predictor