Quasi-linearity in deep learning regression problems (sports betting)












0












$begingroup$


I’m attempting to build a sports betting model that aims to predict final scores for games. I’ve had some promising early results for US college football just by using linear regression to form team rankings where each team’s coefficient represents how much it would win or lose by against an average team.



With football specifically, but perhaps all major sports, I think outcomes are very dependent on individual matchups, i.e., the specific strengths and weaknesses of one team versus the strengths and weaknesses of another team as teams will try to exploit relative weaknesses of their opponents.



Here’s a hypothetical set of matchups between the offense of one football team, Team A, and the defense of another team, Team B.



Team A Offensive Ratings:
Passing: +7
Rushing: -3

Team B Defensive Ratings:
Passing: -3
Rushing: +7


What this means is that Team A’s passing offense contributes an average of 7 points more to its final score than an average team, and its rushing offense contributes 3 points less than an average team. In total, assuming that passing and rushing are the only two ways to score, Team A scores 4 more points per game than a hypothetical average team. This same thinking would apply to defenses (i.e., the defensive rating also measures how a team’s defense contributes to its average margin of victory or loss). In practice, it’s not as simple as looking at the nominal statistical outputs for each team since different teams play different levels of competition, but that’s a somewhat separate topic.



With the example above, it first appears that Team A’s offense is even with Team B’s defense because both are 4 points better than average, but that’s probably an oversimplification. Given that Team A has a relative advantage in passing and a relative disadvantage in rushing, we can expect Team A to pass more than it rushes and perhaps pass more than it usually does due to Team B’s relative weakness in pass defense and relative strength in rushing defense. The fact that teams and coaches will be at least somewhat rational in their decision making should, in theory, lead to some degree of non-linearity in final scores based on specific strength profiles of each team.



I’m just getting started with data science and have to admit that I’m yet to code a neural network (although I’ve read a lot about them). This is fundamentally a regression problem, but most of what I’ve seen indicates that using neural nets for (linear) regression is largely done for efficiency purposes for very large datasets, which is not the case here.



Seemingly, I can create whatever activation functions I want, even with different functions within the same layers as long as I can find their derivatives. Generally, I think the activation functions should respect linearity regarding the net ratings difference for each stat component, but the network needs to account for any non-linearities that exist as result of interactions between stats.



I realize this is very open ended. I could design a large number of ad hoc activation functions and see what works and what doesn’t, but I’m wondering if there’s a more generic way to approach the problem.



Any suggestions are appreciated.










share|improve this question











