|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#21
|
||||
|
||||
|
Re: OPR Formula
Quote:
The "short" answer is, the "formula" for OPR is [A][OPR]~[SCORE] ...where OPR for a given team is one of the N elements of the [OPR] Nx1 column vector approximate solution to the overdetermined system of linear equations shown above. N is the number of teams, M is the number of matches, and [SCORE] is a (2M)x1 column vector of alliance scores for each match in the database being used to do the computation. [A] is a (2M)xN matrix generated from the database1. There are several different methods for finding an approximate solution to an overdetermined system of linear equations1, but for this particular problem using Normal Equations and Cholesky factorization to find the least squares solution is perhaps the most common. Normal Equations solution method: Code:
Multiply both sides of [A][OPR]~[SCORE] by the transpose of [A]: [A]T[A][OPR]=[A]T[SCORE] which can be re-written as [P][OPR]=[S] (see footnote 2 below) ...where [P]=[A]T[A] and [S]=[A]T[SCORE] then use Cholesky factorization (see footnote 3 below) to find the lower triangular matrix [L] such that [L][L]T=[P] to get [L][L]T[OPR]=[S] now substitute [y] for [L]T[OPR] to get [L][y]=[S] and use forward substitution to solve for [y] then, with [y] known, use backward substitution to solve [L]T[OPR]=[y] for [OPR] 1 I can provide the details if anyone's interested 2 The matrix [P] and the vector [S] can be constructed directly from the database, rather than constructing [A] and [SCORES]. In fact, doing so is quicker and requires less memory. I show all the steps in order to make it clear that [OPR] is an approximate solution to the overdetermined data in the database, and that approximate solutions other than least squares are possible. 3 [P]=[A]T[A] will be symmetric positive definite Last edited by Ether : 03-02-2012 at 15:13. |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|