🥳 RAPIDMINER 9.9 IS OUT!!! 🥳

The updates in 9.9 power advanced use cases and offer productivity enhancements for users who prefer to code.

CLICK HERE TO DOWNLOAD

prediction with svm

minesmines Member Posts: 8 Learner I
in Help
Does anyone know how to make a prediction for the next ten days with the svm algorithm in rapidminer?

Answers

  • BalazsBaranyBalazsBarany Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert Posts: 605   Unicorn
    Hi!

    Do you want to make a prediction for each of the next ten days, or just for the tenth day?

    In the first case you would build a loop with ten iterations, filtering your data accordingly. Essentially, you build a data structure where the value of the selected day is the target variable (label), and you make sure to only use data 10 days before that. For example different averages (7 day, 30 day, year ago, ...) to get different aspects of the data. 

    The "tenth day prediction" is just a special case of this without the loop.

    Note: this is what you have to do if you insist on using SVM. There are multiple more or less automatic time series prediction algorithms that do exactly what you want with a lot less effort. 

    Regards,
    Balázs

  • minesmines Member Posts: 8 Learner I
    Hello @BalazsBarany!
    I want to make a prediction for each os the next ten days. Can you explain to me how to create a loop in the rapidminer or if there any information about that ?
    Regards
  • BalazsBaranyBalazsBarany Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert Posts: 605   Unicorn
    Hi,

    if you look at the operators under Utility/Process Control/Loops, you'll see a lot of different ones. 
    For this use case I would use Loop Values. It takes an example set with the nominal values (these would be your dates in a textual representation). The current value is available as a macro inside the loop, so you can easily select the data according to it. 

    Regards,
    Balázs
  • minesmines Member Posts: 8 Learner I
    @BalazsBarany But i should use that after apply a model or should do that in cross validation?
    Thank you.
  • BalazsBaranyBalazsBarany Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert Posts: 605   Unicorn
    Hi,

    filtering the data for building the models happens before you build the model. You then apply the model to today's data.

    E. g. if you want a prediction for the 7th day from now, you would filter out data from the last 6 or 7 days (depending on when you get the value for the current day) and build the model from that, with "today" being the target (label). This model can be applied to the unfiltered data up until today and it gives you the prediction for today + 7 days.

    The point is to throw away data that you can't know yet for your prediction. You know the history and possibly today's value (maybe only in the afternoon, depending on the use case). You don't know tomorrow or the day after tomorrow, but you'd like to predict a future value. So you build the model from what you *can* know at the time of the model application, and you do that by filtering the past data accordingly.

    Regards,

    Balázs
  • minesmines Member Posts: 8 Learner I
    @BalazsBarany thank you for your help. But i use a loop value and i should use the column data (which have all my dates) or choose the column that i want to predict? Because my goal is to make a prediction with svm algorithms and i want to predict de number of cases in a disease for the next 10 days.
    Best regards
Sign In or Register to comment.