Today I worked on getting the first higher-order delta, Δi,1. This measure is generated by correcting each score differential that goes into computing Δi,0--the ASD for i--by a correction factor equivalent to Δj,0 with the match between j and i excluded. The code for this can be found on the project's __GitHub__ page.

The way I've been laying out the code is as a series of interconnected functions that each perform one step in the algorithm for computing the ASD. Some steps compute the sums that constitute each order of ASD, while others update the "matrix" G (actually implemented as a dictionary of lists and not actually a matrix), which holds the set of games needed for the next ASD calculation. I calculate the correction factors at each level by feeding the adjusted G back into the lower level ASD functions.

Two additional things to report:

I learned that Python functions don't pass values like functions in C++ (the first language I learned to code in), which makes me kind of upset and made things a bit more complicated for me.

People who've thought a bit about real-world applications of ASD may have realized that my calculations only work for sets of games G where each team plays each other team

__at most once__. I realize that this is the case, and I'm simply putting off that issue for now so I can keep things simple until the basics are figured out. My (hopefully not too naive) idea is that multiple games between two teams can be factored in by adding an additional dimension to G. Instead of each entry in G having the form g = (i, j, δi,j), it will have the form g = (i, j, k, δi,j,k) where k is 0 for the first match between these teams 1 for the second ...

## 留言