1
$\begingroup$

I am trying to predict sales quantity based on attributes of the item.Sales are aggregated by week wise and prediction is also done by week wise.I am having large number records with zero sales quantity than compared to positive sales(for 20 positive sales 250 zero sales records are there).I want to increase my training data by adding small values to sales quantity and combining with total records. At present I am using RANDOM FOREST and NEURAL NETWORK .I am not getting any good results Please correct me if anything is not considerable.

Can anybody suggest way to increase my training data

$\endgroup$
4
  • $\begingroup$ I suspect that you have a problem of unbalance data, could you provide more information about your results obtained by RF and NN? $\endgroup$
    – Metariat
    Aug 7, 2017 at 12:37
  • $\begingroup$ This sounds like a very bad idea. It's essentially making up data. Maybe you could aggregate by month, or combine items. $\endgroup$
    – Peter Flom
    Aug 7, 2017 at 12:41
  • $\begingroup$ Thank you @Metariat If you give me your mail address .I will send the data and results file.So that you can have a look at it or please tell me any other possible way to share. $\endgroup$ Aug 7, 2017 at 13:23
  • $\begingroup$ If your data is not susceptible to time-series limitations (see @Digio answer below) then perhaps you can try using something like SMOTE. $\endgroup$
    – Krrr
    Aug 7, 2017 at 14:19

2 Answers 2

0
$\begingroup$

If your sales are aggregated by week then you data is most likely highly autocorrelated. You can test whether autocorrelation in your data is significant that with a simple autocorrelogram or a Ljung-Box test.

Cross-sectional methods such as standard neural networks and random forest cannot handle a high degree of autocorrelation. You will need to apply a time series approach such as ARMA models, exponential smoothing, autoregressive neural networks, or something equivalent.

$\endgroup$
1
  • $\begingroup$ Thank you @Digio I did aggregation of my sales by item (sum of sales happened in the complete week for same item). $\endgroup$ Aug 7, 2017 at 13:18
0
$\begingroup$

at first I don't quite understand the meaning of "increase my training data by adding small values to sales quantity", I guess you mean adding items that are barely sold to the positive sales category. I think that if your goal is to find a robust model to distinguish items that can sell well, you should not mix in not well sold items to the postive category.

A solution to get better accuracy is to resolve the issue of unbalanced data and probably try some other models/ with more aggressive parameter tuning(searching). I would start with resampling(repeating) the positive sales samples so that its case number is roughly the same as the negative sales sample number. This strategy works surprisingly well esp if you are using boosting in building the decision tree.

$\endgroup$
3
  • $\begingroup$ Thank you @Lily Long appending same only positive sales to original training data.Then I will get more data for positive sales.Is this you are trying to say? $\endgroup$ Aug 8, 2017 at 10:57
  • $\begingroup$ Yes. It will help your training process "see" more positive cases. $\endgroup$
    – Lily Long
    Aug 8, 2017 at 11:55
  • $\begingroup$ For the same thing I just want give records with slight variation so that there will be no such tremendous change right I just wanted to follow Micheal Neilsen way of increasing image data artificially neuralnetworksanddeeplearning.com/chap3.html $\endgroup$ Aug 8, 2017 at 12:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.