Advertisement
Guest User

Soccer

a guest
May 26th, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.57 KB | None | 0 0
  1. #MODEL DIFINIITION
  2. m3_string <- "model {
  3. for(i in 1:n_games) {
  4.  HomeGoals[i] ~ dpois(lambda_home[Season[i], HomeTeam[i],AwayTeam[i]])
  5.  AwayGoals[i] ~ dpois(lambda_away[Season[i], HomeTeam[i],AwayTeam[i]])
  6. }
  7.  
  8. for(season_i in 1:n_seasons) {
  9.  for(home_i in 1:n_teams) {
  10.    for(away_i in 1:n_teams) {
  11.      lambda_home[season_i, home_i, away_i] <- exp( home_baseline[season_i] + skill[season_i, home_i] - skill[season_i, away_i])
  12.      lambda_away[season_i, home_i, away_i] <- exp( away_baseline[season_i] + skill[season_i, away_i] - skill[season_i, home_i])
  13.    }
  14.  }
  15. }
  16.  
  17. skill[1, 1] <- 0
  18. for(j in 2:n_teams) {
  19.  skill[1, j] ~ dnorm(group_skill, group_tau)
  20. }
  21.  
  22. group_skill ~ dnorm(0, 0.0625)
  23. group_tau <- 1/pow(group_sigma, 2)
  24. group_sigma ~ dunif(0, 3)
  25.  
  26. home_baseline[1] ~ dnorm(0, 0.0625)
  27. away_baseline[1] ~ dnorm(0, 0.0625)
  28.  
  29. for(season_i in 2:n_seasons) {
  30.  skill[season_i, 1] <- 0
  31.  for(j in 2:n_teams) {
  32.    skill[season_i, j] ~ dnorm(skill[season_i - 1, j], season_tau)
  33.  }
  34.  home_baseline[season_i] ~ dnorm(home_baseline[season_i - 1], season_tau)
  35.  away_baseline[season_i] ~ dnorm(away_baseline[season_i - 1], season_tau)
  36. }
  37.  
  38. season_tau <- 1/pow(season_sigma, 2)
  39. season_sigma ~ dunif(0, 3)
  40. }"
  41.  
  42. #initialization
  43. m3 <- jags.model(textConnection(m3_string), data = data_list, n.chains = 3,
  44.     n.adapt = 10000)
  45. #Update burn in
  46. update(m3, 10000)
  47.  
  48. #Draw sample
  49. s3 <- coda.samples(m3, variable.names = c("home_baseline", "away_baseline",
  50.     "skill", "season_sigma", "group_sigma", "group_skill"), n.iter = 40000,
  51.     thin = 8)
  52. ms3 <- as.matrix(s3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement