WM Predictor

Elo, Klassifikation und Poisson-Tore

Modell

hgb-poisson-ensemble-v3

Features

  • home_elo
  • away_elo
  • elo_diff
  • home_avg_goals_for_last5
  • home_avg_goals_against_last5
  • away_avg_goals_for_last5
  • away_avg_goals_against_last5
  • home_wins_last5
  • home_draws_last5
  • home_losses_last5
  • away_wins_last5
  • away_draws_last5
  • away_losses_last5
  • home_tournament_experience
  • away_tournament_experience
  • home_knockout_games
  • away_knockout_games
  • home_titles_before
  • away_titles_before
  • head_to_head_matches
  • head_to_head_home_goals
  • head_to_head_away_goals
  • is_knockout
  • is_group_match
  • home_host
  • away_host
  • home_reigning_champion
  • away_reigning_champion
  • home_rest_days
  • away_rest_days
  • tournament_year
  • external_home_elo
  • external_away_elo
  • external_elo_diff
  • external_home_matches
  • external_away_matches
  • external_home_recent_goals_for
  • external_home_recent_goals_against
  • external_away_recent_goals_for
  • external_away_recent_goals_against
  • external_home_recent_wins
  • external_home_recent_draws
  • external_home_recent_losses
  • external_away_recent_wins
  • external_away_recent_draws
  • external_away_recent_losses
  • external_head_to_head_matches
  • external_head_to_head_home_goals
  • external_head_to_head_away_goals
  • external_home_days_since_match
  • external_away_days_since_match
  • fifa_home_points
  • fifa_away_points
  • fifa_points_diff
  • fifa_home_rank
  • fifa_away_rank
  • fifa_rank_diff
  • fifa_home_ranking_age_days
  • fifa_away_ranking_age_days
  • context_home_population
  • context_away_population
  • context_log_population_diff
  • context_home_area
  • context_away_area
  • context_log_area_diff
  • context_home_gdp
  • context_away_gdp
  • context_log_gdp_diff
  • context_home_gdp_per_capita
  • context_away_gdp_per_capita
  • context_log_gdp_per_capita_diff
  • context_home_latitude
  • context_away_latitude
  • context_home_longitude
  • context_away_longitude
  • context_team_distance_km
  • context_home_distance_to_host_km
  • context_away_distance_to_host_km
  • context_host_distance_diff
  • context_same_region
  • context_same_subregion
  • context_home_same_region_as_host
  • context_away_same_region_as_host
  • context_home_bordering_host
  • context_away_bordering_host
  • context_home_world_bank_age_years
  • context_away_world_bank_age_years

Grenzen

  • Das Zielmodell wird weiterhin auf echten WM-Spielen der Maenner bewertet; externe Laenderspiele, Rankings und Laenderkontext dienen als Zusatzfeatures.
  • Keine Prognose ist eine sichere Vorhersage.
  • Kommende Spiele werden nur angezeigt, wenn sie aus einer echten Datenquelle geladen wurden.
  • Mehr Daten verbessern die Grundlage, garantieren aber keine hohe Modell-Sicherheit.

Metriken

