How to build a predictive model that uses only a subset of training factors , for testing? Generally, all the predictive algorithms work as follows :
input factors : x1,x2,x3,x4...xn<br>
responses: y1,y2..ym <br>

and the model (say M) built gives the predicted output as M(x1,x2,x3..,xn)=(Y1,Y2,..,Yk).Now suppose while training the model I have all the input factors and responses as given above  but while predicting I have only some 'j' input factors (where j < n). 
Eg. I have x1,x2,x3..,xj and I want to do M(x1,x2,x3..xj). 
Can I still use my model for prediction ?  
 A: One possible approach which is statistically sound is to build an ensemble of models using only subset of features (random) in each simple one. For example consider building something like random forest, but each tree can only use 80% of features (classical RF removes features in each node, and I am talking here about removing them globally). Then, once you train your ensemble, and you get a testing point which does not have some features - you simply use only these models from the ensemble, which are consistent with observation (were trained on features which are available). Given enough weak learners in ensemble this should work well. 
A: For most models you can't. You will either have to remove the additional j-n inputs that you don't have in your predicting set and retrain the model using only j variables. Otherwise you will have to approximate the missing values.
I suggest you read some theory on the topic of 'handling missing values' in statistics for more details on how to treat such situations. There are some models which allow for missing values as well.
https://en.wikipedia.org/wiki/Missing_data
A: As always, it depends. Most common models can't handle NA values in the inputs, but you can substitute mean or median values from the training set for missing inputs. If missing predictors are of low importance, predictions could be good enough. Anyway, first thing to try is to replace missing variables with mean values from the training set and benchmark your model.
