View Single Post
  #5   Spotlight this post!  
Unread 09-03-2015, 22:07
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,071
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: OPR Breakdown Calculator

Quote:
Originally Posted by jlmcmchl View Post
Total OPR should be calculated via the match results, without modification, with Cholesky Decomposition.
The only problem I see with that is DQs. If a team is DQ'd and doesn't play, does it make sense to include the 2-team alliance's score in the DQ'd team's OPR?

Quote:
The component OPRs, however, do not take surrogate/dqs into account. I propose that, for matches with surrogate/dq'd teams, those teams are not credited for that match: for their row in matrix A, none of the columns are incremented. However, for the non-surrogate/dq teams, the columns representing their alliance partners are incremented. So, matrix A will be asymmetric, which would require a different way to solve the system.
Doing what you suggested above does not cause the matrix for the normal equations to be asymmetric. It will still be square, symmetric, positive definite. It doesn't require a different way to solve the system.

I use the following nomenclature to avoid confusion: [A] is the alliances design matrix. It is a binary matrix (each element either 1 or 0). Its dimensions are 2MxT, where M is the number of matches (therefore 2M is the number of alliances) and T is the number of teams.

[b] is the column vector of alliance scores. Its dimensions are 2Mx1. Its elements come directly from the alliance scores in the MatchResults table.

[A][x]≈[b] is an overdetermined system of equations: there is no exact solution for [x].

To find the least squares solution for [A][x]≈[b] you can form and solve the normal equations.

Set [N]=[A']*[A] and [d]=[A']*[b]

Then [N][x]=[d] are the normal equations.

[N] will be square, symmetric, positive definite.

[N][x]=[d] has an exact solution, and that solution is the least-squares solution to [A][x]≈[b].

I took the MatchResults data from the ININD event, formed the design matrix [A], manually removed Red Team1 (5010) from the first match, used that modified [A] to compute N=[A']*[A], and tested [N] for symmetry. It was symmetric. I successfully used [N][x]=[d] to compute [x].

So bottom line, mathematically what you proposed creates no problem for the linear algebra.


[EDIT] BTW, nice work on that Python script. It worked for me straight out of the box :-)




Last edited by Ether : 10-03-2015 at 00:09.
Reply With Quote