@@ -47,7 +49,7 @@ printf <<"EOF", $params{-3}, $match_stddev;
for tilgang!), og oppdateres
hver hele time. Den er fullstendig uoffisiell, og har ingen innflytelse
på WLoH, men brukes for å estimere vinnersannsynligheter i
- sannsynlighetsberegningen.
+ sannsynlighetsberegningen.
Modellen kan endre seg når som helst når jeg føler for det :-)
Ikke ta ratingen alt for alvorlig, selv om den er basert på
@@ -57,16 +59,16 @@ printf <<"EOF", $params{-3}, $match_stddev;
Modellparametre
For de som vet litt om slikt. Det finnes også en lengre, mer detaljert
- forklaring beregnet på ikke-matematikere.
Rimelighetfunksjon, prior: Normalfordeling med µ=500, σ=%.1f (est.)
Rimelighetfunksjon, per kamp: Normalfordeling med µ=(score1 - score2), σ=%.1f (est.)
Vekting: Inneværende sesong samt de tre siste vektes fullt ut
(likt med prior). Deretter eksponentielt synkende vekting, med
halveringstid på tre sesonger. Spill som er registrert med
- 150-0, 0-150 eller 150-150 ignoreres.
+ 0-0, 150-0, 0-150 eller 150-150 ignoreres.
Divisjonsoversikt
@@ -79,8 +81,23 @@ printf <<"EOF", $params{-3}, $match_stddev;
EOF
-$q = $dbh->prepare('SELECT divisjon,AVG(rating) AS avg_rating,STDDEV(rating) AS stddev_rating FROM ratings NATURAL JOIN siste_divisjon GROUP BY divisjon ORDER BY divisjon');
-$q->execute;
+my $season = wloh_common::get_max_season($dbh, $locale);
+
+# Pick up all the subdivisions' ratings.
+my %subdivision_ratings = ();
+my $q = $dbh->prepare('SELECT divisjon, avdeling, serie_id, AVG(rating) AS avg_rating FROM ratings NATURAL JOIN siste_divisjon WHERE sesong=? GROUP BY divisjon, avdeling, serie_id ORDER BY divisjon, avdeling');
+$q->execute($season);
+
+while (my $ref = $q->fetchrow_hashref) {
+ my $division = $ref->{'divisjon'};
+ my $rating = $ref->{'avg_rating'};
+ my $id = $ref->{'serie_id'};
+
+ push @{$subdivision_ratings{$division}}, [ $id, $rating ];
+}
+
+$q = $dbh->prepare('SELECT divisjon,AVG(rating) AS avg_rating,STDDEV(rating) AS stddev_rating FROM ratings NATURAL JOIN siste_divisjon WHERE sesong=? GROUP BY divisjon ORDER BY divisjon');
+$q->execute($season);
my $i = 0;
while (my $ref = $q->fetchrow_hashref) {
@@ -92,6 +109,11 @@ while (my $ref = $q->fetchrow_hashref) {
printf "
%d.
\n", $ref->{'divisjon'};
printf "
%.1f
\n", $ref->{'avg_rating'};
printf "
%.1f
\n", $ref->{'stddev_rating'};
+
+ for my $arr (@{$subdivision_ratings{$ref->{'divisjon'}}}) {
+ my ($id, $rating) = @$arr;
+ printf "