public static void GetAllStdDevForEvent(int eventTyepId, string eventName, int competitionId) { var l = new List <MainCalculator.TeamStdDevAndAverage>(); using (var db = new sakilaEntities4()) { var teams = db.team.Where(x => x.TeamTypeID == 1 && x.TeamName != "NA").ToList(); foreach (var team in teams) { var allValues = db.matchevent.Where( x => x.EventTypeID == eventTyepId && x.TeamID == team.TeamID && x.competitionmatch.CompetitionID == competitionId && x.eventvalue != null) .Select(x => x.eventvalue).ToList(); if (!allValues.Any()) { continue; } var avg = (double)allValues.Average(); var result = MainCalculator.CalculateStdDev(allValues.Select(x => x.Value).ToList()); l.Add(new MainCalculator.TeamStdDevAndAverage { StdDev = result, TeamName = team.TeamName, Average = avg }); } } var path = @"C:\Users\user\Desktop\DataProjects\AverageAndStdDev" + eventName + ".tsv"; File.WriteAllLines(path, l.OrderByDescending(x => x.Average).Select(x => x.TeamName + "\t" + Math.Round(x.Average, 2) + "\t" + Math.Round(x.StdDev, 2))); }
public static MainCalculator.TeamStdDevAndAverage GetGoalsStdDevForTeam(team team) { var allValues = GetTeamGoals(team.TeamID); var avg = (double)allValues.Average(); var result = MainCalculator.CalculateStdDev(allValues.ToList()); return(new MainCalculator.TeamStdDevAndAverage { StdDev = result, TeamName = team.TeamName, Average = avg }); }
public static MainCalculator.TeamStdDevAndAverage GetGoalsConcededAverageAtAway(List <competitionmatch> relevantMatches, int teamId, int competitionId, int matchesToTake = 50) { //var relevantMatches = MainCalculator.GetTeamLatesMatches(db, teamId, competitionId, matchesToTake); var awayGoalsValues = relevantMatches.Where(x => x.AwayTeamID == teamId).Select(x => x.HomeGoals).ToList(); var avg = Math.Round(awayGoalsValues.Average(), 2); var result = Math.Round(MainCalculator.CalculateStdDev(awayGoalsValues.ToList()), 2); return(new MainCalculator.TeamStdDevAndAverage { StdDev = result, Average = avg }); }
public static MainCalculator.TeamStdDevAndAverage GetGoalsScoringAverageAtAway(List <competitionmatch> allMatches, int teamId, int competitionId, int matchesToTake = 50) { var relevantMatches = allMatches.Where(x => x.AwayTeamID == teamId).ToList(); var homeGoalsValues = relevantMatches.Where(x => x.HomeTeamID == teamId).Select(x => x.HomeGoals).ToList(); var awayGoalsValues = relevantMatches.Where(x => x.AwayTeamID == teamId).Select(x => x.AwayGoals).ToList(); var allValues = homeGoalsValues.Concat(awayGoalsValues).ToList(); var avg = Math.Round(allValues.Average(), 2); var result = Math.Round(MainCalculator.CalculateStdDev(allValues.ToList()), 2); return(new MainCalculator.TeamStdDevAndAverage { StdDev = result, Average = avg }); }
public static double GetStdValueForTeamInEvent(sakilaEntities4 db, int teamId, int competitionId, int eventTypeId, int gamesToTake = 50) { var values = db.matchevent.Where( x => x.EventTypeID == eventTypeId && x.TeamID == teamId && x.competitionmatch.CompetitionID == competitionId && x.eventvalue != null) .OrderByDescending(x => x.competitionmatch.MatchDate) .Take(gamesToTake) .Select(x => (int)x.eventvalue) .ToList(); return(MainCalculator.CalculateStdDev(values)); }
public static MainCalculator.TeamStdDevAndAverage GetGoalsConcededAverage(List <competitionmatch> relevantMatches, int teamId, int competitionId, int matchesToTake = 50, DateTime?endDate = null) { if (!endDate.HasValue) { endDate = DateTime.Now; } relevantMatches = relevantMatches.Take(matchesToTake).ToList(); var homeGoalsValues = relevantMatches.Where(x => x.HomeTeamID == teamId).Select(x => x.AwayGoals).ToList(); var awayGoalsValues = relevantMatches.Where(x => x.AwayTeamID == teamId).Select(x => x.HomeGoals).ToList(); var allValues = homeGoalsValues.Concat(awayGoalsValues).ToList(); var avg = Math.Round(allValues.Average(), 2); var result = Math.Round(MainCalculator.CalculateStdDev(allValues.ToList()), 2); return(new MainCalculator.TeamStdDevAndAverage { StdDev = result, Average = avg }); }
public static MainCalculator.TeamStdDevAndAverage GetGoalsScoringAverage(sakilaEntities4 db, int teamId, int competitionId, int matchesToTake = 50, DateTime?endDate = null) { if (!endDate.HasValue) { endDate = DateTime.Now; } var relevantMatches = MainCalculator.GetTeamLatesMatches(db, teamId, competitionId, matchesToTake, endDate); var homeGoalsValues = relevantMatches.Where(x => x.HomeTeamID == teamId).Select(x => x.HomeGoals).ToList(); var awayGoalsValues = relevantMatches.Where(x => x.AwayTeamID == teamId).Select(x => x.AwayGoals).ToList(); var allValues = homeGoalsValues.Concat(awayGoalsValues).ToList(); var avg = Math.Round(allValues.Average(), 2); var result = Math.Round(MainCalculator.CalculateStdDev(allValues.ToList()), 2); return(new MainCalculator.TeamStdDevAndAverage { StdDev = result, Average = avg }); }
public static double GetStdEventValuePerTeamMatches(sakilaEntities4 db, int teamId, int competitionId, int eventTypeId, int gamesToTake = 50) { var matchesIds = MainCalculator.GetTeamLatesMatches(db, teamId, competitionId, gamesToTake) .Select(x => x.CompetitionMatchID) .ToList(); var values = db.matchevent.Where( x => x.EventTypeID == eventTypeId && matchesIds.Contains(x.MatchID) && x.competitionmatch.CompetitionID == competitionId && x.eventvalue != null) .OrderByDescending(x => x.competitionmatch.MatchDate) .Take(gamesToTake) .Select(x => (int)x.eventvalue) .ToList(); return(Math.Round(MainCalculator.CalculateStdDev(values), 2)); }