0
$\begingroup$

I am trying to find out if I can predict the result of esports games (Win/Loss) based on 8 independent variables. I have 2 categorical variables, one with 25 different variations and one with 5. The other 6 are all numerical. I will have at least 200 samples to begin with.

While I am sure there are many other variables that cannot be easily measured (mental state of player, focus levels, etc.) I am mainly hoping to find an indicator as to which of the 9 independent variables have a significant effect over the outcome of the game.

Any suggestions on how to gain meaningful insights from this data would be appreciated!

$\endgroup$
2
  • 3
    $\begingroup$ 200 data points is very little for the number of predictors you have. My first suggestion would be to either collect far more data, or to pare down the number of predictors drastically, based on reasonable theory and domain knowledge. $\endgroup$ Commented Dec 5, 2021 at 9:10
  • 1
    $\begingroup$ lasso? elastic-net? ridge-regression? Sometimes combined pipelines are even used (e.g. lasso-then-ordinary-glm, or lasso-then-lasso); some discussion: stats.stackexchange.com/questions/184019/… $\endgroup$
    – Sycorax
    Commented Dec 6, 2021 at 19:16

1 Answer 1

-2
$\begingroup$

I would do the following:

  1. Pick a logistic regression
  2. Run your model and return the coefficients for each feature
  3. Transform the coefficients using: exp(beta) = transformed coefficient value (you need to do this because you have a underlying logit assumption)
  4. Sort your transformed coefficients
  5. If you have not normalized your features before, then you need to multiply the coefficient with its standard deviation
  6. Now to get comparable results for the different classes you would need to normalize the coefficients (or coefficients * std. dev.) by dividing by the class priors (so by the share of the classes--> by .5 if you have two equally big classes). This gives you a table of how important the features are in relation to the different classes you have in your data set.

The next steps can be done if you also want to try to optimize your model performance: 7) Remove all features with a pvalue > .1 8) This is optional and might not always be a good idea, but you could: From significant features remove least important features step by step and observe impact on your prediction accuracy (better to use something like ROC AUC) 9) You want as few features as possible with the best possible performance 10) To get features importance for your reduced set of features go through step (2) to (6)

$\endgroup$
4
  • 4
    $\begingroup$ Isn't that stepwise regression with all its downsides in terms of overfitting? $\endgroup$
    – Bernhard
    Commented Dec 6, 2021 at 19:24
  • 3
    $\begingroup$ In most cases this would be a bad idea. $\endgroup$
    – Tim
    Commented Dec 6, 2021 at 19:30
  • $\begingroup$ Why would that be a bad idea? Explain further please? Because of the algorithm? Because of looking at the p-values of the logistic regression for the features? $\endgroup$
    – janrth
    Commented Dec 7, 2021 at 11:53
  • $\begingroup$ @Bernhard: The first 5 steps would be just applying a logistic regression using statistical modelling. I have applied step-wise regression way long back, but can not remember at the moment how it deals with pvalues? Does it remove features that are significant also? Of course that kind of greedy algorithm does not include all possible combinations of features, but often enough such a greedy way brings you close to some optimal solution, while being less time consuming than trying all possible combinations. $\endgroup$
    – janrth
    Commented Dec 7, 2021 at 11:56

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.