$endgroup$

















    0












    $begingroup$


    I’m attempting to build a sports betting model that aims to predict final scores for games. I’ve had some promising early results for US college football just by using linear regression to form team rankings where each team’s coefficient represents how much it would win or lose by against an average team.



    With football specifically, but perhaps all major sports, I think outcomes are very dependent on individual matchups, i.e., the specific strengths and weaknesses of one team versus the strengths and weaknesses of another team as teams will try to exploit relative weaknesses of their opponents.



    Here’s a hypothetical set of matchups between the offense of one football team, Team A, and the defense of another team, Team B.



    Team A Offensive Ratings:
    Passing: +7
    Rushing: -3

    Team B Defensive Ratings:
    Passing: -3
    Rushing: +7


    What this means is that Team A’s passing offense contributes an average of 7 points more to its final score than an average team, and its rushing offense contributes 3 points less than an average team. In total, assuming that passing and rushing are the only two ways to score, Team A scores 4 more points per game than a hypothetical average team. This same thinking would apply to defenses (i.e., the defensive rating also measures how a team’s defense contributes to its average margin of victory or loss). In practice, it’s not as simple as looking at the nominal statistical outputs for each team since different teams play different levels of competition, but that’s a somewhat separate topic.



    With the example above, it first appears that Team A’s offense is even with Team B’s defense because both are 4 points better than average, but that’s probably an oversimplification. Given that Team A has a relative advantage in passing and a relative disadvantage in rushing, we can expect Team A to pass more than it rushes and perhaps pass more than it usually does due to Team B’s relative weakness in pass defense and relative strength in rushing defense. The fact that teams and coaches will be at least somewhat rational in their decision making should, in theory, lead to some degree of non-linearity in final scores based on specific strength profiles of each team.



    I’m just getting started with data science and have to admit that I’m yet to code a neural network (although I’ve read a lot about them). This is fundamentally a regression problem, but most of what I’ve seen indicates that using neural nets for (linear) regression is largely done for efficiency purposes for very large datasets, which is not the case here.



    Seemingly, I can create whatever activation functions I want, even with different functions within the same layers as long as I can find their derivatives. Generally, I think the activation functions should respect linearity regarding the net ratings difference for each stat component, but the network needs to account for any non-linearities that exist as result of interactions between stats.



    I realize this is very open ended. I could design a large number of ad hoc activation functions and see what works and what doesn’t, but I’m wondering if there’s a more generic way to approach the problem.



    Any suggestions are appreciated.










    share|improve this question











    $endgroup$















      0












      0








      0





      $begingroup$


      I’m attempting to build a sports betting model that aims to predict final scores for games. I’ve had some promising early results for US college football just by using linear regression to form team rankings where each team’s coefficient represents how much it would win or lose by against an average team.



      With football specifically, but perhaps all major sports, I think outcomes are very dependent on individual matchups, i.e., the specific strengths and weaknesses of one team versus the strengths and weaknesses of another team as teams will try to exploit relative weaknesses of their opponents.



      Here’s a hypothetical set of matchups between the offense of one football team, Team A, and the defense of another team, Team B.



      Team A Offensive Ratings:
      Passing: +7
      Rushing: -3

      Team B Defensive Ratings:
      Passing: -3
      Rushing: +7


      What this means is that Team A’s passing offense contributes an average of 7 points more to its final score than an average team, and its rushing offense contributes 3 points less than an average team. In total, assuming that passing and rushing are the only two ways to score, Team A scores 4 more points per game than a hypothetical average team. This same thinking would apply to defenses (i.e., the defensive rating also measures how a team’s defense contributes to its average margin of victory or loss). In practice, it’s not as simple as looking at the nominal statistical outputs for each team since different teams play different levels of competition, but that’s a somewhat separate topic.



      With the example above, it first appears that Team A’s offense is even with Team B’s defense because both are 4 points better than average, but that’s probably an oversimplification. Given that Team A has a relative advantage in passing and a relative disadvantage in rushing, we can expect Team A to pass more than it rushes and perhaps pass more than it usually does due to Team B’s relative weakness in pass defense and relative strength in rushing defense. The fact that teams and coaches will be at least somewhat rational in their decision making should, in theory, lead to some degree of non-linearity in final scores based on specific strength profiles of each team.



      I’m just getting started with data science and have to admit that I’m yet to code a neural network (although I’ve read a lot about them). This is fundamentally a regression problem, but most of what I’ve seen indicates that using neural nets for (linear) regression is largely done for efficiency purposes for very large datasets, which is not the case here.



      Seemingly, I can create whatever activation functions I want, even with different functions within the same layers as long as I can find their derivatives. Generally, I think the activation functions should respect linearity regarding the net ratings difference for each stat component, but the network needs to account for any non-linearities that exist as result of interactions between stats.



      I realize this is very open ended. I could design a large number of ad hoc activation functions and see what works and what doesn’t, but I’m wondering if there’s a more generic way to approach the problem.



      Any suggestions are appreciated.










      share|improve this question











      $endgroup$




      I’m attempting to build a sports betting model that aims to predict final scores for games. I’ve had some promising early results for US college football just by using linear regression to form team rankings where each team’s coefficient represents how much it would win or lose by against an average team.



      With football specifically, but perhaps all major sports, I think outcomes are very dependent on individual matchups, i.e., the specific strengths and weaknesses of one team versus the strengths and weaknesses of another team as teams will try to exploit relative weaknesses of their opponents.



      Here’s a hypothetical set of matchups between the offense of one football team, Team A, and the defense of another team, Team B.



      Team A Offensive Ratings:
      Passing: +7
      Rushing: -3

      Team B Defensive Ratings:
      Passing: -3
      Rushing: +7


      What this means is that Team A’s passing offense contributes an average of 7 points more to its final score than an average team, and its rushing offense contributes 3 points less than an average team. In total, assuming that passing and rushing are the only two ways to score, Team A scores 4 more points per game than a hypothetical average team. This same thinking would apply to defenses (i.e., the defensive rating also measures how a team’s defense contributes to its average margin of victory or loss). In practice, it’s not as simple as looking at the nominal statistical outputs for each team since different teams play different levels of competition, but that’s a somewhat separate topic.



      With the example above, it first appears that Team A’s offense is even with Team B’s defense because both are 4 points better than average, but that’s probably an oversimplification. Given that Team A has a relative advantage in passing and a relative disadvantage in rushing, we can expect Team A to pass more than it rushes and perhaps pass more than it usually does due to Team B’s relative weakness in pass defense and relative strength in rushing defense. The fact that teams and coaches will be at least somewhat rational in their decision making should, in theory, lead to some degree of non-linearity in final scores based on specific strength profiles of each team.



      I’m just getting started with data science and have to admit that I’m yet to code a neural network (although I’ve read a lot about them). This is fundamentally a regression problem, but most of what I’ve seen indicates that using neural nets for (linear) regression is largely done for efficiency purposes for very large datasets, which is not the case here.



      Seemingly, I can create whatever activation functions I want, even with different functions within the same layers as long as I can find their derivatives. Generally, I think the activation functions should respect linearity regarding the net ratings difference for each stat component, but the network needs to account for any non-linearities that exist as result of interactions between stats.



      I realize this is very open ended. I could design a large number of ad hoc activation functions and see what works and what doesn’t, but I’m wondering if there’s a more generic way to approach the problem.



      Any suggestions are appreciated.







      neural-network deep-learning linear-regression activation-function






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 27 mins ago







      SuperCodeBrah

















      asked 13 hours ago









      SuperCodeBrahSuperCodeBrah

      1084




      1084






















          1 Answer
          1






          active

          oldest

          votes


















          0












          $begingroup$

          There are several principles in Data Science and Statistics which you will have to know before undertaking a project of any kind.



          One of them is what is called parsimony principle (you could know him with other words) but it says that if you have two models with similar results, the simpler, with less parameters model should be chosen.



          As you must have read, the neural networks have A LOT of parameters which of course might allow to learn your database (not generalize your model to not-seen-before data).



          My recommendation is you use linear regression if you have a linear problem.



          The neural networks can represent a linear problem too: Can neural network represent a relation that is a derivative?



          But, if you want to do neural networks anyway, I will have to tell you that they work by trial and error. There are rules and suggested architectures, but you will have to find the best by yourself NN Architectures






          share|improve this answer









          $endgroup$














            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "557"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f51014%2fquasi-linearity-in-deep-learning-regression-problems-sports-betting%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0












            $begingroup$

            There are several principles in Data Science and Statistics which you will have to know before undertaking a project of any kind.



            One of them is what is called parsimony principle (you could know him with other words) but it says that if you have two models with similar results, the simpler, with less parameters model should be chosen.



            As you must have read, the neural networks have A LOT of parameters which of course might allow to learn your database (not generalize your model to not-seen-before data).



            My recommendation is you use linear regression if you have a linear problem.



            The neural networks can represent a linear problem too: Can neural network represent a relation that is a derivative?



            But, if you want to do neural networks anyway, I will have to tell you that they work by trial and error. There are rules and suggested architectures, but you will have to find the best by yourself NN Architectures






            share|improve this answer









            $endgroup$


















              0












              $begingroup$

              There are several principles in Data Science and Statistics which you will have to know before undertaking a project of any kind.



              One of them is what is called parsimony principle (you could know him with other words) but it says that if you have two models with similar results, the simpler, with less parameters model should be chosen.



              As you must have read, the neural networks have A LOT of parameters which of course might allow to learn your database (not generalize your model to not-seen-before data).



              My recommendation is you use linear regression if you have a linear problem.



              The neural networks can represent a linear problem too: Can neural network represent a relation that is a derivative?



              But, if you want to do neural networks anyway, I will have to tell you that they work by trial and error. There are rules and suggested architectures, but you will have to find the best by yourself NN Architectures






              share|improve this answer









              $endgroup$
















                0












                0








                0





                $begingroup$

                There are several principles in Data Science and Statistics which you will have to know before undertaking a project of any kind.



                One of them is what is called parsimony principle (you could know him with other words) but it says that if you have two models with similar results, the simpler, with less parameters model should be chosen.



                As you must have read, the neural networks have A LOT of parameters which of course might allow to learn your database (not generalize your model to not-seen-before data).



                My recommendation is you use linear regression if you have a linear problem.



                The neural networks can represent a linear problem too: Can neural network represent a relation that is a derivative?



                But, if you want to do neural networks anyway, I will have to tell you that they work by trial and error. There are rules and suggested architectures, but you will have to find the best by yourself NN Architectures






                share|improve this answer









                $endgroup$



                There are several principles in Data Science and Statistics which you will have to know before undertaking a project of any kind.



                One of them is what is called parsimony principle (you could know him with other words) but it says that if you have two models with similar results, the simpler, with less parameters model should be chosen.



                As you must have read, the neural networks have A LOT of parameters which of course might allow to learn your database (not generalize your model to not-seen-before data).



                My recommendation is you use linear regression if you have a linear problem.



                The neural networks can represent a linear problem too: Can neural network represent a relation that is a derivative?



                But, if you want to do neural networks anyway, I will have to tell you that they work by trial and error. There are rules and suggested architectures, but you will have to find the best by yourself NN Architectures







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 7 hours ago









                Juan Esteban de la CalleJuan Esteban de la Calle

                76422




                76422






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Data Science Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    Use MathJax to format equations. MathJax reference.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f51014%2fquasi-linearity-in-deep-learning-regression-problems-sports-betting%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Callistus I

                    Tabula Rosettana

                    How to label and detect the document text images