Structuring a Regression Model for NCAA Basketball Spreads/Totals I have a basic linear regression model that predicts the spread and total points of NCAA college basketball games. My inputs include various efficiency metrics about each team playing each other. A snippet of the data I am working with looks like:
Team_1 Team_2  Off_Eff_T1 Def_Eff_T1 Pace_T1 Off_Eff_T2 Def_Eff_T2 Pace_T2 Line Over_Under
UCLA   Michigan    116.9    95.2        64.2       118.9      88.7    66.8    6.5    135.5

These are my model coefficients:
adjO_T1 = offensive efficiency for Team 1 (UCLA), adjD_T2 = defensive efficiency for Team 2, etc.
(Intercept)  -5.39321
adjO_T1       0.65668
adjD_T1      -0.67104
adjT_T1       0.01819
Luck_T1      -2.79183
oppO_T1       0.16446
oppD_T1      -0.20572
adjO_T2      -0.66651
adjD_T2       0.66858
adjT_T2       0.09720
Luck_T2       0.30050
oppO_T2      -0.12808
oppD_T2       0.18562

As can be seen, I have efficiency metrics for both teams playing each other. As I have trained my model, the coefficients between &quot;Team 1&quot; and &quot;Team 2&quot; are obviously different. T_1 is the home team and T_2 is the away team. But if I were to switch these (enter T_2 as the home team), the prediction of the spread/total would be drastically different just due to the different model coefficients. Is there a way I can get around this? Aka, the prediction would be the same regardless of what team was entered as home or away. In the example above, if UCLA is T_1 it predicts they should be 2.5 point underdogs. But if Michigan is T_1, they are predicted to be 8 point favorites.
However, Home or Away is not an input to my model so I feel that the predictions should be the same. If someone could provide better suggestions as to how I could structure my data or if I am going about this the right way, that would be a huge help.
I think a natural approach would be to constrain the coefficient of adjO_T2 to be the negation of the coefficient of adjO_T1, the coefficient for adjD_T2 to be the negation of the coefficient for adjD_t1, etc.  Then, you could learn a logistic regression model subject to that constraint.
This could be implemented in practice by having only the coefficients of adjO_T1, adjD_T1, etc. be model parameters; the coefficients for adjO_T2, adjD_T2, etc., are not additional parameters, but are derived from the coefficients of adjO_T1, adjD_T1, etc.  You can write down a loss function, using the logistic loss, for the loss of any particular set of parameters, and then use optimization to find the parameters that minimize the loss on the training set.
Related: see the Bradley-Terry model.  The above is basically equivalent to using the Bradley-Terry model with exponential score function $p_i = e^{\beta_i}$ where here $\beta_i$ is a linear combination of the metrics for that team, and your goal is to learn the coefficients in that linear combination.  Then $\beta_i$ or $p_i$ represent the &quot;strength&quot; of team $i$, and the Bradley-Terry model says that the probability that team 1 beats team 2 is given by $p_1/(p_1+p_2)$, i.e., it is a function of their relative strengths.