Создайте столбцы, которые отслеживают победы предыдущих противников - PullRequest
0 голосов
/ 12 января 2019

(набор данных размещен в конце) https://github.com/timoudas/NHL-RatingSystem/blob/master/NHL_Stats Код для воссоздания набора данных

Как создать две колонки, которые отслеживают процент выигрыша у противников?

(accumulated wins/accumulated games play) последовательно по ходу игр.

Пример: команда А играет команду Б

Team A has previously played Team C and Team D
Team B has previously plaved Team E and Team F

Итак, набор данных выглядит так:

HomeTeam    AwayTeam    HomeWin   AwayWin   TotalGamesPlayedByHomeTeam TotalGamesPlayedByAwayTeam   TotalWinsHomeTeam    TotalWinsAwayTeam
  Team A      Team C       0         1                    0                 0                                0                      0
  Team D      Team A       0         1                    0                 1                                0                      0
  Team B      Team E       1         0                    0                 0                                0                      0
  Team F      Team B       0         1                    0                 1                                0                      1 
  Team A      Team B       1         0                    2                 2                                1                      2  

Таким образом, в набор данных добавляются два столбца, HT_OOR(HomeTeam's Opponents Opponents Record) и AT_OOR(AwayTeam's Opponents Opponents Record). HT_OOR отслеживает предыдущих противников команды AWAY и AT_OOR отслеживает предыдущих противников команды HOME.

Таким образом, в моем примере для игры между командой A и командой B HT_OOR и AT_OOR будут выглядеть следующим образом:

HT_OOR= (Team_E_TotalWins + Team_F_TotalWins) / (Team_E_TotalGamesPlayed+Team_F_TotalGamesPlayed)

AT_OOR= (Team_C_TotalWins + Team_D_TotalWins) / (Team_C_TotalGamesPlayed+Team_D_TotalGamesPlayed)

Важным моментом при использовании этого метода всегда является использование ближайших статистических показателей, когда они последовательно подсчитываются.

Другим методом было бы сгруппировать Home_Win и Away_Win и сгруппировать Home_Team и Away team и перебрать весь список, считая появления каждой команды отдельно и соответствующие потери.

Результат для строки 5 будет следующим:

HT_OOR    AT_OOR
  0        0.5

Поскольку каждая строка представляет собой уникальную игру с двумя командами, столбцы отслеживания (HT_OOR, AT_OOR) должны относиться к HomeTeam и AwayTeam в этой строке.

Как вы определяете эти условия, чтобы оно работало, возможно ли это? Если есть какая-либо проблема, или если мне что-то непонятно, скажите или спросите.

Dataset

Снимок экрана набора данных, переменные:

"a_"=Away Team, "h_"=Home Team, 

HTWins= Total Previous wins HomeTeam

ATWins=Total Previous wins AwayTeam

a_games=Total games played by away team

h_games=Total games played by home team

h_won = Home Team Win

Dataset

    h_WinPerc   a_WinPerc   h_teamID    a_teamID    h_team            a_team                 HTWins ATWins  h_Won   a_Won   a_games h_games game_id
      0.0         0.0         52          10     Winnipeg Jets          Toronto Maple Leafs     0      0       0       1       1       1  2017020001
      0.0         0.0          5          19    Pittsburgh Penguins    St.Louis Blues           0      0       0       1       1       1    2017020002
      0.0         0.0         22          20    Edmonton Oilers Calgary  Flames                 0      0       1       0       1       1    2017020003
      0.0         0.0         28           4    San Jose Sharks         Philadelphia Flyers     0      0       0       1       1       1    2017020004
      0.0         0.0          6          18    Boston Bruins           Nashville Predators     0      0       1       0       1       1    2017020005
      0.0         0.0          7           8    Buffalo Sabres          Montréal Canadiens     0      0       1       0       1       1    2017020006
      0.0         0.0          3          21    New York Rangers        Colorado Avalanche      0      0       0       1       1       1    2017020007
      0.0         0.0          9          15    Ottawa Senators         Washington Capitals     0      0       1       0       1       1    2017020008
      0.0         0.0         17          30    Detroit Red Wings       Minnesota Wild          0      0       1       0       1       1    2017020009
      0.0         0.0         16           5    Chicago Blackhawks      Pittsburgh Penguins     0      0       1       0       1       2    2017020010
      0.0         0.0         24          53    Anaheim Ducks           Arizona Coyotes         0      0       1       0       1       1    2017020011
      0.0         1.0         26           4    Los Angeles Kings       Philadelphia Flyers     0      1       1       0       1       2    2017020012

Ожидаемый результат следующий.

HT_OOR(HomeTeam's Opponents Opponents Record): (accumulated wins/accumulated games play)

AT_OOR(AwayTeam's Opponents Opponents Record): (accumulated wins/accumulated games play)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...