MetrikWertDetails
accuracy 0.7188
accuracy 0.6635
balanced_accuracy 0.5826
balanced_accuracy 0.5365
brier_score 0.4367
brier_score 0.4718
calibration - {'expected_calibration_error': 0.17714032499126067, 'bins': [{'lower': 0.2, 'upper': 0.4, 'accuracy': 0.4, 'confidence': 0.37511461643177546}, {'lower': 0.4, 'upper': 0.6000000000000001, 'accuracy': 0.631578947368421, 'confidence': 0.4973334967650436}, {'lower': 0.6000000000000001, 'upper': 0.8, 'accuracy': 0.9523809523809523, 'confidence': 0.6613701543489895}]}
calibration - {'expected_calibration_error': 0.05507018563388108, 'bins': [{'lower': 0.2, 'upper': 0.4, 'accuracy': 0.125, 'confidence': 0.3863407849181442}, {'lower': 0.4, 'upper': 0.6000000000000001, 'accuracy': 0.5277777777777778, 'confidence': 0.5195003550043568}, {'lower': 0.6000000000000001, 'upper': 0.8, 'accuracy': 0.7631578947368421, 'confidence': 0.6884291904913854}, {'lower': 0.8, 'upper': 1.0, 'accuracy': 0.8571428571428571, 'confidence': 0.8393695993690194}]}
confusion_matrix - {'labels': ['H', 'D', 'A'], 'matrix': [[28, 0, 4], [8, 1, 1], [5, 0, 17]]}
confusion_matrix - {'labels': ['H', 'D', 'A'], 'matrix': [[90, 1, 11], [28, 0, 12], [17, 1, 48]]}
data_quality - {'input_rows': 812, 'accepted_rows': 812, 'rejected_rows': 0, 'duplicate_rows': 0, 'excessive_invalid_feature_rows': 0, 'invalid_feature_values_replaced': 0, 'feature_sanitization': {'selection': {'invalid_values': 0, 'out_of_distribution_values': 109, 'out_of_distribution_fraction': 0.0015429477379536832, 'out_of_distribution_columns': ['away_avg_goals_against_last5', 'away_avg_goals_for_last5', 'away_draws_last5', 'away_knockout_games', 'context_away_gdp', 'context_away_gdp_per_capita', 'context_away_population', 'context_home_area', 'context_home_gdp', 'context_home_gdp_per_capita', 'context_home_population', 'elo_diff', 'external_head_to_head_away_goals', 'external_head_to_head_home_goals', 'external_head_to_head_matches', 'fifa_points_diff', 'fifa_rank_diff', 'head_to_head_away_goals', 'head_to_head_home_goals', 'head_to_head_matches', 'home_avg_goals_against_last5', 'home_draws_last5']}, 'evaluation': {'invalid_values': 0, 'out_of_distribution_values': 98, 'out_of_distribution_fraction': 0.0013872374157748713, 'out_of_distribution_columns': ['away_avg_goals_against_last5', 'away_avg_goals_for_last5', 'away_draws_last5', 'away_knockout_games', 'context_away_gdp', 'context_away_population', 'context_home_area', 'context_home_gdp', 'context_home_gdp_per_capita', 'context_home_population', 'external_head_to_head_away_goals', 'external_head_to_head_home_goals', 'external_head_to_head_matches', 'fifa_points_diff', 'fifa_rank_diff', 'head_to_head_away_goals', 'head_to_head_home_goals', 'head_to_head_matches', 'home_avg_goals_against_last5', 'home_draws_last5']}, 'production': {'invalid_values': 0, 'out_of_distribution_values': 83, 'out_of_distribution_fraction': 0.0011749051582583092, 'out_of_distribution_columns': ['away_avg_goals_against_last5', 'away_avg_goals_for_last5', 'away_draws_last5', 'context_away_area', 'context_away_gdp', 'context_away_population', 'context_home_area', 'context_home_gdp', 'context_home_population', 'external_head_to_head_away_goals', 'external_head_to_head_home_goals', 'external_head_to_head_matches', 'fifa_points_diff', 'head_to_head_away_goals', 'head_to_head_home_goals', 'head_to_head_matches', 'home_avg_goals_against_last5', 'home_draws_last5']}}}
elo_baseline_accuracy 0.5781
elo_baseline_accuracy 0.5817
evaluation_is_holdout 1.0000
evaluation_rows 208.0000
goal_mae 0.7682
goal_mae 0.9747
log_loss 0.7656
log_loss 0.8165
majority_baseline_accuracy 0.5000
majority_baseline_accuracy 0.4904
poisson_baseline_mae 1.0035
poisson_baseline_mae 1.0850
selected_classifier - {'value': 'calibrated_logistic_regression'}
selected_classifier - {'value': 'curated_hgb_goal_prior_ensemble'}
training_end_year 2026.0000
training_end_year 2026.0000
training_rows 804.0000
training_rows 812.0000
training_start_year 1986.0000
training_start_year 1986.0000
validation - {'accuracy': 0.671875, 'balanced_accuracy': 0.5293040293040293, 'log_loss': 0.8060384148166747, 'brier_score': 0.46529085643198326}
validation - {'accuracy': 0.578125, 'balanced_accuracy': 0.4517045454545454, 'log_loss': 0.88751801936478, 'brier_score': 0.5394639431639159, 'selection_reason': 'candidate_passed_discrimination_and_probability_gates', 'candidates': {'smoothed_historical_prior': {'accuracy': 0.5, 'balanced_accuracy': 0.3333333333333333, 'log_loss': 0.9560015989229173, 'brier_score': 0.593188575695264}, 'curated_hist_gradient_boosting': {'accuracy': 0.5625, 'balanced_accuracy': 0.459469696969697, 'log_loss': 0.896327593542455, 'brier_score': 0.5444527201469239}, 'curated_hgb_goal_prior_ensemble': {'accuracy': 0.578125, 'balanced_accuracy': 0.4517045454545454, 'log_loss': 0.88751801936478, 'brier_score': 0.5394639431639159}}}