I'm creating a system to evaluate a risk level that grows as it approaches in time to the crisis event. This risk level ranges from 0 to 100, it's a self made index, totally arbitrary. I have a matrix containing features (X) for each time window. Is there any method to obtain the best model for the values of Y? I mean, knowing how Y should increase (linear, exponential, gaussian) according to the variables I have.

  • 4
    $\begingroup$ Why not use the objective, non-arbitrary measure of "time to crisis" as your Y value? Presumably you have a training dataset with that information, why replace that actual data with an uninformative mapping to a new scale? $\endgroup$ Feb 21, 2018 at 20:14
  • $\begingroup$ How many instances do you have in your dataset? How many features do you have? $\endgroup$
    – JahKnows
    May 23, 2018 at 2:18
  • $\begingroup$ Can you describe what your time windows are? Do you have multiple timesteps of features between crisis events? If so you can predict time to next crisis event and then transform the output to the desired scale. $\endgroup$
    – Imran
    Aug 21, 2018 at 1:10

3 Answers 3


it's a self made index, totally arbitrary

Therefore how it should increase is totally arbitrary too. I think the best answer to your question is that you need to think about the behavior you want to see out of your Y variable, and then write an algorithm that exhibits that behavior.

Do you want the value to suddenly explode as you reach the crisis event? use an exponential. Do you want to gradually approach larger values? Use a linear model. Do you want a function that gets larger until you reach the crisis event and then slowly dissipates? Use a gaussian.


You might not want to model your data with a standard regression. It could be more useful to frame it as survival analysis.


First, you need to make a model to predict the crisis. Second, you need to output be a probability of crisis instead of zero and one.

There are two kinds of algorithms (dependent on the kind of output it creates):

Class output : Algorithms like SVM and KNN create a class output. For instance, in a binary classification problem, the outputs will be either 0 or 1. However, today we have algorithms which can convert these class outputs to probability. But these algorithms are not well accepted by the statistics community.

Probability output : Algorithms like Logistic Regression, Random Forest, Gradient Boosting, Adaboost etc. give probability outputs. Converting probability outputs to class output is just a matter of creating a threshold probability.

So, choose an appropriate algorithm, and then the shape of output can be related to your policy. If you want a realistic, it should be linear so don't transform it. But if you want to be careful then use exponential transform.

Another way to be more precise is using the cost of a crisis and investigating in modeling. In this way just use 0,1 to decide to investigate or act as normal.

I suggest you use a combinational model.


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.