public static double HomeAdvantage(this BasketballTeam team, double[] stat) { double den = stat.Given(team.AwayGames(), x => x >= 0.5).AverageNonZero(); if (den != 0) { return(stat.Given(team.HomeGames(), x => x >= 0.5).AverageNonZero() / den); } else { return(double.MaxValue); } }
public static double[] RemoveHomeAdvantage(this BasketballTeam team, double[] stat) { return(stat.Multiply(team.HomeGames().Divide(team.HomeAdvantage(stat)).Add(team.AwayGames()))); }