From 73c9d48333042dd312c3de6b1629625dc4b06609 Mon Sep 17 00:00:00 2001 From: tkpratardan Date: Fri, 31 May 2024 17:56:33 +0000 Subject: [PATCH 1/3] Initial --- .../soccer_prediction/sota_baseline_glm.ipynb | 3737 ++--------------- .../soccer_prediction/sota_baseline_glm.py | 548 ++- research_amp/soccer_prediction/utils.py | 101 + 3 files changed, 677 insertions(+), 3709 deletions(-) create mode 100644 research_amp/soccer_prediction/utils.py diff --git a/research_amp/soccer_prediction/sota_baseline_glm.ipynb b/research_amp/soccer_prediction/sota_baseline_glm.ipynb index 2c31bbcb7b..0d03e07daf 100644 --- a/research_amp/soccer_prediction/sota_baseline_glm.ipynb +++ b/research_amp/soccer_prediction/sota_baseline_glm.ipynb @@ -1,19 +1,42 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "6f0753b8", + "metadata": {}, + "source": [ + "# Establish a baseline Poisson Regression Model \n", + "- Use the International soccer database (ISDB) to predict the goals scored by each team. \n", + "- Dataset Description:\n", + " - `'Date'`: Date on which the match took place.\n", + " - `'Sea'` : Describes the yearly season in which the match happened.\n", + " - `'Lea'` : League of in which the match is part of.\n", + " - `'HT'` : Home Team.\n", + " - `'AT'` : Away Team.\n", + " - `'HS'` : Goals scored by Home Team.\n", + " - `'AS'` : Goals scored by Away Team.\n", + " - `'GD'` : Goal difference (`HS - AS`)\n", + " - `'WDL'` : Match outcome w/r to Home team (home win, home loss, draw)\n", + "- Use the poisson regressor of the GLM model in stats models\n", + "- Evaluate the model performance" + ] + }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 58, "id": "7dac9bd7", "metadata": { "ExecuteTime": { - "end_time": "2024-05-29T18:21:25.767712Z", - "start_time": "2024-05-29T18:21:19.719486Z" + "end_time": "2024-05-31T17:28:54.765131Z", + "start_time": "2024-05-31T17:28:54.735677Z" } }, "outputs": [], "source": [ "import os\n", "import warnings\n", + "import logging\n", + "from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Union\n", "\n", "import numpy as np\n", "import pandas as pd\n", @@ -21,8 +44,11 @@ "import sklearn.model_selection as sms\n", "import statsmodels.api as sm\n", "import statsmodels.formula.api as smf\n", + "from statsmodels.genmod.generalized_linear_model import GLMResults\n", "\n", "import helpers.haws as haws\n", + "import helpers.hdbg as hdbg\n", + "import research_amp.soccer_prediction.utils as rasoprut\n", "\n", "pd.set_option(\"display.max_columns\", None)\n", "warnings.filterwarnings(\"ignore\")" @@ -30,3415 +56,347 @@ }, { "cell_type": "code", - "execution_count": 2, - "id": "6bd0013c", - "metadata": { - "ExecuteTime": { - "end_time": "2024-05-29T18:21:59.189893Z", - "start_time": "2024-05-29T18:21:57.092723Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Downloading kaizen_ai/soccer_prediction/datasets/OSF_football/ISDBv1.txt to datasets/OSF_football/ISDBv1.txt\n", - "Downloading kaizen_ai/soccer_prediction/datasets/OSF_football/ISDBv2.txt to datasets/OSF_football/ISDBv2.txt\n", - "Loading datasets/OSF_football/ISDBv1.txt\n", - "ISDBv1_df (216743, 9)\n", - "Loading datasets/OSF_football/ISDBv2.txt\n", - "ISDBv2_df (218916, 9)\n", - "Data imported\n", - "ISDBv1_df: (216743, 9)\n", - "ISDBv2_df: (218916, 9)\n", - "ISDBv1_df shape: (216743, 9)\n", - "ISDBv2_df shape: (218916, 9)\n" - ] - } - ], - "source": [ - "# Initialize a session.\n", - "s3 = haws.get_service_resource(aws_profile=\"ck\", service_name=\"s3\")\n", - "\n", - "# Set the S3 bucket and dataset path.\n", - "s3_bucket_name = \"cryptokaizen-data-test\"\n", - "s3_dataset_path = \"kaizen_ai/soccer_prediction/datasets/OSF_football/\"\n", - "\n", - "# Define the local directory to save the files.\n", - "local_directory = \"datasets/OSF_football\"\n", - "os.makedirs(local_directory, exist_ok=True)\n", - "\n", - "\n", - "def download_files_from_s3(bucket_name, prefix, local_dir):\n", - " \"\"\"\n", - " Function to download files from S3.\n", - " \"\"\"\n", - " bucket = s3.Bucket(bucket_name)\n", - " for obj in bucket.objects.filter(Prefix=prefix):\n", - " key = obj.key\n", - " if key.endswith(\".txt\"):\n", - " local_file_path = os.path.join(local_dir, os.path.basename(key))\n", - " print(f\"Downloading {key} to {local_file_path}\")\n", - " bucket.download_file(key, local_file_path)\n", - "\n", - "\n", - "# Call the function to download the files\n", - "download_files_from_s3(s3_bucket_name, s3_dataset_path, local_directory)\n", - "\n", - "# Load the datasets into pandas dataframes\n", - "dataframes_3 = {}\n", - "for dirname, _, filenames in os.walk(local_directory):\n", - " for filename in filenames:\n", - " if filename.endswith(\".txt\"):\n", - " file_key = filename.split(\".\")[0] + \"_df\"\n", - " filepath = os.path.join(dirname, filename)\n", - " print(f\"Loading {filepath}\")\n", - " df = pd.read_csv(filepath, sep=\"\\t\", encoding=\"UTF-8\")\n", - " print(file_key, df.shape)\n", - " df = df.drop_duplicates()\n", - " dataframes_3[file_key] = df\n", - "\n", - "print(\"Data imported\")\n", - "\n", - "# Verify the content of dataframes_3 dictionary.\n", - "for key, df in dataframes_3.items():\n", - " print(f\"{key}: {df.shape}\")\n", - "\n", - "# Access the dataframes directly from the dictionary.\n", - "ISDBv1_df = dataframes_3.get(\"ISDBv1_df\")\n", - "ISDBv2_df = dataframes_3.get(\"ISDBv2_df\")\n", - "\n", - "# Print the shapes to confirm they are loaded correctly.\n", - "print(\n", - " f\"ISDBv1_df shape: {ISDBv1_df.shape if ISDBv1_df is not None else 'Not found'}\"\n", - ")\n", - "print(\n", - " f\"ISDBv2_df shape: {ISDBv2_df.shape if ISDBv2_df is not None else 'Not found'}\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "45bf4845", - "metadata": { - "ExecuteTime": { - "end_time": "2024-05-29T18:22:18.955058Z", - "start_time": "2024-05-29T18:22:18.904625Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
SeaLgeDateHTATHSASGDWDL
000-01GER111/08/2000DortmundHansa Rostock101W
100-01GER112/08/2000Bayern MunichHertha Berlin413W
200-01GER112/08/2000FreiburgVfB Stuttgart404W
300-01GER112/08/2000Hamburger SVMunich 1860220D
400-01GER112/08/2000KaiserslauternBochum01-1L
\n", - "
" - ], - "text/plain": [ - " Sea Lge Date HT AT HS AS GD WDL\n", - "0 00-01 GER1 11/08/2000 Dortmund Hansa Rostock 1 0 1 W\n", - "1 00-01 GER1 12/08/2000 Bayern Munich Hertha Berlin 4 1 3 W\n", - "2 00-01 GER1 12/08/2000 Freiburg VfB Stuttgart 4 0 4 W\n", - "3 00-01 GER1 12/08/2000 Hamburger SV Munich 1860 2 2 0 D\n", - "4 00-01 GER1 12/08/2000 Kaiserslautern Bochum 0 1 -1 L" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ISDBv2_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "d626bd55", + "execution_count": 59, + "id": "e71aea61", "metadata": { "ExecuteTime": { - "end_time": "2024-05-29T18:22:30.470763Z", - "start_time": "2024-05-29T18:22:28.075954Z" + "end_time": "2024-05-31T17:28:55.777474Z", + "start_time": "2024-05-31T17:28:55.772397Z" } }, "outputs": [], "source": [ - "ISDBv2_df[\"season\"] = ISDBv2_df[\"Sea\"].apply(lambda x: int(\"20\" + str(x)[:2]))\n", - "df = ISDBv2_df[ISDBv2_df[\"season\"] >= 2009]\n", - "# Preprocess the dataset\n", - "# Preprocess the dataset\n", - "df[\"Date\"] = pd.to_datetime(df[\"Date\"], dayfirst=True)\n", - "df.sort_values(by=\"Date\", inplace=True)\n", - "\n", - "\n", - "# Define the burn-in period and warm-up season removal\n", - "def remove_warmup_and_burnin(df, warmup_seasons, burnin_rounds=5):\n", - " filtered_df = pd.DataFrame()\n", - " leagues = df[\"Lge\"].unique()\n", - "\n", - " for league in leagues:\n", - " league_df = df[df[\"Lge\"] == league]\n", - " seasons = league_df[\"Sea\"].unique()\n", - " for season in seasons:\n", - " season_df = league_df[league_df[\"Sea\"] == season]\n", - " if season == seasons[0] and season in warmup_seasons:\n", - " continue\n", - " season_df = season_df.iloc[burnin_rounds:]\n", - " filtered_df = pd.concat([filtered_df, season_df])\n", - "\n", - " return filtered_df\n", - "\n", - "\n", - "warmup_seasons = {2009}\n", - "df_final = remove_warmup_and_burnin(df, warmup_seasons)\n", - "# Split the data into training, validation, and test sets\n", - "train_size = int(0.6 * len(df_final))\n", - "val_size = int(0.2 * len(df_final))\n", - "train_df = df_final[:train_size]\n", - "val_df = df_final[train_size : train_size + val_size]\n", - "test_df = df_final[train_size + val_size :]" - ] - }, - { - "cell_type": "markdown", - "id": "4586de1c", - "metadata": {}, - "source": [ - "# GLM Model" + "_LOG = logging.getLogger(__name__)" ] }, { "cell_type": "code", - "execution_count": 5, - "id": "719b3472", + "execution_count": 60, + "id": "6bd0013c", "metadata": { "ExecuteTime": { - "end_time": "2024-05-29T18:24:00.550959Z", - "start_time": "2024-05-29T18:23:57.132960Z" + "end_time": "2024-05-31T17:28:57.481763Z", + "start_time": "2024-05-31T17:28:57.437038Z" + }, + "run_control": { + "marked": true } }, "outputs": [], "source": [ - "ISDBv2_df[\"season\"] = ISDBv2_df[\"Sea\"].apply(lambda x: int(\"20\" + str(x)[:2]))\n", - "df = ISDBv2_df[ISDBv2_df[\"season\"] >= 2009]\n", - "# Preprocess the dataset.\n", - "df[\"Date\"] = pd.to_datetime(df[\"Date\"], dayfirst=True)\n", - "df.sort_values(by=\"Date\", inplace=True)\n", - "categorical_columns = [\"HT\", \"AT\"]\n", - "for col in categorical_columns:\n", - " df[col] = df[col].astype(\"category\")\n", - "# Ensure reproducibility.\n", - "random_state = 42\n", - "# Step 1: Split by team to ensure each team is represented in the train split.\n", - "teams = df[\"HT\"].unique()\n", - "train_indices = []\n", - "test_indices = []\n", - "for team in teams:\n", - " team_df = df[df[\"HT\"] == team]\n", - " train_team, test_team = sms.train_test_split(\n", - " team_df, test_size=0.2, random_state=random_state\n", - " )\n", - " train_indices.extend(train_team.index)\n", - " test_indices.extend(test_team.index)\n", - "# Create train and test DataFrames.\n", - "train_df = df.loc[train_indices]\n", - "test_df = df.loc[test_indices]\n", - "\n", + "def preprocess_data(df: pd.DataFrame()) -> pd.DataFrame():\n", + " \"\"\"\n", + " Preprocess the loaded ISDB dataframe of interest.\n", + " - Filter and select match from seasons starting from 2009.\n", + " - Convert column formats.\n", + " - Add epsilon = 0.5 to scores with value as `0` to avoid log(0).\n", + " - Check for NaN and infinite values and drop the rows.\n", + " \n", + " :param df: Input DataFrame. \n", + " :return: Preprocessed DataFrame.\n", + " \"\"\"\n", + " df[\"season\"] = df[\"Sea\"].apply(lambda x: int(\"20\" + str(x)[:2]))\n", + " filtered_df = df[df[\"season\"] >= 2009]\n", + " # Preprocess the dataset.\n", + " df[\"Date\"] = pd.to_datetime(df[\"Date\"], dayfirst=True)\n", + " df.sort_values(by=\"Date\", inplace=True)\n", + " # Covert the categorical columns to category type. \n", + " categorical_columns = [\"HT\", \"AT\"]\n", + " for col in categorical_columns:\n", + " filtered_df[col] = filtered_df[col].astype(\"category\")\n", + " # Adding a small constant to goals to avoid log(0).\n", + " columns = ['AS', 'HS']\n", + " epsilon = 0.5\n", + " for column in columns: \n", + " filtered_df[column] = filtered_df[column].apply(lambda x: x + epsilon if x == 0 else x)\n", + " # Check if there are any infinite or NaN weights and handle them.\n", + " if filtered_df.isna().sum().sum() > 0:\n", + " _LOG.debug(\"NaN values found in the data. Removing rows with NaNs.\")\n", + " filtered_df.dropna(inplace=True)\n", + " if filtered_df.isin([-np.inf, np.inf]).sum().sum() > 0:\n", + " _LOG.debug(\"Infinite values found in the data. Removing rows with Infs.\")\n", + " filtered_df = filtered_df[~np.isinf(filtered_df.select_dtypes(include=[np.number])).any(1)]\n", + " # Return the preprocessed DataFrame.\n", + " return filtered_df\n", "\n", - "def unravel_dataset(df) -> pd.DataFrame():\n", + "def create_train_test_split(df: pd.DataFrame(), test_size: float = 0.2) -> Dict:\n", + " \"\"\"\n", + " Create a train-test split with the preprocessed DataFrame. Ensure all the teams are \n", + " represented in the training set.\n", + " \n", + " :param df: Input dataframe.\n", + " :return: Dictionary of training and testing DataFrames\n", " \"\"\"\n", - " Unravel the dataset by creating one entry for each row as team-opponent\n", + " # Ensure reproducibility.\n", + " random_state = 42\n", + " # Step 1: Split by team to ensure each team is represented in the train split.\n", + " teams = df[\"HT\"].unique()\n", + " train_indices = []\n", + " test_indices = []\n", + " for team in teams:\n", + " team_df = df[df[\"HT\"] == team]\n", + " train_team, test_team = sms.train_test_split(\n", + " team_df, test_size=test_size, random_state=random_state\n", + " )\n", + " train_indices.extend(train_team.index)\n", + " test_indices.extend(test_team.index)\n", + " # Create train and test DataFrames.\n", + " train_df = df.loc[train_indices]\n", + " test_df = df.loc[test_indices] \n", + " dataframes = {}\n", + " # Add train and test dataframes to the dictionary.\n", + " dataframes['train_df'] = train_df\n", + " dataframes['test_df'] = test_df\n", + " # Return the dictionary of dataframes.\n", + " return dataframes\n", + "\n", + "def unravel_df(df: pd.DataFrame()) -> pd.DataFrame():\n", + " \"\"\" \n", + " Unravel the dataset by creating two entries for each row as team-opponent\n", " pair.\n", + " \n", + " :param df: Input dataframe.\n", + " :return: unraveled dataframe.\n", " \"\"\"\n", + " # Create entry for home team `HT`.\n", " home_df = df[[\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\", \"HS\"]].copy()\n", " home_df.rename(\n", - " columns={\"HT\": \"team\", \"AT\": \"opponent\", \"HS\": \"goals\"}, inplace=True\n", - " )\n", + " columns={\"HT\": \"team\", \"AT\": \"opponent\", \"HS\": \"goals\"}, inplace=True\n", + " )\n", " home_df[\"is_home\"] = 1\n", + " # Create entry for away team `AT`.\n", " away_df = df[[\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\", \"AS\"]].copy()\n", " away_df.rename(\n", - " columns={\"AT\": \"team\", \"HT\": \"opponent\", \"AS\": \"goals\"}, inplace=True\n", - " )\n", + " columns={\"AT\": \"team\", \"HT\": \"opponent\", \"AS\": \"goals\"}, inplace=True\n", + " )\n", " away_df[\"is_home\"] = 0\n", + " # Concatenate the two splits.\n", " unraveled_df = pd.concat([home_df, away_df], ignore_index=True)\n", + " # return the unraveled dataframe.\n", " return unraveled_df\n", "\n", - "\n", - "# Unravel the training dataset.\n", - "unraveled_train_df = unravel_dataset(train_df)\n", - "# Unravel the test dataset.\n", - "unraveled_test_df = unravel_dataset(test_df)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "8797c501", - "metadata": { - "ExecuteTime": { - "end_time": "2024-05-29T18:24:10.232789Z", - "start_time": "2024-05-29T18:24:10.214177Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DateSeaLgeteamopponentgoalsis_home
02015-01-3014-15CHL1CD HuachipatoCD Cobresal21
12015-02-0714-15CHL1CD HuachipatoUniversidad de Chile21
22009-01-3109-10CHL1CD HuachipatoUniversidad de Concepcion01
32009-09-1209-10CHL1CD HuachipatoCSD Rangers01
42017-03-1216-17CHL1CD HuachipatoHiggins01
\n", - "
" - ], - "text/plain": [ - " Date Sea Lge team opponent goals \\\n", - "0 2015-01-30 14-15 CHL1 CD Huachipato CD Cobresal 2 \n", - "1 2015-02-07 14-15 CHL1 CD Huachipato Universidad de Chile 2 \n", - "2 2009-01-31 09-10 CHL1 CD Huachipato Universidad de Concepcion 0 \n", - "3 2009-09-12 09-10 CHL1 CD Huachipato CSD Rangers 0 \n", - "4 2017-03-12 16-17 CHL1 CD Huachipato Higgins 0 \n", - "\n", - " is_home \n", - "0 1 \n", - "1 1 \n", - "2 1 \n", - "3 1 \n", - "4 1 " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "unraveled_train_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "75d0dcb7", - "metadata": { - "ExecuteTime": { - "end_time": "2024-05-29T18:24:27.555882Z", - "start_time": "2024-05-29T18:24:21.258245Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
DateSeaLgeteamopponentgoalsis_home
442009-07-1809-10CHL1CD HuachipatoUnion Espanola11
1736992012-03-0312-13CHL1CD HuachipatoUnion San Felipe20
512017-02-1116-17CHL1CD HuachipatoCD Palestino31
1854032014-09-1414-15CHL1CD HuachipatoAntofagasta20
352009-11-0809-10CHL1CD HuachipatoUniversidad de Chile11
\n", - "
" - ], - "text/plain": [ - " Date Sea Lge team opponent goals \\\n", - "44 2009-07-18 09-10 CHL1 CD Huachipato Union Espanola 1 \n", - "173699 2012-03-03 12-13 CHL1 CD Huachipato Union San Felipe 2 \n", - "51 2017-02-11 16-17 CHL1 CD Huachipato CD Palestino 3 \n", - "185403 2014-09-14 14-15 CHL1 CD Huachipato Antofagasta 2 \n", - "35 2009-11-08 09-10 CHL1 CD Huachipato Universidad de Chile 1 \n", - "\n", - " is_home \n", - "44 1 \n", - "173699 0 \n", - "51 1 \n", - "185403 0 \n", - "35 1 " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "def representative_sample(df, sample_size) -> pd.DataFrame():\n", + "def representative_sample(df: pd.DataFrame(), sample_size: int) -> pd.DataFrame():\n", " \"\"\"\n", - " Function to perform representative sampling to ensure each team is\n", + " Function to perform representative sampling on training set to ensure each team is\n", " represented.\n", - "\n", + " \n", " param: df: Input dataframe for sampling.\n", " param: sample_size: Size of the extracted sample (output dataframe).\n", " return: sampled_df: Sampled dataframe.\n", " \"\"\"\n", + " # Collect the unique values of teams.\n", " teams = df[\"team\"].unique()\n", + " # Identify samples/team.\n", " samples_per_team = sample_size // len(teams)\n", - " sampled_df = pd.DataFrame()\n", + " sampled_df_list = [] \n", + " # Iteratively add the samples for each team.\n", " for team in teams:\n", " team_df = df[df[\"team\"] == team]\n", " team_sample = team_df.sample(\n", " n=min(samples_per_team, len(team_df)), random_state=1\n", " )\n", - " sampled_df = pd.concat([sampled_df, team_sample])\n", - " # Additional random sampling to fill the remaining sample size\n", + " sampled_df_list.append(team_sample)\n", + " # Create a sampled dataframe. \n", + " sampled_df = pd.concat(sampled_df_list)\n", + " # Additional random sampling to fill the remaining sample size.\n", " remaining_sample_size = sample_size - len(sampled_df)\n", " if remaining_sample_size > 0:\n", " additional_sample = df.drop(sampled_df.index).sample(\n", " n=remaining_sample_size, random_state=1\n", " )\n", " sampled_df = pd.concat([sampled_df, additional_sample])\n", + " # Return the sampled dataframe.\n", " return sampled_df\n", "\n", - "\n", - "# Sample 20% of the training data.\n", - "sample_size = int(0.2 * len(unraveled_train_df))\n", - "# Perform representative sampling on the training set.\n", - "sampled_train_df = representative_sample(unraveled_train_df, sample_size)\n", - "sampled_train_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "e00fba83", - "metadata": { - "ExecuteTime": { - "end_time": "2024-05-29T18:24:36.322478Z", - "start_time": "2024-05-29T18:24:36.268570Z" - }, - "lines_to_next_cell": 2 - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "NaN values per column:\n", - "Date 0\n", - "Sea 0\n", - "Lge 0\n", - "team 0\n", - "opponent 0\n", - "goals 0\n", - "is_home 0\n", - "dtype: int64\n", - "\n", - "Infinite values per numeric column:\n", - "goals: 0\n", - "is_home: 0\n", - "Date datetime64[ns]\n", - "Sea object\n", - "Lge object\n", - "team category\n", - "opponent category\n", - "goals int64\n", - "is_home int64\n", - "dtype: object\n", - " Date Sea Lge \\\n", - "count 38676 38676 38676 \n", - "unique NaN 8 52 \n", - "top NaN 16-17 FRA3 \n", - "freq NaN 6050 1514 \n", - "mean 2013-07-11 21:55:52.032268032 NaN NaN \n", - "min 2009-02-01 00:00:00 NaN NaN \n", - "25% 2011-06-10 18:00:00 NaN NaN \n", - "50% 2013-08-28 00:00:00 NaN NaN \n", - "75% 2015-08-30 00:00:00 NaN NaN \n", - "max 2017-06-28 00:00:00 NaN NaN \n", - "std NaN NaN NaN \n", - "\n", - " team opponent goals is_home \n", - "count 38676 38676 38676.000000 38676.000000 \n", - "unique 1261 1261 NaN NaN \n", - "top Fluminense Rio de Janeiro Paris FC NaN NaN \n", - "freq 37 89 NaN NaN \n", - "mean NaN NaN 1.233245 0.487382 \n", - "min NaN NaN 0.000000 0.000000 \n", - "25% NaN NaN 0.000000 0.000000 \n", - "50% NaN NaN 1.000000 0.000000 \n", - "75% NaN NaN 2.000000 1.000000 \n", - "max NaN NaN 10.000000 1.000000 \n", - "std NaN NaN 1.162492 0.499847 \n" - ] - } - ], - "source": [ - "print(\"NaN values per column:\")\n", - "print(sampled_train_df.isna().sum())\n", - "\n", - "numeric_cols = sampled_train_df.select_dtypes(include=[np.number]).columns\n", - "print(\"\\nInfinite values per numeric column:\")\n", - "for col in numeric_cols:\n", - " num_infs = np.isinf(sampled_train_df[col]).sum()\n", - " print(f\"{col}: {num_infs}\")\n", - "print(sampled_train_df.dtypes)\n", - "print(sampled_train_df.describe(include=\"all\"))" - ] - }, - { - "cell_type": "markdown", - "id": "95f8f30b", - "metadata": { - "lines_to_next_cell": 2 - }, - "source": [ - "## Train Poisson model." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "0a62ad69", - "metadata": { - "ExecuteTime": { - "end_time": "2024-05-29T18:32:46.608686Z", - "start_time": "2024-05-29T18:28:45.365070Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Generalized Linear Model Regression Results \n", - "==============================================================================\n", - "Dep. Variable: goals No. Observations: 38676\n", - "Model: GLM Df Residuals: 36188\n", - "Model Family: Poisson Df Model: 2487\n", - "Link Function: Log Scale: 1.0000\n", - "Method: IRLS Log-Likelihood: -52668.\n", - "Date: Wed, 29 May 2024 Deviance: 41036.\n", - "Time: 18:32:44 Pearson chi2: 3.54e+04\n", - "No. Iterations: 10 Pseudo R-squ. (CS): 0.1640\n", - "Covariance Type: nonrobust \n", - "====================================================================================================================\n", - " coef std err z P>|z| [0.025 0.975]\n", - "--------------------------------------------------------------------------------------------------------------------\n", - "Intercept 0.2750 0.216 1.273 0.203 -0.149 0.699\n", - "C(team)[T.AC Ajaccio] -0.1740 0.212 -0.822 0.411 -0.589 0.241\n", - "C(team)[T.AC Barnechea] -0.5476 0.229 -2.386 0.017 -0.997 -0.098\n", - "C(team)[T.AC Milan] 0.3616 0.182 1.992 0.046 0.006 0.717\n", - "C(team)[T.ADO Den Haag] -0.1202 0.186 -0.648 0.517 -0.484 0.244\n", - "C(team)[T.AEK] 0.0791 0.196 0.403 0.687 -0.306 0.464\n", - "C(team)[T.AFC Wimbledon] -0.1021 0.195 -0.524 0.600 -0.484 0.280\n", - "C(team)[T.AIK Solna] -0.0997 0.196 -0.509 0.611 -0.484 0.284\n", - "C(team)[T.AS Beauvais] -0.2396 0.206 -1.163 0.245 -0.644 0.164\n", - "C(team)[T.AS Beziers] -0.3748 0.220 -1.702 0.089 -0.806 0.057\n", - "C(team)[T.AS Cannes] -0.3783 0.216 -1.752 0.080 -0.801 0.045\n", - "C(team)[T.AS Cherbourg] 0.0192 0.192 0.100 0.920 -0.357 0.395\n", - "C(team)[T.AS Djerba] -0.3935 0.264 -1.490 0.136 -0.911 0.124\n", - "C(team)[T.AS Gabes] -0.2376 0.230 -1.035 0.301 -0.687 0.212\n", - "C(team)[T.AS Kasserine] -0.4482 0.248 -1.804 0.071 -0.935 0.039\n", - "C(team)[T.AS Khroub] 0.0863 0.199 0.433 0.665 -0.305 0.477\n", - "C(team)[T.AS Lyon-Duchere] -0.4079 0.229 -1.782 0.075 -0.857 0.041\n", - "C(team)[T.AS Marsa] 0.1615 0.184 0.877 0.380 -0.199 0.522\n", - "C(team)[T.AS Moulins] -0.6609 0.233 -2.839 0.005 -1.117 -0.205\n", - "C(team)[T.AS Sale] -0.5872 0.253 -2.324 0.020 -1.082 -0.092\n", - "C(team)[T.ASM Belfort] -0.6240 0.241 -2.588 0.010 -1.097 -0.151\n", - "C(team)[T.ASM Oran] -0.1100 0.214 -0.514 0.608 -0.530 0.310\n", - "C(team)[T.ASO Chlef] 0.0085 0.196 0.044 0.965 -0.375 0.392\n", - "C(team)[T.AZ Alkmaar] 0.1449 0.173 0.839 0.401 -0.193 0.483\n", - "C(team)[T.Aalborg] -0.0029 0.189 -0.015 0.988 -0.373 0.368\n", - "C(team)[T.Aalen] -0.3353 0.202 -1.656 0.098 -0.732 0.061\n", - "C(team)[T.Aalesunds FK] 0.0574 0.185 0.311 0.756 -0.305 0.420\n", - "C(team)[T.Aarhus] -0.2607 0.201 -1.295 0.195 -0.655 0.134\n", - "C(team)[T.Aberdeen] 0.2157 0.192 1.122 0.262 -0.161 0.592\n", - "C(team)[T.Academica] -0.0871 0.200 -0.436 0.663 -0.479 0.305\n", - "C(team)[T.Accrington] -0.1546 0.184 -0.839 0.402 -0.516 0.207\n", - "C(team)[T.Adelaide United] -0.2606 0.191 -1.361 0.173 -0.636 0.115\n", - "C(team)[T.Admira Wacker] 0.0564 0.185 0.306 0.760 -0.305 0.418\n", - "C(team)[T.Agremiacao Sportiva Arapiraquense] -0.2645 0.229 -1.157 0.247 -0.713 0.184\n", - "C(team)[T.Airdrie United] -0.2937 0.196 -1.502 0.133 -0.677 0.090\n", - "C(team)[T.Ajaccio GFCO] -0.2366 0.211 -1.121 0.262 -0.650 0.177\n", - "C(team)[T.Ajax Amsterdam] 0.5076 0.156 3.250 0.001 0.202 0.814\n", - "C(team)[T.Ajax Cape Town] -0.0980 0.200 -0.491 0.623 -0.489 0.293\n", - "C(team)[T.Akhisar Belediyespor] -0.2553 0.209 -1.219 0.223 -0.666 0.155\n", - "C(team)[T.Alania Vladikavkaz] -0.1417 0.203 -0.697 0.486 -0.540 0.257\n", - "C(team)[T.Alaves] -0.2622 0.207 -1.268 0.205 -0.668 0.143\n", - "C(team)[T.Albacete] -0.2151 0.200 -1.074 0.283 -0.608 0.177\n", - "C(team)[T.AlbinoLeffe] -0.3374 0.213 -1.580 0.114 -0.756 0.081\n", - "C(team)[T.Albion Rovers] -0.7413 0.226 -3.276 0.001 -1.185 -0.298\n", - "C(team)[T.Albirex] -0.0354 0.207 -0.171 0.864 -0.440 0.369\n", - "C(team)[T.Alcorcon] -0.2648 0.204 -1.295 0.195 -0.666 0.136\n", - "C(team)[T.Alcoyano] -0.4569 0.220 -2.077 0.038 -0.888 -0.026\n", - "C(team)[T.Aldershot] -0.2024 0.191 -1.062 0.288 -0.576 0.171\n", - "C(team)[T.Aldosivi] -0.3430 0.227 -1.510 0.131 -0.788 0.102\n", - "C(team)[T.Alemannia Aachen] -0.2373 0.203 -1.169 0.243 -0.635 0.161\n", - "C(team)[T.Alfreton Town] -0.4636 0.210 -2.212 0.027 -0.874 -0.053\n", - "C(team)[T.All Boys] -0.3841 0.231 -1.661 0.097 -0.837 0.069\n", - "C(team)[T.Alloa Athletic] -0.4138 0.209 -1.978 0.048 -0.824 -0.004\n", - "C(team)[T.Almeria] 0.0127 0.187 0.068 0.946 -0.354 0.380\n", - "C(team)[T.Altrincham] -0.3973 0.200 -1.988 0.047 -0.789 -0.006\n", - "C(team)[T.AmaZulu] -0.0822 0.202 -0.407 0.684 -0.478 0.313\n", - "C(team)[T.America MG] 0.1769 0.207 0.856 0.392 -0.228 0.582\n", - "C(team)[T.America RN] -0.1520 0.223 -0.680 0.496 -0.590 0.286\n", - "C(team)[T.Americana Futebol] -0.4157 0.234 -1.776 0.076 -0.875 0.043\n", - "C(team)[T.Amiens SC] -0.1296 0.195 -0.666 0.506 -0.511 0.252\n", - "C(team)[T.Ancona 1905] -0.1412 0.201 -0.703 0.482 -0.535 0.253\n", - "C(team)[T.Anderlecht] 0.3611 0.169 2.142 0.032 0.031 0.692\n", - "C(team)[T.Angers SCO] 0.0192 0.198 0.097 0.923 -0.369 0.407\n", - "C(team)[T.Ankaragucu] -0.4654 0.225 -2.067 0.039 -0.907 -0.024\n", - "C(team)[T.Annan Athletic] -0.1267 0.181 -0.702 0.483 -0.480 0.227\n", - "C(team)[T.Antalyaspor] -0.2454 0.206 -1.193 0.233 -0.649 0.158\n", - "C(team)[T.Antofagasta] -0.5330 0.224 -2.378 0.017 -0.972 -0.094\n", - "C(team)[T.Anzhi Makhachkala] 0.2223 0.191 1.162 0.245 -0.153 0.597\n", - "C(team)[T.Apollon] 0.0802 0.207 0.388 0.698 -0.325 0.485\n", - "C(team)[T.Aragua FC] -0.3068 0.203 -1.508 0.131 -0.705 0.092\n", - "C(team)[T.Arbroath] -0.0979 0.180 -0.545 0.586 -0.450 0.254\n", - "C(team)[T.Argentinos Juniors] 0.0768 0.190 0.404 0.686 -0.296 0.449\n", - "C(team)[T.Aris] -0.4327 0.234 -1.847 0.065 -0.892 0.026\n", - "C(team)[T.Arles] -0.1424 0.216 -0.659 0.510 -0.566 0.281\n", - "C(team)[T.Arminia Bielefeld] -0.2659 0.203 -1.313 0.189 -0.663 0.131\n", - "C(team)[T.Arouca] -0.2741 0.210 -1.303 0.193 -0.686 0.138\n", - "C(team)[T.Arsenal] 0.8008 0.174 4.592 0.000 0.459 1.143\n", - "C(team)[T.Arsenal Sarandi] -0.0733 0.196 -0.374 0.708 -0.458 0.311\n", - "C(team)[T.Arsenal Tula] -0.1266 0.214 -0.593 0.553 -0.545 0.292\n", - "C(team)[T.Ascoli] -0.2126 0.203 -1.049 0.294 -0.610 0.185\n", - "C(team)[T.Asteras Tripolis] -0.0632 0.195 -0.323 0.747 -0.446 0.320\n", - "C(team)[T.Aston Villa] -0.0176 0.219 -0.080 0.936 -0.446 0.411\n", - "C(team)[T.Atalanta] -0.2340 0.227 -1.030 0.303 -0.680 0.211\n", - "C(team)[T.Athletic Bilbao] -0.1097 0.204 -0.539 0.590 -0.509 0.289\n", - "C(team)[T.Athletic Bilbao B] -0.5415 0.232 -2.330 0.020 -0.997 -0.086\n", - "C(team)[T.Athletico Madrid] 0.4386 0.174 2.522 0.012 0.098 0.779\n", - "C(team)[T.Atlanta Silverbacks] -0.1577 0.257 -0.614 0.539 -0.661 0.346\n", - "C(team)[T.Atlas Guadalajara] -0.3370 0.219 -1.537 0.124 -0.767 0.093\n", - "C(team)[T.Atletico Clube Goianiense] -0.0345 0.218 -0.159 0.874 -0.461 0.392\n", - "C(team)[T.Atletico El Vigia] -0.0901 0.201 -0.448 0.654 -0.484 0.304\n", - "C(team)[T.Atletico Mineiro] 0.2349 0.220 1.068 0.285 -0.196 0.666\n", - "C(team)[T.Atletico Paranaense] 0.3016 0.215 1.400 0.162 -0.121 0.724\n", - "C(team)[T.Atletico Rafaela] -0.1159 0.204 -0.567 0.570 -0.516 0.284\n", - "C(team)[T.Atletico Tucuman] -0.0151 0.200 -0.076 0.940 -0.406 0.376\n", - "C(team)[T.Atletico Venezuela] -0.0218 0.200 -0.109 0.913 -0.413 0.370\n", - "C(team)[T.Atromitos] -0.0313 0.193 -0.162 0.871 -0.409 0.346\n", - "C(team)[T.Atvidabergs] -0.1220 0.203 -0.601 0.548 -0.520 0.276\n", - "C(team)[T.Auckland City FC] 0.4617 0.156 2.957 0.003 0.156 0.768\n", - "C(team)[T.Audax Italiano] -0.0498 0.184 -0.270 0.787 -0.411 0.311\n", - "C(team)[T.Augsburg] 0.0604 0.196 0.308 0.758 -0.324 0.444\n", - "C(team)[T.Austria Wien] 0.1400 0.179 0.782 0.434 -0.211 0.491\n", - "C(team)[T.Auxerre] -0.1593 0.206 -0.774 0.439 -0.562 0.244\n", - "C(team)[T.Avai FC] -0.0193 0.216 -0.089 0.929 -0.443 0.405\n", - "C(team)[T.Avangard Kursk] -0.6286 0.242 -2.598 0.009 -1.103 -0.154\n", - "C(team)[T.Avellino] -0.2413 0.198 -1.218 0.223 -0.630 0.147\n", - "C(team)[T.Aviron Bayonnais] -0.7344 0.239 -3.071 0.002 -1.203 -0.266\n", - "C(team)[T.Avispa] -0.3773 0.216 -1.746 0.081 -0.801 0.046\n", - "C(team)[T.Ayr United] -0.4184 0.209 -2.004 0.045 -0.828 -0.009\n", - "C(team)[T.Babelsberg] -0.6303 0.212 -2.969 0.003 -1.046 -0.214\n", - "C(team)[T.Balikesirspor] 0.0432 0.209 0.206 0.836 -0.367 0.453\n", - "C(team)[T.Baltika Kaliningrad] -0.1425 0.194 -0.733 0.463 -0.523 0.238\n", - "C(team)[T.Barcelona SC] 0.1658 0.179 0.925 0.355 -0.185 0.517\n", - "C(team)[T.Bari 1908] -0.0921 0.190 -0.484 0.628 -0.465 0.281\n", - "C(team)[T.Barnet] -0.1411 0.191 -0.740 0.459 -0.515 0.233\n", - "C(team)[T.Barnsley] -0.0040 0.195 -0.021 0.983 -0.387 0.379\n", - "C(team)[T.Baroka FC] -0.4139 0.243 -1.704 0.088 -0.890 0.062\n", - "C(team)[T.Barrow] -0.2816 0.193 -1.457 0.145 -0.661 0.097\n", - "C(team)[T.Basaksehir] -0.2118 0.196 -1.081 0.280 -0.596 0.172\n", - "C(team)[T.Bath City] -0.3245 0.197 -1.644 0.100 -0.711 0.062\n", - "C(team)[T.Bayern Munich] 0.7278 0.165 4.406 0.000 0.404 1.052\n", - "C(team)[T.Bayern Munich II] -0.4103 0.208 -1.970 0.049 -0.818 -0.002\n", - "C(team)[T.Beijing Guoan] 0.1408 0.180 0.782 0.434 -0.212 0.494\n", - "C(team)[T.Beijing Renhe FC] -0.0033 0.191 -0.018 0.986 -0.377 0.371\n", - "C(team)[T.Beira Mar] -0.4245 0.224 -1.896 0.058 -0.863 0.014\n", - "C(team)[T.Beitar Jerusalem] -0.0751 0.191 -0.392 0.695 -0.450 0.300\n", - "C(team)[T.Belenenses] -0.3747 0.215 -1.741 0.082 -0.796 0.047\n", - "C(team)[T.Belgrano Cordoba] -0.0578 0.198 -0.292 0.770 -0.446 0.330\n", - "C(team)[T.Bellinzona] -0.1930 0.206 -0.939 0.348 -0.596 0.210\n", - "C(team)[T.Benevento] -0.0545 0.193 -0.282 0.778 -0.433 0.324\n", - "C(team)[T.Benfica] 0.6366 0.158 4.039 0.000 0.328 0.946\n", - "C(team)[T.Bergen] -0.0396 0.202 -0.196 0.844 -0.436 0.356\n", - "C(team)[T.Berwick Rangers] -0.2570 0.193 -1.330 0.183 -0.636 0.122\n", - "C(team)[T.Besiktas] -0.2439 0.203 -1.204 0.229 -0.641 0.153\n", - "C(team)[T.Beveren] -0.4826 0.248 -1.943 0.052 -0.970 0.004\n", - "C(team)[T.BidVest Wits] 0.1663 0.185 0.901 0.367 -0.195 0.528\n", - "C(team)[T.Birmingham City] -0.0151 0.202 -0.075 0.940 -0.411 0.381\n", - "C(team)[T.Black Leopards] -0.0259 0.200 -0.130 0.897 -0.417 0.365\n", - "C(team)[T.Blackburn Rovers] 0.2569 0.195 1.321 0.187 -0.124 0.638\n", - "C(team)[T.Blackpool] 0.0566 0.190 0.297 0.766 -0.316 0.430\n", - "C(team)[T.Bloemfontein Celtic] -0.0410 0.198 -0.207 0.836 -0.430 0.348\n", - "C(team)[T.Bnei Sachnin FC] -0.2361 0.209 -1.130 0.258 -0.646 0.173\n", - "C(team)[T.Bnei Yehuda Tel Aviv] -0.2377 0.211 -1.127 0.260 -0.651 0.176\n", - "C(team)[T.Boa Esporte Clube] -0.1845 0.226 -0.817 0.414 -0.627 0.258\n", - "C(team)[T.Boavista] -0.3331 0.226 -1.475 0.140 -0.776 0.110\n", - "C(team)[T.Boca Juniors] 0.2970 0.178 1.671 0.095 -0.051 0.645\n", - "C(team)[T.Bochum] -0.0987 0.190 -0.519 0.603 -0.471 0.274\n", - "C(team)[T.Bodo/Glimt] 0.0723 0.188 0.384 0.701 -0.296 0.441\n", - "C(team)[T.Bologna] -0.1223 0.207 -0.590 0.555 -0.528 0.284\n", - "C(team)[T.Bolton] 0.1875 0.193 0.971 0.331 -0.191 0.566\n", - "C(team)[T.Bordeaux] 0.0789 0.217 0.364 0.716 -0.346 0.503\n", - "C(team)[T.Boreham Wood] -0.6705 0.217 -3.087 0.002 -1.096 -0.245\n", - "C(team)[T.Botafogo Rio de Janeiro] 0.1040 0.220 0.473 0.636 -0.327 0.535\n", - "C(team)[T.Bourg Peronnas] -0.2642 0.212 -1.248 0.212 -0.679 0.151\n", - "C(team)[T.Bournemouth] 0.4163 0.169 2.457 0.014 0.084 0.748\n", - "C(team)[T.Bradford] -0.0417 0.189 -0.220 0.826 -0.413 0.330\n", - "C(team)[T.Bragantino] -0.1130 0.221 -0.512 0.608 -0.545 0.319\n", - "C(team)[T.Braintree Town] -0.4558 0.200 -2.277 0.023 -0.848 -0.063\n", - "C(team)[T.Brann Bergen] -0.0552 0.193 -0.286 0.775 -0.434 0.323\n", - "C(team)[T.Braunschweig] 0.0324 0.184 0.176 0.860 -0.328 0.393\n", - "C(team)[T.Brechin City] -0.1137 0.189 -0.602 0.547 -0.484 0.257\n", - "C(team)[T.Brentford] 0.0596 0.196 0.304 0.761 -0.325 0.444\n", - "C(team)[T.Brescia] 0.0403 0.181 0.223 0.824 -0.315 0.395\n", - "C(team)[T.Brest] -0.0984 0.209 -0.472 0.637 -0.508 0.311\n", - "C(team)[T.Brighton] -0.0737 0.197 -0.373 0.709 -0.461 0.313\n", - "C(team)[T.Brisbane Roar] 0.0459 0.181 0.254 0.800 -0.308 0.400\n", - "C(team)[T.Bristol City] 0.0574 0.193 0.298 0.766 -0.320 0.435\n", - "C(team)[T.Bristol Rovers] -0.1881 0.200 -0.939 0.348 -0.580 0.204\n", - "C(team)[T.Bromley] -0.2571 0.194 -1.323 0.186 -0.638 0.124\n", - "C(team)[T.Brommapojkarna] -0.2775 0.213 -1.305 0.192 -0.694 0.139\n", - "C(team)[T.Brondby] 0.1922 0.169 1.139 0.255 -0.139 0.523\n", - "C(team)[T.Bucaspor] -0.2757 0.224 -1.228 0.219 -0.716 0.164\n", - "C(team)[T.Burnley] 0.2225 0.195 1.140 0.254 -0.160 0.605\n", - "C(team)[T.Bursaspor] 0.1148 0.182 0.630 0.529 -0.243 0.472\n", - "C(team)[T.Burton] -0.4026 0.218 -1.849 0.064 -0.829 0.024\n", - "C(team)[T.Bury] -0.0745 0.186 -0.400 0.689 -0.440 0.291\n", - "C(team)[T.Busan IPark] -0.1064 0.191 -0.557 0.578 -0.481 0.268\n", - "C(team)[T.CA Banfield] -0.1041 0.190 -0.546 0.585 -0.477 0.269\n", - "C(team)[T.CA Bastia] -0.0467 0.189 -0.247 0.805 -0.418 0.324\n", - "C(team)[T.CA Batna] -0.7548 0.259 -2.917 0.004 -1.262 -0.248\n", - "C(team)[T.CA Bizertin] 0.0649 0.194 0.334 0.739 -0.316 0.446\n", - "C(team)[T.CA Bordj Bou Arreridj] -0.5107 0.243 -2.103 0.035 -0.987 -0.035\n", - "C(team)[T.CA Colon] -0.6376 0.238 -2.680 0.007 -1.104 -0.171\n", - "C(team)[T.CA Lanus] 0.0891 0.187 0.477 0.634 -0.277 0.456\n", - "C(team)[T.CA San Martin] -0.0098 0.200 -0.049 0.961 -0.402 0.383\n", - "C(team)[T.CA Temperley] -0.3797 0.224 -1.693 0.090 -0.819 0.060\n", - "C(team)[T.CD Chivas] -0.4182 0.239 -1.751 0.080 -0.886 0.050\n", - "C(team)[T.CD Cobreloa] -0.1564 0.199 -0.788 0.431 -0.546 0.233\n", - "C(team)[T.CD Cobresal] 0.0690 0.184 0.376 0.707 -0.291 0.429\n", - "C(team)[T.CD Godoy Cruz] 0.1172 0.182 0.645 0.519 -0.239 0.474\n", - "C(team)[T.CD Huachipato] 0.1286 0.177 0.727 0.468 -0.218 0.475\n", - "C(team)[T.CD Olmedo] -0.2901 0.213 -1.365 0.172 -0.707 0.127\n", - "C(team)[T.CD Palestino] -0.0078 0.181 -0.043 0.965 -0.362 0.346\n", - "C(team)[T.CD Universidad Catolica] -0.0907 0.196 -0.463 0.643 -0.475 0.293\n", - "C(team)[T.CF Atlante] -0.1916 0.201 -0.953 0.341 -0.586 0.202\n", - "C(team)[T.CF Monterrey] 0.1698 0.179 0.947 0.343 -0.181 0.521\n", - "C(team)[T.CF Pachuca] 0.1021 0.181 0.565 0.572 -0.252 0.456\n", - "C(team)[T.COD Meknes] -0.4710 0.247 -1.906 0.057 -0.955 0.013\n", - "C(team)[T.CR Al Hoceima] -0.1573 0.215 -0.731 0.465 -0.579 0.264\n", - "C(team)[T.CR Belouizdad] -0.2311 0.211 -1.096 0.273 -0.644 0.182\n", - "C(team)[T.CR Vasco da Gama] -0.0436 0.217 -0.201 0.840 -0.468 0.381\n", - "C(team)[T.CRB Ain Fakroun] -0.9016 0.306 -2.949 0.003 -1.501 -0.302\n", - "C(team)[T.CS Constantine] -0.1163 0.201 -0.579 0.563 -0.510 0.278\n", - "C(team)[T.CS Emelec] 0.0097 0.190 0.051 0.959 -0.363 0.382\n", - "C(team)[T.CS Hammam-Lif] -0.1636 0.214 -0.765 0.445 -0.583 0.256\n", - "C(team)[T.CS Sedan] -0.5064 0.226 -2.244 0.025 -0.949 -0.064\n", - "C(team)[T.CSD Rangers] -0.3392 0.210 -1.613 0.107 -0.751 0.073\n", - "C(team)[T.CSKA Moscow] 0.7666 0.168 4.576 0.000 0.438 1.095\n", - "C(team)[T.Cadiz] -0.0903 0.197 -0.458 0.647 -0.477 0.296\n", - "C(team)[T.Caen] 0.1264 0.206 0.614 0.539 -0.277 0.529\n", - "C(team)[T.Cagliari] 0.2797 0.182 1.537 0.124 -0.077 0.636\n", - "C(team)[T.Cambridge] -0.1557 0.184 -0.845 0.398 -0.517 0.206\n", - "C(team)[T.Cambuur] -0.1054 0.190 -0.555 0.579 -0.478 0.267\n", - "C(team)[T.Canterbury United] 0.0827 0.170 0.487 0.626 -0.250 0.415\n", - "C(team)[T.Cape Town City FC] -0.1506 0.204 -0.740 0.459 -0.550 0.248\n", - "C(team)[T.Carabobo FC] -0.3081 0.216 -1.428 0.153 -0.731 0.115\n", - "C(team)[T.Caracas FC] 0.1945 0.177 1.102 0.270 -0.151 0.541\n", - "C(team)[T.Cardiff City] 0.2367 0.191 1.241 0.215 -0.137 0.611\n", - "C(team)[T.Carl Zeiss Jena] -0.6663 0.224 -2.973 0.003 -1.106 -0.227\n", - "C(team)[T.Carlisle] 0.0988 0.174 0.568 0.570 -0.242 0.440\n", - "C(team)[T.Carolina RailHawks] 0.0615 0.229 0.268 0.788 -0.388 0.511\n", - "C(team)[T.Caroni FC] -0.6943 0.270 -2.571 0.010 -1.224 -0.165\n", - "C(team)[T.Carpi] -0.2502 0.204 -1.225 0.220 -0.650 0.150\n", - "C(team)[T.Carquefou JA] -0.0718 0.196 -0.366 0.714 -0.456 0.312\n", - "C(team)[T.Cartagena] -0.0834 0.188 -0.443 0.658 -0.453 0.286\n", - "C(team)[T.Cassis-Carnoux] -0.4385 0.214 -2.046 0.041 -0.859 -0.018\n", - "C(team)[T.Castellon] -0.3427 0.212 -1.613 0.107 -0.759 0.074\n", - "C(team)[T.Catania] -0.2912 0.218 -1.334 0.182 -0.719 0.137\n", - "C(team)[T.Ceara SC] 0.0977 0.208 0.469 0.639 -0.311 0.506\n", - "C(team)[T.Celta de Vigo] 0.1677 0.183 0.919 0.358 -0.190 0.525\n", - "C(team)[T.Celtic Glasgow] 0.7392 0.174 4.238 0.000 0.397 1.081\n", - "C(team)[T.Central Coast Mariners] -0.1731 0.198 -0.874 0.382 -0.562 0.215\n", - "C(team)[T.Centro Italo] -0.0760 0.219 -0.347 0.728 -0.505 0.353\n", - "C(team)[T.Cercle Brugge] -0.4258 0.227 -1.879 0.060 -0.870 0.018\n", - "C(team)[T.Cerezo Osaka] -0.0127 0.201 -0.063 0.950 -0.407 0.382\n", - "C(team)[T.Cesena] -0.1252 0.200 -0.626 0.531 -0.517 0.267\n", - "C(team)[T.Chabab Atlas Khenifra] -0.3556 0.227 -1.565 0.118 -0.801 0.090\n", - "C(team)[T.Chacarita Juniors] -0.2588 0.218 -1.188 0.235 -0.686 0.168\n", - "C(team)[T.Chamois Niortais] -0.0557 0.194 -0.287 0.774 -0.435 0.324\n", - "C(team)[T.Changchun Yatai] 0.1173 0.184 0.637 0.524 -0.244 0.479\n", - "C(team)[T.Changsha Ginde] -0.5738 0.242 -2.371 0.018 -1.048 -0.099\n", - "C(team)[T.Chapecoense] 0.1989 0.224 0.888 0.375 -0.240 0.638\n", - "C(team)[T.Charleroi] -0.2017 0.207 -0.976 0.329 -0.607 0.203\n", - "C(team)[T.Charlton Athletic] 0.0672 0.186 0.361 0.718 -0.298 0.432\n", - "C(team)[T.Chateauroux] -0.2451 0.216 -1.133 0.257 -0.669 0.179\n", - "C(team)[T.Chaves] -0.0915 0.210 -0.435 0.664 -0.504 0.321\n", - "C(team)[T.Chelsea] 0.6520 0.184 3.544 0.000 0.291 1.013\n", - "C(team)[T.Cheltenham] -0.5685 0.223 -2.545 0.011 -1.006 -0.131\n", - "C(team)[T.Chemnitzer FC] -0.2957 0.194 -1.523 0.128 -0.676 0.085\n", - "C(team)[T.Chengdu Blades] -0.1263 0.208 -0.609 0.543 -0.533 0.280\n", - "C(team)[T.Chernomorets Novorossisk] -0.8449 0.262 -3.225 0.001 -1.358 -0.331\n", - "C(team)[T.Chester] -0.1417 0.185 -0.765 0.444 -0.505 0.221\n", - "C(team)[T.Chesterfield] 0.0469 0.186 0.252 0.801 -0.317 0.411\n", - "C(team)[T.Chiapas FC] -0.3195 0.218 -1.465 0.143 -0.747 0.108\n", - "C(team)[T.Chicago Fire] -0.0856 0.215 -0.398 0.690 -0.507 0.335\n", - "C(team)[T.Chievo Verona] -0.3648 0.238 -1.536 0.125 -0.830 0.101\n", - "C(team)[T.Chippa United] -0.2921 0.219 -1.334 0.182 -0.721 0.137\n", - "C(team)[T.Chongqing Lifan] -0.0547 0.200 -0.274 0.784 -0.447 0.337\n", - "C(team)[T.Chunnam Dragons] -0.2098 0.194 -1.082 0.279 -0.590 0.170\n", - "C(team)[T.Cittadella] -0.0226 0.189 -0.119 0.905 -0.394 0.349\n", - "C(team)[T.Clermont] -0.1103 0.204 -0.542 0.588 -0.509 0.289\n", - "C(team)[T.Club Africain] 0.0072 0.203 0.036 0.972 -0.391 0.405\n", - "C(team)[T.Club Brugge] 0.4085 0.168 2.427 0.015 0.079 0.738\n", - "C(team)[T.Club Leon] 0.3036 0.174 1.744 0.081 -0.038 0.645\n", - "C(team)[T.Club Necaxa] -0.1427 0.207 -0.690 0.490 -0.548 0.263\n", - "C(team)[T.Club Sportif Sfaxien] 0.0025 0.197 0.013 0.990 -0.383 0.388\n", - "C(team)[T.Club Tijuana] -0.1655 0.203 -0.816 0.415 -0.563 0.232\n", - "C(team)[T.Club de Futbol America] 0.1442 0.180 0.801 0.423 -0.209 0.497\n", - "C(team)[T.Clube Nautico] -0.0907 0.220 -0.413 0.680 -0.522 0.340\n", - "C(team)[T.Clube de Regatas Brasil] -0.3002 0.232 -1.294 0.196 -0.755 0.154\n", - "C(team)[T.Clyde] -0.2821 0.193 -1.461 0.144 -0.661 0.096\n", - "C(team)[T.Colchester] 0.0557 0.183 0.305 0.761 -0.302 0.414\n", - "C(team)[T.Colo Colo] 0.1223 0.174 0.704 0.481 -0.218 0.462\n", - "C(team)[T.Colorado Rapids] -0.0307 0.220 -0.140 0.889 -0.461 0.400\n", - "C(team)[T.Columbus Crew] 0.0064 0.219 0.029 0.977 -0.422 0.435\n", - "C(team)[T.Como] -0.5046 0.226 -2.232 0.026 -0.948 -0.062\n", - "C(team)[T.Consadole Sapporo] -0.0505 0.188 -0.268 0.789 -0.419 0.318\n", - "C(team)[T.Cordoba] -0.1093 0.189 -0.579 0.563 -0.479 0.261\n", - "C(team)[T.Corinthians Paulista] 0.3086 0.215 1.434 0.152 -0.113 0.731\n", - "C(team)[T.Coritiba FC] -0.0830 0.226 -0.367 0.714 -0.527 0.361\n", - "C(team)[T.Coventry City] -0.2289 0.201 -1.137 0.256 -0.624 0.166\n", - "C(team)[T.Cowdenbeath] 0.0192 0.178 0.108 0.914 -0.329 0.368\n", - "C(team)[T.Crawley Town] 0.0355 0.179 0.198 0.843 -0.316 0.387\n", - "C(team)[T.Crewe Alexandra] -0.1953 0.199 -0.979 0.327 -0.586 0.196\n", - "C(team)[T.Criciuma Esporte Clube] -0.2645 0.233 -1.134 0.257 -0.722 0.193\n", - "C(team)[T.Crotone] -0.3369 0.206 -1.638 0.101 -0.740 0.066\n", - "C(team)[T.Crucero del Norte] -0.7189 0.264 -2.719 0.007 -1.237 -0.201\n", - "C(team)[T.Cruz Azul] -0.2875 0.208 -1.385 0.166 -0.694 0.119\n", - "C(team)[T.Cruzeiro Esporte Clube] 0.3548 0.210 1.688 0.091 -0.057 0.767\n", - "C(team)[T.Crystal Palace] -0.0828 0.220 -0.377 0.707 -0.514 0.348\n", - "C(team)[T.Curico Unido] -0.1916 0.205 -0.935 0.350 -0.593 0.210\n", - "C(team)[T.D.C. United] -0.1348 0.225 -0.598 0.550 -0.576 0.307\n", - "C(team)[T.DRB Tadjenanet] 0.0005 0.203 0.002 0.998 -0.398 0.399\n", - "C(team)[T.Daegu FC] -0.3349 0.206 -1.626 0.104 -0.739 0.069\n", - "C(team)[T.Daejeon Citizen] -0.4509 0.211 -2.135 0.033 -0.865 -0.037\n", - "C(team)[T.Dagenham and Redbridge] -0.2076 0.181 -1.146 0.252 -0.562 0.147\n", - "C(team)[T.Dalian Aerbin] -0.0277 0.199 -0.139 0.889 -0.418 0.362\n", - "C(team)[T.Dalian Haichang] -0.2008 0.205 -0.978 0.328 -0.603 0.201\n", - "C(team)[T.Darlington] -0.1261 0.188 -0.670 0.503 -0.495 0.243\n", - "C(team)[T.Darmstadt 98] -0.4974 0.220 -2.266 0.023 -0.928 -0.067\n", - "C(team)[T.Dartford] -0.6257 0.217 -2.886 0.004 -1.051 -0.201\n", - "C(team)[T.De Graafschap] -0.3027 0.209 -1.450 0.147 -0.712 0.106\n", - "C(team)[T.Defensa y Justicia] 0.0854 0.191 0.446 0.655 -0.290 0.460\n", - "C(team)[T.Delfin SC] -0.2655 0.219 -1.212 0.226 -0.695 0.164\n", - "C(team)[T.Denizlispor] -0.5330 0.243 -2.191 0.028 -1.010 -0.056\n", - "C(team)[T.Deportes Temuco] -0.4828 0.234 -2.066 0.039 -0.941 -0.025\n", - "C(team)[T.Deportivo Anzoategui] 0.4131 0.168 2.458 0.014 0.084 0.742\n", - "C(team)[T.Deportivo Cuenca] -0.0597 0.194 -0.308 0.758 -0.439 0.320\n", - "C(team)[T.Deportivo Guadalajara] -0.2269 0.206 -1.102 0.271 -0.631 0.177\n", - "C(team)[T.Deportivo Italia] 0.3522 0.182 1.938 0.053 -0.004 0.708\n", - "C(team)[T.Deportivo La Guaira] -0.0878 0.203 -0.432 0.666 -0.486 0.310\n", - "C(team)[T.Deportivo Lara] -0.0962 0.195 -0.495 0.621 -0.478 0.285\n", - "C(team)[T.Deportivo Nublense] -0.3028 0.200 -1.513 0.130 -0.695 0.090\n", - "C(team)[T.Deportivo Petare] -0.7384 0.252 -2.925 0.003 -1.233 -0.244\n", - "C(team)[T.Deportivo Quevedo] -0.1725 0.209 -0.827 0.408 -0.581 0.236\n", - "C(team)[T.Deportivo Quito] -0.0582 0.198 -0.294 0.769 -0.446 0.330\n", - "C(team)[T.Deportivo Tachira] 0.2324 0.174 1.339 0.180 -0.108 0.573\n", - "C(team)[T.Deportivo Toluca] -0.0034 0.183 -0.018 0.985 -0.362 0.355\n", - "C(team)[T.Deportivo Zulia] -0.1423 0.203 -0.700 0.484 -0.541 0.256\n", - "C(team)[T.Derby County] -0.0839 0.205 -0.409 0.683 -0.486 0.318\n", - "C(team)[T.Difaa Jadida] 0.1069 0.193 0.555 0.579 -0.271 0.485\n", - "C(team)[T.Dijon] -0.0261 0.199 -0.131 0.896 -0.416 0.364\n", - "C(team)[T.Dinamo Bryansk] -0.0512 0.198 -0.258 0.796 -0.440 0.337\n", - "C(team)[T.Dinamo Moscow] 0.2098 0.191 1.101 0.271 -0.164 0.583\n", - "C(team)[T.Dinamo St Petersburg] -0.6649 0.241 -2.763 0.006 -1.137 -0.193\n", - "C(team)[T.Diyarbakirspor] -0.8476 0.286 -2.959 0.003 -1.409 -0.286\n", - "C(team)[T.Djurgardens] 0.1400 0.185 0.756 0.449 -0.223 0.503\n", - "C(team)[T.Doncaster Rovers] 0.1134 0.190 0.597 0.551 -0.259 0.486\n", - "C(team)[T.Dorados de Sinaloa] -0.2497 0.219 -1.138 0.255 -0.680 0.181\n", - "C(team)[T.Dordrecht] -0.6728 0.237 -2.844 0.004 -1.136 -0.209\n", - "C(team)[T.Dortmund] 0.5770 0.179 3.221 0.001 0.226 0.928\n", - "C(team)[T.Dortmund II] -0.3484 0.197 -1.769 0.077 -0.734 0.038\n", - "C(team)[T.Dover Athletic] -0.1723 0.190 -0.907 0.364 -0.545 0.200\n", - "C(team)[T.Doxa Dramas] -1.1679 0.347 -3.368 0.001 -1.848 -0.488\n", - "C(team)[T.Dumbarton] 0.0933 0.176 0.529 0.597 -0.253 0.439\n", - "C(team)[T.Dundee United] 0.0743 0.209 0.356 0.722 -0.335 0.483\n", - "C(team)[T.Dunfermline Athletic] -0.0764 0.180 -0.424 0.671 -0.430 0.277\n", - "C(team)[T.Duque de Caxias] -0.6041 0.251 -2.410 0.016 -1.095 -0.113\n", - "C(team)[T.Dynamo Dresden] -0.2776 0.197 -1.406 0.160 -0.665 0.109\n", - "C(team)[T.EA Guingamp] 0.2896 0.188 1.543 0.123 -0.078 0.657\n", - "C(team)[T.EGS Gafsa] -0.0697 0.208 -0.336 0.737 -0.476 0.337\n", - "C(team)[T.EO Sidi Bouzid] -0.3766 0.237 -1.587 0.112 -0.842 0.088\n", - "C(team)[T.ES Beni-Khalled] -0.4925 0.265 -1.860 0.063 -1.012 0.027\n", - "C(team)[T.ES Hammam Sousse] -0.5110 0.261 -1.956 0.051 -1.023 0.001\n", - "C(team)[T.ES Metlaoui] -0.5415 0.254 -2.128 0.033 -1.040 -0.043\n", - "C(team)[T.ES Sahel] 0.4707 0.177 2.653 0.008 0.123 0.818\n", - "C(team)[T.ES Setif] 0.0254 0.195 0.130 0.896 -0.357 0.408\n", - "C(team)[T.ES Uzes Pont du Gard] -0.6526 0.242 -2.702 0.007 -1.126 -0.179\n", - "C(team)[T.ESTAC Troyes] -0.0984 0.198 -0.496 0.620 -0.487 0.290\n", - "C(team)[T.East Fife] -0.3528 0.196 -1.801 0.072 -0.737 0.031\n", - "C(team)[T.East Stirling] -0.3682 0.200 -1.840 0.066 -0.760 0.024\n", - "C(team)[T.Eastbourne Borough] -0.4614 0.210 -2.197 0.028 -0.873 -0.050\n", - "C(team)[T.Eastern Suburbs] 0.0279 0.234 0.119 0.905 -0.431 0.487\n", - "C(team)[T.Eastleigh] -0.1007 0.181 -0.557 0.577 -0.455 0.253\n", - "C(team)[T.Ebbsfleet] -0.5521 0.210 -2.627 0.009 -0.964 -0.140\n", - "C(team)[T.Edinburgh City] -0.7074 0.220 -3.209 0.001 -1.139 -0.275\n", - "C(team)[T.Ehime FC] -0.3457 0.199 -1.735 0.083 -0.736 0.045\n", - "C(team)[T.Eibar] -0.0899 0.207 -0.435 0.664 -0.495 0.316\n", - "C(team)[T.Eintracht Frankfurt] 0.2548 0.193 1.319 0.187 -0.124 0.634\n", - "C(team)[T.El Nacional] 0.1523 0.186 0.820 0.412 -0.212 0.516\n", - "C(team)[T.Elazigspor] -0.3330 0.224 -1.485 0.138 -0.773 0.106\n", - "C(team)[T.Elche] -0.0808 0.184 -0.438 0.661 -0.442 0.280\n", - "C(team)[T.Elgin City] -0.1148 0.182 -0.632 0.527 -0.471 0.241\n", - "C(team)[T.Elversberg] -0.5995 0.233 -2.570 0.010 -1.057 -0.142\n", - "C(team)[T.Empoli] -0.0756 0.198 -0.382 0.703 -0.464 0.312\n", - "C(team)[T.Energie Cottbus] -0.0391 0.184 -0.212 0.832 -0.401 0.322\n", - "C(team)[T.Engen Santos FC] -0.0230 0.198 -0.116 0.907 -0.411 0.365\n", - "C(team)[T.Enisey Krasnoyarsk] -0.1626 0.204 -0.798 0.425 -0.562 0.237\n", - "C(team)[T.Erciyesspor] -0.1353 0.207 -0.654 0.513 -0.541 0.270\n", - "C(team)[T.Ergotelis] -0.0194 0.201 -0.097 0.923 -0.413 0.374\n", - "C(team)[T.Erzgebirge Aue] -0.4468 0.214 -2.086 0.037 -0.867 -0.027\n", - "C(team)[T.Esbjerg fB] -0.1431 0.199 -0.721 0.471 -0.532 0.246\n", - "C(team)[T.Eskisehirspor] 0.0319 0.186 0.171 0.864 -0.333 0.396\n", - "C(team)[T.Espanyol Barcelona] -0.0395 0.210 -0.188 0.851 -0.451 0.372\n", - "C(team)[T.Esperance Tunis] 0.5274 0.178 2.966 0.003 0.179 0.876\n", - "C(team)[T.Esperance Zarzis] -0.0139 0.208 -0.067 0.947 -0.422 0.394\n", - "C(team)[T.Espoli] -0.0878 0.204 -0.431 0.666 -0.487 0.311\n", - "C(team)[T.Esporte Clube Bahia] -0.1395 0.233 -0.598 0.550 -0.597 0.318\n", - "C(team)[T.Esporte Clube Vitoria BA] 0.2532 0.207 1.225 0.221 -0.152 0.659\n", - "C(team)[T.Estoril] -0.1918 0.210 -0.911 0.362 -0.604 0.221\n", - "C(team)[T.Estudiantes] -0.0698 0.198 -0.353 0.724 -0.458 0.318\n", - "C(team)[T.Estudiantes Tecos] -0.0719 0.200 -0.360 0.719 -0.463 0.320\n", - "C(team)[T.Estudiantes de Caracas] -0.4183 0.236 -1.776 0.076 -0.880 0.043\n", - "C(team)[T.Estudiantes de Merida] -0.4229 0.221 -1.914 0.056 -0.856 0.010\n", - "C(team)[T.Eupen] 0.0636 0.195 0.326 0.744 -0.319 0.446\n", - "C(team)[T.Everton] 0.4712 0.188 2.509 0.012 0.103 0.839\n", - "C(team)[T.Everton CD] -0.2101 0.200 -1.048 0.294 -0.603 0.183\n", - "C(team)[T.Evian Thonon Gaillard] -0.0253 0.198 -0.128 0.898 -0.413 0.363\n", - "C(team)[T.Excelsior] -0.2573 0.198 -1.299 0.194 -0.646 0.131\n", - "C(team)[T.Exeter City] -0.1974 0.191 -1.031 0.302 -0.572 0.178\n", - "C(team)[T.FAR de Rabat] -0.0113 0.199 -0.057 0.955 -0.402 0.379\n", - "C(team)[T.FC Aarau] -0.1964 0.198 -0.993 0.321 -0.584 0.191\n", - "C(team)[T.FC Ashdod] -0.1223 0.200 -0.611 0.541 -0.514 0.270\n", - "C(team)[T.FC Barcelona] 0.8191 0.157 5.214 0.000 0.511 1.127\n", - "C(team)[T.FC Barcelona B] 0.2796 0.170 1.647 0.100 -0.053 0.612\n", - "C(team)[T.FC Basel] 0.4865 0.162 3.008 0.003 0.170 0.803\n", - "C(team)[T.FC Chambly] -0.2534 0.207 -1.227 0.220 -0.658 0.151\n", - "C(team)[T.FC Dallas] 0.0843 0.211 0.399 0.690 -0.330 0.498\n", - "C(team)[T.FC Dundee] -0.0302 0.204 -0.148 0.882 -0.430 0.369\n", - "C(team)[T.FC Edmonton] -0.3497 0.262 -1.334 0.182 -0.863 0.164\n", - "C(team)[T.FC Gifu] -0.3975 0.209 -1.906 0.057 -0.806 0.011\n", - "C(team)[T.FC Gueugnon] -0.4352 0.222 -1.957 0.050 -0.871 0.001\n", - "C(team)[T.FC Honka] 0.1257 0.184 0.683 0.494 -0.235 0.486\n", - "C(team)[T.FC Innsbruck] 0.0436 0.192 0.227 0.820 -0.332 0.419\n", - "C(team)[T.FC Istres] -0.7286 0.269 -2.710 0.007 -1.256 -0.202\n", - "C(team)[T.FC Kobenhavn] 0.2592 0.170 1.522 0.128 -0.075 0.593\n", - "C(team)[T.FC Koln] -0.0387 0.201 -0.192 0.847 -0.433 0.356\n", - "C(team)[T.FC Lahti] -0.2395 0.204 -1.174 0.240 -0.639 0.160\n", - "C(team)[T.FC Lugano] -0.2158 0.205 -1.052 0.293 -0.618 0.186\n", - "C(team)[T.FC Luzern] 0.1119 0.182 0.613 0.540 -0.246 0.470\n", - "C(team)[T.FC Martigues] -0.3955 0.212 -1.869 0.062 -0.810 0.019\n", - "C(team)[T.FC Metz] -0.1732 0.208 -0.834 0.404 -0.580 0.234\n", - "C(team)[T.FC Neftekhimik] -0.2602 0.213 -1.221 0.222 -0.678 0.157\n", - "C(team)[T.FC Orenburg] 0.0812 0.187 0.434 0.665 -0.286 0.449\n", - "C(team)[T.FC Pau] -0.5890 0.246 -2.392 0.017 -1.072 -0.106\n", - "C(team)[T.FC Rouen] 0.0776 0.182 0.425 0.671 -0.280 0.435\n", - "C(team)[T.FC Sakhalin] -0.4719 0.232 -2.031 0.042 -0.927 -0.016\n", - "C(team)[T.FC Salyut Belgorod] -0.4026 0.223 -1.807 0.071 -0.839 0.034\n", - "C(team)[T.FC Seoul] 0.3471 0.169 2.049 0.040 0.015 0.679\n", - "C(team)[T.FC Sion] -0.2673 0.198 -1.351 0.177 -0.655 0.120\n", - "C(team)[T.FC St Gallen] -0.3295 0.209 -1.577 0.115 -0.739 0.080\n", - "C(team)[T.FC Superfund] -0.6213 0.230 -2.698 0.007 -1.073 -0.170\n", - "C(team)[T.FC Tambov] -0.3473 0.221 -1.570 0.116 -0.781 0.086\n", - "C(team)[T.FC Thun] 0.0501 0.181 0.276 0.782 -0.305 0.406\n", - "C(team)[T.FC Tokyo] 0.1166 0.191 0.611 0.542 -0.258 0.491\n", - "C(team)[T.FC Ufa] -0.4712 0.229 -2.059 0.040 -0.920 -0.023\n", - "C(team)[T.FC Vaduz] -0.0058 0.192 -0.030 0.976 -0.382 0.370\n", - "C(team)[T.FC Volgar Astrakhan] -0.1487 0.198 -0.753 0.452 -0.536 0.239\n", - "C(team)[T.FC Zurich] -0.0712 0.190 -0.376 0.707 -0.443 0.300\n", - "C(team)[T.FF Jaro] -0.1416 0.203 -0.696 0.487 -0.540 0.257\n", - "C(team)[T.FK Amkar Perm] -0.1159 0.232 -0.499 0.618 -0.571 0.340\n", - "C(team)[T.FK Angusht Nazran] -0.6629 0.255 -2.596 0.009 -1.163 -0.162\n", - "C(team)[T.FK Chita] -0.7008 0.252 -2.781 0.005 -1.195 -0.207\n", - "C(team)[T.FK Haugesund] 0.0225 0.186 0.121 0.903 -0.341 0.386\n", - "C(team)[T.FK Kamaz] -0.1672 0.212 -0.788 0.431 -0.583 0.249\n", - "C(team)[T.FK Khimki] -0.3259 0.219 -1.487 0.137 -0.755 0.104\n", - "C(team)[T.FK Krasnodar] 0.3536 0.183 1.935 0.053 -0.005 0.712\n", - "C(team)[T.FK Moscow] 0.3383 0.216 1.569 0.117 -0.084 0.761\n", - "C(team)[T.FK Nizhniy Novgorod] 0.1948 0.181 1.078 0.281 -0.159 0.549\n", - "C(team)[T.FK Radian-Baikal Irkutsk] -0.5378 0.237 -2.266 0.023 -1.003 -0.073\n", - "C(team)[T.FK Rostov] -0.1564 0.218 -0.716 0.474 -0.584 0.272\n", - "C(team)[T.FK Saturn] 0.2115 0.202 1.049 0.294 -0.184 0.607\n", - "C(team)[T.FK Tom Tomsk] 0.2611 0.187 1.395 0.163 -0.106 0.628\n", - "C(team)[T.FK Torpedo Armavir] -0.4075 0.234 -1.742 0.081 -0.866 0.051\n", - "C(team)[T.FK Tosno] 0.1414 0.189 0.747 0.455 -0.229 0.512\n", - "C(team)[T.FK Tyumen] -0.0970 0.206 -0.472 0.637 -0.500 0.306\n", - "C(team)[T.FK Ural] -0.0937 0.202 -0.464 0.643 -0.489 0.302\n", - "C(team)[T.FK Zhemchuzhina] -0.4755 0.228 -2.088 0.037 -0.922 -0.029\n", - "C(team)[T.FSV Frankfurt] -0.1606 0.199 -0.808 0.419 -0.550 0.229\n", - "C(team)[T.FUS de Rabat] -0.0156 0.205 -0.076 0.939 -0.417 0.386\n", - "C(team)[T.Fagiano] -0.4462 0.208 -2.146 0.032 -0.854 -0.039\n", - "C(team)[T.Fakel Voronezh] -0.3803 0.218 -1.742 0.082 -0.808 0.048\n", - "C(team)[T.Falkenbergs] -0.2255 0.210 -1.076 0.282 -0.636 0.185\n", - "C(team)[T.Falkirk] 0.1204 0.178 0.676 0.499 -0.229 0.469\n", - "C(team)[T.Feirense] -0.2901 0.221 -1.314 0.189 -0.723 0.143\n", - "C(team)[T.Fenerbahce] 0.2574 0.176 1.465 0.143 -0.087 0.602\n", - "C(team)[T.Feyenoord Rotterdam] 0.2767 0.166 1.672 0.095 -0.048 0.601\n", - "C(team)[T.Figueirense] -0.0989 0.237 -0.418 0.676 -0.563 0.365\n", - "C(team)[T.Fiorentina] 0.3014 0.186 1.621 0.105 -0.063 0.666\n", - "C(team)[T.Flamengo Rio de Janeiro] 0.0244 0.224 0.109 0.913 -0.414 0.463\n", - "C(team)[T.Fleetwood Town] 0.0726 0.172 0.422 0.673 -0.264 0.409\n", - "C(team)[T.Fluminense Rio de Janeiro] 0.3053 0.206 1.482 0.138 -0.098 0.709\n", - "C(team)[T.Forest Green] -0.3084 0.188 -1.636 0.102 -0.678 0.061\n", - "C(team)[T.Forfar Athletic] -0.3244 0.189 -1.718 0.086 -0.695 0.046\n", - "C(team)[T.Fort Lauderdale Strikers] -0.2002 0.247 -0.811 0.417 -0.684 0.283\n", - "C(team)[T.Fortuna Dusseldorf] -0.1282 0.197 -0.649 0.516 -0.515 0.259\n", - "C(team)[T.Fortuna Koln] -0.1793 0.198 -0.906 0.365 -0.567 0.209\n", - "C(team)[T.Fredrikstad FK] 0.0215 0.192 0.112 0.911 -0.354 0.397\n", - "C(team)[T.Free State Stars] -0.3985 0.223 -1.785 0.074 -0.836 0.039\n", - "C(team)[T.Freiburg] 0.2892 0.177 1.631 0.103 -0.058 0.637\n", - "C(team)[T.Frosinone] -0.5270 0.225 -2.343 0.019 -0.968 -0.086\n", - "C(team)[T.Fuerza Amarilla Machala] -0.0361 0.208 -0.174 0.862 -0.443 0.371\n", - "C(team)[T.Fulham] 0.1069 0.200 0.535 0.593 -0.285 0.499\n", - "C(team)[T.GAIS Goteborg] -0.1389 0.197 -0.706 0.480 -0.525 0.247\n", - "C(team)[T.GE Brasil Pelotas] -0.3489 0.238 -1.467 0.142 -0.815 0.117\n", - "C(team)[T.GIF Sundsvall] -0.0668 0.197 -0.338 0.735 -0.454 0.320\n", - "C(team)[T.Gainare Tottori] -0.4131 0.216 -1.911 0.056 -0.837 0.011\n", - "C(team)[T.Galatasaray] 0.4354 0.167 2.603 0.009 0.108 0.763\n", - "C(team)[T.Gallipoli] -0.3390 0.211 -1.610 0.107 -0.752 0.074\n", - "C(team)[T.Gallos Blancos Queretaro FC] -0.0898 0.198 -0.454 0.650 -0.478 0.298\n", - "C(team)[T.Gamba Osaka] 0.5306 0.168 3.157 0.002 0.201 0.860\n", - "C(team)[T.Gangwon FC] -0.4850 0.219 -2.218 0.027 -0.914 -0.056\n", - "C(team)[T.Gap FC] -0.3669 0.217 -1.690 0.091 -0.793 0.059\n", - "C(team)[T.Gateshead] -0.1814 0.184 -0.987 0.324 -0.542 0.179\n", - "C(team)[T.Gaziantepspor] -0.1133 0.194 -0.585 0.559 -0.493 0.266\n", - "C(team)[T.Gefle IF] -0.2224 0.201 -1.105 0.269 -0.617 0.172\n", - "C(team)[T.Genclerbirligi] 0.0261 0.191 0.137 0.891 -0.347 0.400\n", - "C(team)[T.Genk] 0.1155 0.185 0.626 0.531 -0.246 0.477\n", - "C(team)[T.Genoa] -0.1031 0.216 -0.476 0.634 -0.527 0.321\n", - "C(team)[T.Gent] 0.4132 0.174 2.372 0.018 0.072 0.755\n", - "C(team)[T.Germinal] -0.2777 0.213 -1.303 0.193 -0.695 0.140\n", - "C(team)[T.Getafe] -0.0955 0.206 -0.465 0.642 -0.499 0.308\n", - "C(team)[T.Giannina] -0.1715 0.208 -0.826 0.409 -0.579 0.236\n", - "C(team)[T.Gil Vicente] -0.1298 0.208 -0.625 0.532 -0.536 0.277\n", - "C(team)[T.Gillingham] 0.0109 0.180 0.060 0.952 -0.343 0.365\n", - "C(team)[T.Gimnastic Tarragona] -0.3869 0.217 -1.787 0.074 -0.811 0.037\n", - "C(team)[T.Giravanz] 0.0848 0.179 0.473 0.636 -0.267 0.437\n", - "C(team)[T.Girona] 0.1365 0.176 0.773 0.439 -0.209 0.482\n", - "C(team)[T.Glasgow Rangers] 0.5242 0.162 3.233 0.001 0.206 0.842\n", - "C(team)[T.Go Ahead Eagles] -0.5891 0.235 -2.508 0.012 -1.049 -0.129\n", - "C(team)[T.Goias Esporte Clube] 0.1808 0.205 0.881 0.379 -0.222 0.583\n", - "C(team)[T.Gold Coast United] 0.0121 0.194 0.063 0.950 -0.368 0.392\n", - "C(team)[T.Golden Arrows] -0.7686 0.246 -3.118 0.002 -1.252 -0.286\n", - "C(team)[T.Granada] -0.3660 0.214 -1.708 0.088 -0.786 0.054\n", - "C(team)[T.Grasshoppers Zurich] -0.2805 0.200 -1.402 0.161 -0.673 0.112\n", - "C(team)[T.Grays] -0.9286 0.248 -3.744 0.000 -1.415 -0.442\n", - "C(team)[T.Greenock Morton] 0.0194 0.184 0.106 0.916 -0.340 0.379\n", - "C(team)[T.Gremio Barueri] -0.1509 0.224 -0.673 0.501 -0.591 0.289\n", - "C(team)[T.Gremio Porto Alegre] 0.1461 0.224 0.651 0.515 -0.294 0.586\n", - "C(team)[T.Gremio Prudente] -0.0915 0.243 -0.377 0.706 -0.567 0.384\n", - "C(team)[T.Grenoble] -0.3718 0.239 -1.555 0.120 -0.840 0.097\n", - "C(team)[T.Greuther Furth] 0.2158 0.176 1.227 0.220 -0.129 0.561\n", - "C(team)[T.Grimsby] 0.0738 0.172 0.430 0.667 -0.263 0.410\n", - "C(team)[T.Grombalia Sports] -0.2246 0.245 -0.917 0.359 -0.705 0.256\n", - "C(team)[T.Groningen] 0.2113 0.171 1.235 0.217 -0.124 0.547\n", - "C(team)[T.Grosseto] -0.2808 0.205 -1.373 0.170 -0.682 0.120\n", - "C(team)[T.Guadalajara] -0.4187 0.223 -1.881 0.060 -0.855 0.017\n", - "C(team)[T.Guangzhou Evergrande] 0.1992 0.181 1.099 0.272 -0.156 0.555\n", - "C(team)[T.Guangzhou Rich and Force] 0.3071 0.171 1.794 0.073 -0.028 0.643\n", - "C(team)[T.Guarani FC] -0.2275 0.231 -0.984 0.325 -0.680 0.225\n", - "C(team)[T.Guaratingueta] -0.4526 0.243 -1.861 0.063 -0.929 0.024\n", - "C(team)[T.Gubbio] -0.6671 0.237 -2.816 0.005 -1.131 -0.203\n", - "C(team)[T.Guimaraes] 0.1415 0.183 0.774 0.439 -0.217 0.500\n", - "C(team)[T.Guingamp] -0.2371 0.219 -1.081 0.280 -0.667 0.193\n", - "C(team)[T.Guiseley] -0.4606 0.211 -2.186 0.029 -0.873 -0.048\n", - "C(team)[T.Gwangju FC] 0.0375 0.191 0.197 0.844 -0.336 0.411\n", - "C(team)[T.Gwangju Sangmu] -0.6236 0.233 -2.675 0.007 -1.080 -0.167\n", - "C(team)[T.GyE La Plata] -0.1569 0.204 -0.771 0.441 -0.556 0.242\n", - "C(team)[T.Gyeongnam FC] -0.1618 0.200 -0.808 0.419 -0.554 0.231\n", - "C(team)[T.HB Koge] -0.3502 0.216 -1.621 0.105 -0.773 0.073\n", - "C(team)[T.HJK Helsinki] 0.2225 0.175 1.273 0.203 -0.120 0.565\n", - "C(team)[T.Hacken] 0.1593 0.179 0.891 0.373 -0.191 0.510\n", - "C(team)[T.Haka Valkeakoski] -0.3049 0.213 -1.433 0.152 -0.722 0.112\n", - "C(team)[T.Halifax] -0.4916 0.210 -2.336 0.019 -0.904 -0.079\n", - "C(team)[T.Hallescher FC] -0.4356 0.212 -2.058 0.040 -0.851 -0.021\n", - "C(team)[T.Halmstads BK] -0.4541 0.211 -2.147 0.032 -0.869 -0.040\n", - "C(team)[T.Hamburger SV] 0.2221 0.205 1.085 0.278 -0.179 0.623\n", - "C(team)[T.Hamilton Academical] 0.0379 0.197 0.192 0.847 -0.348 0.424\n", - "C(team)[T.Hamilton Wanderers] 0.0762 0.230 0.331 0.741 -0.375 0.527\n", - "C(team)[T.Hammarby IF] -0.2678 0.202 -1.323 0.186 -0.664 0.129\n", - "C(team)[T.Hangzhou Greentown] -0.2493 0.200 -1.244 0.213 -0.642 0.143\n", - "C(team)[T.Hannover 96] 0.1253 0.198 0.632 0.528 -0.264 0.514\n", - "C(team)[T.Hansa Rostock] -0.5212 0.216 -2.412 0.016 -0.945 -0.098\n", - "C(team)[T.Hapoel Acre FC] -0.3450 0.212 -1.628 0.103 -0.760 0.070\n", - "C(team)[T.Hapoel Ashkelon] -0.1593 0.214 -0.745 0.456 -0.578 0.260\n", - "C(team)[T.Hapoel Beer Sheva] 0.2509 0.182 1.378 0.168 -0.106 0.608\n", - "C(team)[T.Hapoel Haifa] -0.0648 0.203 -0.319 0.750 -0.463 0.333\n", - "C(team)[T.Hapoel Kfar Saba] -0.3413 0.227 -1.505 0.132 -0.786 0.103\n", - "C(team)[T.Hapoel Petach-Tikva] -0.1718 0.204 -0.843 0.399 -0.571 0.228\n", - "C(team)[T.Hapoel Raanana] -0.5014 0.230 -2.180 0.029 -0.952 -0.051\n", - "C(team)[T.Hapoel Ramat Gan] -0.2394 0.212 -1.130 0.259 -0.655 0.176\n", - "C(team)[T.Hapoel Rishon] -0.3795 0.237 -1.599 0.110 -0.845 0.086\n", - "C(team)[T.Hapoel Tel Aviv] -0.1987 0.201 -0.988 0.323 -0.593 0.195\n", - "C(team)[T.Hartlepool] -0.2354 0.206 -1.145 0.252 -0.638 0.167\n", - "C(team)[T.Hassania US Agadir] 0.0569 0.196 0.290 0.772 -0.327 0.441\n", - "C(team)[T.Hawkes Bay United FC] 0.3576 0.164 2.183 0.029 0.037 0.679\n", - "C(team)[T.Hayes and Yeading] -0.5890 0.217 -2.715 0.007 -1.014 -0.164\n", - "C(team)[T.Hearts] 0.6888 0.169 4.072 0.000 0.357 1.020\n", - "C(team)[T.Hebei China Fortune FC] -0.1506 0.213 -0.709 0.479 -0.567 0.266\n", - "C(team)[T.Heerenveen] -0.0029 0.181 -0.016 0.987 -0.358 0.352\n", - "C(team)[T.Heidenheim] 0.0482 0.182 0.264 0.792 -0.309 0.406\n", - "C(team)[T.Hellas Verona] 0.1153 0.180 0.640 0.522 -0.238 0.468\n", - "C(team)[T.Helsingborgs IF] 0.0173 0.188 0.092 0.927 -0.351 0.386\n", - "C(team)[T.Helsingfors IFK] -0.0559 0.198 -0.283 0.777 -0.443 0.331\n", - "C(team)[T.Henan Jianye] -0.3337 0.202 -1.649 0.099 -0.730 0.063\n", - "C(team)[T.Heracles] 0.1354 0.170 0.794 0.427 -0.199 0.469\n", - "C(team)[T.Hercules] -0.1624 0.200 -0.810 0.418 -0.555 0.230\n", - "C(team)[T.Hereford] -0.3084 0.198 -1.556 0.120 -0.697 0.080\n", - "C(team)[T.Hertha Berlin] 0.1539 0.188 0.819 0.413 -0.214 0.522\n", - "C(team)[T.Hibernian] 0.4162 0.175 2.378 0.017 0.073 0.759\n", - "C(team)[T.Higgins] 0.1214 0.174 0.699 0.485 -0.219 0.462\n", - "C(team)[T.Highlands Park] -0.5196 0.258 -2.017 0.044 -1.025 -0.015\n", - "C(team)[T.Histon] -0.7285 0.231 -3.150 0.002 -1.182 -0.275\n", - "C(team)[T.Hobro] -0.2965 0.212 -1.397 0.163 -0.713 0.120\n", - "C(team)[T.Hoffenheim] 0.4613 0.179 2.573 0.010 0.110 0.813\n", - "C(team)[T.HollyHock] -0.4674 0.210 -2.230 0.026 -0.878 -0.057\n", - "C(team)[T.Holstein Kiel] -0.3075 0.202 -1.521 0.128 -0.704 0.089\n", - "C(team)[T.Honefoss BK] -0.1501 0.200 -0.751 0.453 -0.542 0.242\n", - "C(team)[T.Horsens] -0.2677 0.212 -1.261 0.207 -0.684 0.148\n", - "C(team)[T.Houston Dynamo] -0.2317 0.230 -1.009 0.313 -0.682 0.218\n", - "C(team)[T.Huddersfield Town] 0.0722 0.198 0.365 0.715 -0.315 0.460\n", - "C(team)[T.Huesca] -0.3927 0.207 -1.894 0.058 -0.799 0.014\n", - "C(team)[T.Hull City] -0.0594 0.215 -0.277 0.782 -0.481 0.362\n", - "C(team)[T.Huracan] -0.5353 0.239 -2.235 0.025 -1.005 -0.066\n", - "C(team)[T.Hyde United] -0.2466 0.196 -1.258 0.208 -0.631 0.138\n", - "C(team)[T.Hyeres FC] -0.7838 0.246 -3.186 0.001 -1.266 -0.302\n", - "C(team)[T.IF Elfsborg] 0.1684 0.174 0.970 0.332 -0.172 0.508\n", - "C(team)[T.IFK Goteborg] 0.2305 0.174 1.321 0.186 -0.111 0.572\n", - "C(team)[T.IFK Mariehamn] -0.2353 0.201 -1.171 0.242 -0.629 0.159\n", - "C(team)[T.IFK Norrkoping] 0.0538 0.186 0.289 0.773 -0.311 0.419\n", - "C(team)[T.IK Start] 0.1221 0.206 0.594 0.552 -0.281 0.525\n", - "C(team)[T.Icasa] -0.2248 0.227 -0.989 0.323 -0.670 0.221\n", - "C(team)[T.Ilves Tampere] -0.2399 0.219 -1.096 0.273 -0.669 0.189\n", - "C(team)[T.Incheon United] -0.0422 0.194 -0.218 0.828 -0.422 0.337\n", - "C(team)[T.Independiente] -0.4087 0.222 -1.845 0.065 -0.843 0.025\n", - "C(team)[T.Independiente del Valle] 0.2330 0.178 1.312 0.190 -0.115 0.581\n", - "C(team)[T.Indios Juarez] -0.8870 0.286 -3.100 0.002 -1.448 -0.326\n", - "C(team)[T.Indy Eleven] -0.1376 0.261 -0.527 0.598 -0.649 0.374\n", - "C(team)[T.Ingolstadt] -0.1628 0.199 -0.818 0.413 -0.553 0.227\n", - "C(team)[T.Inter Turku] -0.1838 0.199 -0.923 0.356 -0.574 0.206\n", - "C(team)[T.Internacional] 0.3310 0.215 1.541 0.123 -0.090 0.752\n", - "C(team)[T.Internazionale Milano] 0.4523 0.179 2.529 0.011 0.102 0.803\n", - "C(team)[T.Inverness CT] 0.1674 0.198 0.846 0.398 -0.221 0.555\n", - "C(team)[T.Ipatinga FC] -0.3795 0.244 -1.558 0.119 -0.857 0.098\n", - "C(team)[T.Ipswich Town] -0.0644 0.213 -0.303 0.762 -0.481 0.352\n", - "C(team)[T.Iraklis] -0.2741 0.213 -1.286 0.198 -0.692 0.144\n", - "C(team)[T.Ironi Kiryat Shmona] -0.0921 0.199 -0.463 0.643 -0.482 0.298\n", - "C(team)[T.Ironi Ramat HaSharon] -0.2280 0.216 -1.053 0.292 -0.652 0.196\n", - "C(team)[T.Irtysh Omsk] -0.7010 0.252 -2.785 0.005 -1.194 -0.208\n", - "C(team)[T.Istres] 0.0169 0.201 0.084 0.933 -0.376 0.410\n", - "C(team)[T.Ittihad Khemisset] -0.9036 0.286 -3.156 0.002 -1.465 -0.342\n", - "C(team)[T.Ittihad Tanger] 0.1353 0.198 0.684 0.494 -0.252 0.523\n", - "C(team)[T.JEF United] -0.3955 0.207 -1.912 0.056 -0.801 0.010\n", - "C(team)[T.JS El Massira] -0.5942 0.248 -2.399 0.016 -1.080 -0.109\n", - "C(team)[T.JS Kabylie] -0.3332 0.215 -1.548 0.122 -0.755 0.089\n", - "C(team)[T.JS Kairouan] -0.0054 0.210 -0.026 0.980 -0.417 0.406\n", - "C(team)[T.JS Kasba Tadla] -0.8898 0.287 -3.105 0.002 -1.451 -0.328\n", - "C(team)[T.JS Saoura] -0.0303 0.206 -0.147 0.883 -0.433 0.373\n", - "C(team)[T.JSM Bejaia] -0.2018 0.211 -0.956 0.339 -0.616 0.212\n", - "C(team)[T.Jacksonville Armada] -0.3178 0.276 -1.153 0.249 -0.858 0.223\n", - "C(team)[T.Jaen] -0.3451 0.211 -1.636 0.102 -0.758 0.068\n", - "C(team)[T.Jaguares Chiapas] -0.4871 0.233 -2.093 0.036 -0.943 -0.031\n", - "C(team)[T.Jahn Regensburg] -0.2997 0.195 -1.541 0.123 -0.681 0.082\n", - "C(team)[T.Jeju United] -0.1336 0.193 -0.691 0.490 -0.513 0.245\n", - "C(team)[T.Jeonbuk FC] 0.1367 0.176 0.776 0.438 -0.209 0.482\n", - "C(team)[T.Jeonnam Dragons] -0.2124 0.206 -1.032 0.302 -0.616 0.191\n", - "C(team)[T.Jiangsu Suning] -0.3223 0.210 -1.534 0.125 -0.734 0.089\n", - "C(team)[T.Joinville Esporte Clube] -0.1349 0.224 -0.603 0.547 -0.574 0.304\n", - "C(team)[T.Jomo Cosmos] -0.5664 0.243 -2.334 0.020 -1.042 -0.091\n", - "C(team)[T.Jonkopings Sodra] -0.3484 0.228 -1.528 0.127 -0.795 0.099\n", - "C(team)[T.Jubilo Iwata] 0.0464 0.191 0.242 0.809 -0.329 0.422\n", - "C(team)[T.Juve Stabia] -0.5072 0.223 -2.276 0.023 -0.944 -0.070\n", - "C(team)[T.Juventus] 0.3521 0.184 1.917 0.055 -0.008 0.712\n", - "C(team)[T.Jyvaskyla] 0.1014 0.185 0.548 0.584 -0.261 0.464\n", - "C(team)[T.KAC de Kenitra] -0.2630 0.216 -1.217 0.223 -0.686 0.160\n", - "C(team)[T.Kaiserslautern] -0.0781 0.191 -0.410 0.682 -0.452 0.295\n", - "C(team)[T.Kaizer Chiefs] 0.2367 0.179 1.324 0.185 -0.114 0.587\n", - "C(team)[T.Kallonis] -0.4991 0.244 -2.049 0.040 -0.977 -0.022\n", - "C(team)[T.Kalmar FF] -0.2825 0.203 -1.394 0.163 -0.680 0.115\n", - "C(team)[T.Kamatamare] -0.9098 0.255 -3.571 0.000 -1.409 -0.411\n", - "C(team)[T.Kansas City Wizards] -0.3314 0.238 -1.393 0.164 -0.798 0.135\n", - "C(team)[T.Kapfenberger SV] -0.5723 0.231 -2.477 0.013 -1.025 -0.119\n", - "C(team)[T.Karabukspor] 0.1858 0.183 1.013 0.311 -0.174 0.545\n", - "C(team)[T.Karlsruher SC] -0.0157 0.184 -0.085 0.932 -0.377 0.346\n", - "C(team)[T.Kashima Antlers] 0.0638 0.199 0.321 0.748 -0.325 0.453\n", - "C(team)[T.Kashiwa Reysol] 0.1051 0.202 0.519 0.603 -0.291 0.502\n", - "C(team)[T.Kasimpasa] 0.0729 0.188 0.388 0.698 -0.295 0.441\n", - "C(team)[T.Kataller Toyama] -0.4381 0.220 -1.987 0.047 -0.870 -0.006\n", - "C(team)[T.Kavala] -0.2070 0.216 -0.958 0.338 -0.631 0.216\n", - "C(team)[T.Kawasaki Frontale] 0.3069 0.181 1.694 0.090 -0.048 0.662\n", - "C(team)[T.Kawkab AC Marrakech] -0.3580 0.222 -1.613 0.107 -0.793 0.077\n", - "C(team)[T.Kayserispor] -0.0613 0.196 -0.313 0.754 -0.445 0.322\n", - "C(team)[T.Kemi Kings] -0.4028 0.244 -1.651 0.099 -0.881 0.075\n", - "C(team)[T.Kerkyra] -0.3653 0.232 -1.576 0.115 -0.819 0.089\n", - "C(team)[T.Kettering Town] -0.5985 0.217 -2.756 0.006 -1.024 -0.173\n", - "C(team)[T.Khimik Dzerzhinsk] -0.4573 0.226 -2.022 0.043 -0.901 -0.014\n", - "C(team)[T.Kickers Offenbach] -0.2981 0.199 -1.497 0.134 -0.688 0.092\n", - "C(team)[T.Kidderminster] -0.4890 0.195 -2.505 0.012 -0.872 -0.106\n", - "C(team)[T.Kilmarnock] 0.2577 0.200 1.286 0.199 -0.135 0.650\n", - "C(team)[T.Koblenz] -0.4195 0.209 -2.006 0.045 -0.829 -0.010\n", - "C(team)[T.Kongsvinger IL] -0.4970 0.237 -2.098 0.036 -0.961 -0.033\n", - "C(team)[T.Konyaspor] -0.4835 0.227 -2.127 0.033 -0.929 -0.038\n", - "C(team)[T.Kortrijk] 0.3625 0.167 2.169 0.030 0.035 0.690\n", - "C(team)[T.Kotkan Tyovaen Palloilijat] -0.4580 0.242 -1.892 0.059 -0.933 0.017\n", - "C(team)[T.Kouvola] -0.2937 0.207 -1.421 0.155 -0.699 0.111\n", - "C(team)[T.Krylia Sovetov] -0.0731 0.214 -0.342 0.733 -0.493 0.346\n", - "C(team)[T.Kuban Krasnodar] 0.1876 0.190 0.990 0.322 -0.184 0.559\n", - "C(team)[T.Kuopion PS] -0.0899 0.191 -0.471 0.637 -0.464 0.284\n", - "C(team)[T.Kyoto Sanga] -0.1340 0.190 -0.706 0.480 -0.506 0.238\n", - "C(team)[T.LASK Linz] -0.0943 0.197 -0.478 0.633 -0.481 0.292\n", - "C(team)[T.LB Chateauroux] -0.1436 0.201 -0.715 0.474 -0.537 0.250\n", - "C(team)[T.LDU Loja] -0.2322 0.205 -1.133 0.257 -0.634 0.169\n", - "C(team)[T.LDU Portoviejo] -0.4961 0.239 -2.073 0.038 -0.965 -0.027\n", - "C(team)[T.LDU Quito] 0.1789 0.178 1.006 0.315 -0.170 0.527\n", - "C(team)[T.La Coruna] -0.1174 0.195 -0.601 0.548 -0.500 0.265\n", - "C(team)[T.La Palme Tozeur] -0.2177 0.244 -0.891 0.373 -0.697 0.261\n", - "C(team)[T.La Serena] 0.1708 0.178 0.962 0.336 -0.177 0.519\n", - "C(team)[T.Larisa] -0.6244 0.249 -2.509 0.012 -1.112 -0.137\n", - "C(team)[T.Las Palmas] 0.0650 0.175 0.373 0.710 -0.277 0.407\n", - "C(team)[T.Latina] -0.2949 0.208 -1.420 0.156 -0.702 0.112\n", - "C(team)[T.Lausanne Sport] -0.0749 0.196 -0.381 0.703 -0.460 0.310\n", - "C(team)[T.Laval] -0.3002 0.218 -1.378 0.168 -0.727 0.127\n", - "C(team)[T.Lazio] 0.2852 0.185 1.538 0.124 -0.078 0.649\n", - "C(team)[T.Le Havre] 0.2389 0.185 1.289 0.198 -0.124 0.602\n", - "C(team)[T.Le Mans] -0.0977 0.212 -0.461 0.645 -0.513 0.318\n", - "C(team)[T.Le Poire-sur-Vie] -0.2206 0.206 -1.071 0.284 -0.624 0.183\n", - "C(team)[T.Lecce] 0.2219 0.181 1.228 0.219 -0.132 0.576\n", - "C(team)[T.Leeds United] 0.1094 0.191 0.573 0.567 -0.265 0.484\n", - "C(team)[T.Leganes] -0.9324 0.272 -3.428 0.001 -1.465 -0.399\n", - "C(team)[T.Leicester City] 0.3677 0.182 2.015 0.044 0.010 0.725\n", - "C(team)[T.Leiria] -0.4571 0.228 -2.007 0.045 -0.904 -0.011\n", - "C(team)[T.Leixoes] -0.2792 0.231 -1.209 0.227 -0.732 0.174\n", - "C(team)[T.Lens] -0.0771 0.203 -0.379 0.704 -0.475 0.321\n", - "C(team)[T.Leones Negros] -0.5462 0.247 -2.210 0.027 -1.031 -0.062\n", - "C(team)[T.Les Herbiers VF] -0.4299 0.222 -1.940 0.052 -0.864 0.005\n", - "C(team)[T.Levadeiakos] -0.3420 0.223 -1.535 0.125 -0.779 0.095\n", - "C(team)[T.Levante] -0.3608 0.217 -1.666 0.096 -0.785 0.064\n", - "C(team)[T.Leverkusen] 0.6649 0.172 3.862 0.000 0.327 1.002\n", - "C(team)[T.Leyton Orient] 0.1218 0.183 0.664 0.507 -0.238 0.481\n", - "C(team)[T.Liaoning] -0.0503 0.194 -0.259 0.795 -0.431 0.330\n", - "C(team)[T.Lierse] -0.2195 0.212 -1.037 0.300 -0.634 0.195\n", - "C(team)[T.Lille] 0.2586 0.191 1.356 0.175 -0.115 0.632\n", - "C(team)[T.Lillestrom SK] -0.0411 0.197 -0.209 0.835 -0.427 0.345\n", - "C(team)[T.Lincoln] -0.3973 0.192 -2.064 0.039 -0.774 -0.020\n", - "C(team)[T.Liverpool] 0.8072 0.169 4.772 0.000 0.476 1.139\n", - "C(team)[T.Livingston] 0.3020 0.168 1.799 0.072 -0.027 0.631\n", - "C(team)[T.Livorno] -0.2881 0.204 -1.412 0.158 -0.688 0.112\n", - "C(team)[T.Llagostera] -0.2165 0.207 -1.045 0.296 -0.622 0.189\n", - "C(team)[T.Llaneros de Guanare] -0.0753 0.204 -0.369 0.712 -0.475 0.325\n", - "C(team)[T.Lokeren] 0.0338 0.189 0.179 0.858 -0.337 0.405\n", - "C(team)[T.Lokomotiv Moscow] 0.5170 0.184 2.807 0.005 0.156 0.878\n", - "C(team)[T.Londrina Esporte Clube] -0.3477 0.236 -1.471 0.141 -0.811 0.115\n", - "C(team)[T.Lorient] 0.5341 0.182 2.934 0.003 0.177 0.891\n", - "C(team)[T.Los Angeles Galaxy] 0.0404 0.212 0.190 0.849 -0.376 0.457\n", - "C(team)[T.Louhans-Cuiseaux] -1.1484 0.279 -4.115 0.000 -1.695 -0.601\n", - "C(team)[T.Luch-Energia] -0.5229 0.232 -2.254 0.024 -0.978 -0.068\n", - "C(team)[T.Lugo] -0.2598 0.203 -1.282 0.200 -0.657 0.137\n", - "C(team)[T.Luton Town] -0.2382 0.194 -1.228 0.220 -0.618 0.142\n", - "C(team)[T.Luverdense] -0.5085 0.249 -2.038 0.042 -0.997 -0.019\n", - "C(team)[T.Lyn Oslo] -0.2552 0.227 -1.126 0.260 -0.699 0.189\n", - "C(team)[T.Lyngby] -0.1343 0.202 -0.664 0.507 -0.531 0.262\n", - "C(team)[T.MC Alger] -0.0653 0.196 -0.333 0.739 -0.449 0.319\n", - "C(team)[T.MC El Eulma] -0.1452 0.204 -0.711 0.477 -0.545 0.255\n", - "C(team)[T.MC Oran] -0.3096 0.221 -1.399 0.162 -0.743 0.124\n", - "C(team)[T.MC Saida] -0.2304 0.213 -1.081 0.280 -0.648 0.187\n", - "C(team)[T.MO Bejaia] 0.0343 0.196 0.174 0.861 -0.350 0.419\n", - "C(team)[T.MSP Batna] -0.7403 0.280 -2.643 0.008 -1.289 -0.191\n", - "C(team)[T.MSV Duisburg] 0.1151 0.174 0.662 0.508 -0.226 0.456\n", - "C(team)[T.MVD Rossii] -1.3941 0.351 -3.967 0.000 -2.083 -0.705\n", - "C(team)[T.Macae Esporte FC] -0.2442 0.231 -1.057 0.290 -0.697 0.209\n", - "C(team)[T.Macara] -0.2609 0.202 -1.291 0.197 -0.657 0.135\n", - "C(team)[T.Maccabi Ahi Nazareth] -0.2772 0.242 -1.146 0.252 -0.751 0.197\n", - "C(team)[T.Maccabi Haifa] 0.2551 0.175 1.457 0.145 -0.088 0.598\n", - "C(team)[T.Maccabi Netanya] -0.2708 0.222 -1.222 0.222 -0.705 0.164\n", - "C(team)[T.Maccabi Petach-Tikva] -0.0405 0.203 -0.199 0.842 -0.438 0.357\n", - "C(team)[T.Maccabi Tel Aviv] 0.1591 0.183 0.869 0.385 -0.200 0.518\n", - "C(team)[T.Macclesfield] -0.4533 0.202 -2.239 0.025 -0.850 -0.056\n", - "C(team)[T.Machida Zelvia] -0.1471 0.201 -0.732 0.464 -0.541 0.247\n", - "C(team)[T.Magdeburg] -0.0668 0.192 -0.347 0.728 -0.444 0.310\n", - "C(team)[T.Maghrib de Fes] -0.3123 0.228 -1.368 0.171 -0.760 0.135\n", - "C(team)[T.Maidstone] -0.2302 0.193 -1.195 0.232 -0.608 0.147\n", - "C(team)[T.Mainz 05] 0.0640 0.200 0.321 0.749 -0.327 0.456\n", - "C(team)[T.Mainz 05 II] -0.2519 0.204 -1.236 0.217 -0.651 0.148\n", - "C(team)[T.Malaga] -0.0906 0.201 -0.449 0.653 -0.485 0.304\n", - "C(team)[T.Mallorca] -0.0561 0.194 -0.289 0.772 -0.436 0.324\n", - "C(team)[T.Malmo FF] 0.2153 0.179 1.200 0.230 -0.136 0.567\n", - "C(team)[T.Mamelodi Sundowns] 0.1593 0.182 0.875 0.382 -0.198 0.516\n", - "C(team)[T.Manchester City] 0.6038 0.181 3.329 0.001 0.248 0.959\n", - "C(team)[T.Manchester United] 0.6634 0.178 3.719 0.000 0.314 1.013\n", - "C(team)[T.Manisaspor] -0.3282 0.213 -1.541 0.123 -0.746 0.089\n", - "C(team)[T.Mansfield Town] 0.0564 0.171 0.330 0.741 -0.278 0.391\n", - "C(team)[T.Manta FC] -0.3592 0.215 -1.670 0.095 -0.781 0.062\n", - "C(team)[T.Mantova] -0.2250 0.202 -1.111 0.266 -0.622 0.172\n", - "C(team)[T.Maritimo] -0.0061 0.194 -0.031 0.975 -0.385 0.373\n", - "C(team)[T.Maritzburg United] -0.0215 0.193 -0.111 0.911 -0.400 0.357\n", - "C(team)[T.Marseille Consolat] -0.1207 0.198 -0.611 0.541 -0.508 0.266\n", - "C(team)[T.Matsumoto] 0.0124 0.178 0.070 0.945 -0.336 0.361\n", - "C(team)[T.Mechelen] -0.2852 0.203 -1.404 0.160 -0.683 0.113\n", - "C(team)[T.Melbourne City FC] -0.0049 0.183 -0.027 0.979 -0.363 0.353\n", - "C(team)[T.Melbourne Victory] 0.1146 0.172 0.668 0.504 -0.222 0.451\n", - "C(team)[T.Mersin Idman Yurdu] -0.0876 0.200 -0.437 0.662 -0.480 0.305\n", - "C(team)[T.Metallurg Lipetsk] -0.4884 0.235 -2.077 0.038 -0.949 -0.028\n", - "C(team)[T.Metallurg-Kuzbass Novokuznetsk] -0.8819 0.289 -3.049 0.002 -1.449 -0.315\n", - "C(team)[T.Metropolitanos FC] -0.2552 0.213 -1.201 0.230 -0.672 0.161\n", - "C(team)[T.Miami FC] -0.2999 0.294 -1.020 0.308 -0.876 0.277\n", - "C(team)[T.Middlesbrough] 0.1073 0.190 0.564 0.573 -0.266 0.480\n", - "C(team)[T.Midtjylland] 0.1682 0.175 0.964 0.335 -0.174 0.510\n", - "C(team)[T.Millwall] 0.2061 0.178 1.155 0.248 -0.144 0.556\n", - "C(team)[T.Milton Keynes Dons] -0.2772 0.210 -1.321 0.187 -0.689 0.134\n", - "C(team)[T.Mineros de Guayana] 0.3671 0.171 2.144 0.032 0.031 0.703\n", - "C(team)[T.Minnesota] 0.1585 0.245 0.648 0.517 -0.321 0.638\n", - "C(team)[T.Mirandes] -0.4448 0.216 -2.057 0.040 -0.869 -0.021\n", - "C(team)[T.Mjallby AIF] -0.0551 0.195 -0.283 0.777 -0.437 0.326\n", - "C(team)[T.Mjondalen IF] -0.1859 0.217 -0.856 0.392 -0.612 0.240\n", - "C(team)[T.Modena] -0.1955 0.198 -0.987 0.324 -0.584 0.193\n", - "C(team)[T.Moghreb de Tetouan] 0.1538 0.186 0.827 0.408 -0.211 0.518\n", - "C(team)[T.Mogi Mirim] -0.6241 0.260 -2.401 0.016 -1.134 -0.115\n", - "C(team)[T.Molde FK] 0.0227 0.183 0.124 0.902 -0.337 0.382\n", - "C(team)[T.Monaco] 0.4868 0.171 2.843 0.004 0.151 0.822\n", - "C(team)[T.Monagas] -0.4131 0.221 -1.870 0.061 -0.846 0.020\n", - "C(team)[T.Monarcas Morelia] 0.1106 0.185 0.598 0.550 -0.252 0.473\n", - "C(team)[T.Monchengladbach] 0.3660 0.187 1.961 0.050 0.000 0.732\n", - "C(team)[T.Montedio Yamagata] -0.4140 0.218 -1.896 0.058 -0.842 0.014\n", - "C(team)[T.Montpellier] 0.2245 0.201 1.117 0.264 -0.170 0.619\n", - "C(team)[T.Montreal Impact] 0.0227 0.194 0.117 0.907 -0.358 0.403\n", - "C(team)[T.Montrose] -0.2256 0.180 -1.253 0.210 -0.579 0.127\n", - "C(team)[T.Mordovia Saransk] 0.1452 0.193 0.751 0.452 -0.234 0.524\n", - "C(team)[T.Morecambe] -0.2865 0.198 -1.446 0.148 -0.675 0.102\n", - "C(team)[T.Moreirense] -0.2218 0.208 -1.066 0.286 -0.630 0.186\n", - "C(team)[T.Moroka Swallows] 0.0280 0.196 0.143 0.886 -0.356 0.412\n", - "C(team)[T.Motherwell] 0.3064 0.192 1.592 0.111 -0.071 0.684\n", - "C(team)[T.Mouloudia Oujda] -0.2889 0.244 -1.186 0.235 -0.766 0.188\n", - "C(team)[T.Mouscron] -0.4264 0.253 -1.684 0.092 -0.923 0.070\n", - "C(team)[T.Mouscron-Peruwelz] -0.3561 0.221 -1.614 0.107 -0.789 0.076\n", - "C(team)[T.Munich 1860] -0.1096 0.191 -0.574 0.566 -0.484 0.265\n", - "C(team)[T.Municipal Iquique] 0.0980 0.174 0.562 0.574 -0.244 0.440\n", - "C(team)[T.Murcia] -0.2133 0.202 -1.054 0.292 -0.610 0.183\n", - "C(team)[T.Mushuc Runa] -0.4057 0.231 -1.754 0.079 -0.859 0.048\n", - "C(team)[T.NA Hussein Dey] -0.0405 0.205 -0.197 0.844 -0.443 0.362\n", - "C(team)[T.NAC Breda] 0.0383 0.182 0.210 0.834 -0.319 0.396\n", - "C(team)[T.NEC Nijmegen] 0.0988 0.180 0.548 0.584 -0.255 0.452\n", - "C(team)[T.Nacional] 0.1096 0.183 0.597 0.550 -0.250 0.469\n", - "C(team)[T.Nagoya Grampus] 0.3060 0.183 1.673 0.094 -0.053 0.665\n", - "C(team)[T.Nanchang Hengyuan] -0.5760 0.243 -2.370 0.018 -1.052 -0.100\n", - "C(team)[T.Nancy] -0.2607 0.229 -1.137 0.255 -0.710 0.189\n", - "C(team)[T.Nantes] -0.3170 0.225 -1.408 0.159 -0.758 0.124\n", - "C(team)[T.Napoli] 0.5070 0.171 2.970 0.003 0.172 0.842\n", - "C(team)[T.Naval] -0.4050 0.225 -1.799 0.072 -0.846 0.036\n", - "C(team)[T.Neuchatel Xamax] -0.1314 0.199 -0.662 0.508 -0.520 0.258\n", - "C(team)[T.New England Revolution] -0.1001 0.216 -0.464 0.643 -0.523 0.323\n", - "C(team)[T.New York City FC] 0.3111 0.201 1.547 0.122 -0.083 0.705\n", - "C(team)[T.New York Cosmos] 0.2319 0.241 0.962 0.336 -0.241 0.705\n", - "C(team)[T.New York Red Bulls] 0.0209 0.207 0.101 0.920 -0.385 0.427\n", - "C(team)[T.Newcastle United] 0.4118 0.195 2.116 0.034 0.030 0.793\n", - "C(team)[T.Newcastle United Jets] -0.1761 0.201 -0.877 0.380 -0.569 0.217\n", - "C(team)[T.Newells Old Boys] -0.0008 0.195 -0.004 0.997 -0.382 0.381\n", - "C(team)[T.Newport County] -0.0953 0.182 -0.523 0.601 -0.452 0.262\n", - "C(team)[T.Nice] 0.3630 0.188 1.928 0.054 -0.006 0.732\n", - "C(team)[T.Niki Volou FC] -1.9543 0.506 -3.863 0.000 -2.946 -0.963\n", - "C(team)[T.Nimes] -0.1340 0.203 -0.660 0.509 -0.532 0.264\n", - "C(team)[T.Nimes Olympique] 0.1299 0.187 0.697 0.486 -0.236 0.496\n", - "C(team)[T.Nocerina 1910] -0.1444 0.203 -0.711 0.477 -0.543 0.254\n", - "C(team)[T.Nordsjalland] 0.0436 0.185 0.236 0.813 -0.318 0.406\n", - "C(team)[T.North Ferriby] -0.9445 0.240 -3.935 0.000 -1.415 -0.474\n", - "C(team)[T.North Queensland Fury] -0.1740 0.199 -0.873 0.383 -0.565 0.217\n", - "C(team)[T.Northampton Town] -0.1883 0.193 -0.975 0.330 -0.567 0.190\n", - "C(team)[T.Norwich City] 0.4372 0.179 2.442 0.015 0.086 0.788\n", - "C(team)[T.Nosta Novotroitsk] -0.1180 0.201 -0.586 0.558 -0.512 0.276\n", - "C(team)[T.Nottingham Forest] 0.0104 0.195 0.054 0.957 -0.372 0.392\n", - "C(team)[T.Notts County] -0.2642 0.201 -1.314 0.189 -0.658 0.130\n", - "C(team)[T.Novara] -0.3972 0.214 -1.856 0.063 -0.817 0.022\n", - "C(team)[T.Nueva Chicago] -0.4875 0.243 -2.010 0.044 -0.963 -0.012\n", - "C(team)[T.Numancia] 0.0633 0.176 0.361 0.718 -0.281 0.407\n", - "C(team)[T.Nuneaton Town] -0.8262 0.232 -3.564 0.000 -1.280 -0.372\n", - "C(team)[T.Nurnberg] -0.1156 0.206 -0.561 0.574 -0.519 0.288\n", - "C(team)[T.OFI Heraklion] -0.5292 0.248 -2.131 0.033 -1.016 -0.042\n", - "C(team)[T.Odd Grenland] 0.2882 0.174 1.655 0.098 -0.053 0.629\n", - "C(team)[T.Odense] -0.2047 0.201 -1.016 0.310 -0.600 0.190\n", - "C(team)[T.Oeste FC] -0.6127 0.255 -2.406 0.016 -1.112 -0.114\n", - "C(team)[T.Oita Trinita] -0.0745 0.198 -0.377 0.706 -0.462 0.313\n", - "C(team)[T.Oldham Athletic] -0.0611 0.190 -0.321 0.748 -0.434 0.312\n", - "C(team)[T.Olhanense] -0.5148 0.229 -2.250 0.024 -0.963 -0.066\n", - "C(team)[T.Olimpo] -0.3147 0.218 -1.444 0.149 -0.742 0.113\n", - "C(team)[T.Olympiakos Piraeus] 0.5523 0.165 3.348 0.001 0.229 0.876\n", - "C(team)[T.Olympiakos Volou] 0.1351 0.201 0.673 0.501 -0.258 0.528\n", - "C(team)[T.Olympique Beja] -0.2114 0.220 -0.960 0.337 -0.643 0.220\n", - "C(team)[T.Olympique Lyonnais] 0.3538 0.194 1.828 0.067 -0.025 0.733\n", - "C(team)[T.Olympique Marseille] 0.3862 0.189 2.043 0.041 0.016 0.757\n", - "C(team)[T.Olympique Medea] 0.0496 0.225 0.220 0.826 -0.392 0.491\n", - "C(team)[T.Olympique de Khouribga] -0.0240 0.195 -0.123 0.902 -0.406 0.358\n", - "C(team)[T.Olympique de Safi] -0.1355 0.209 -0.648 0.517 -0.546 0.275\n", - "C(team)[T.Olympique du Kef] -0.8118 0.456 -1.780 0.075 -1.705 0.082\n", - "C(team)[T.Omiya Ardija] 0.1352 0.194 0.696 0.486 -0.245 0.516\n", - "C(team)[T.Oostende] 0.2908 0.180 1.613 0.107 -0.062 0.644\n", - "C(team)[T.Orduspor] -0.5222 0.231 -2.258 0.024 -0.975 -0.069\n", - "C(team)[T.Orebro SK] 0.1489 0.180 0.827 0.408 -0.204 0.502\n", - "C(team)[T.Orgryte IS] -0.2617 0.227 -1.153 0.249 -0.707 0.183\n", - "C(team)[T.Orlando City] -0.1602 0.227 -0.705 0.481 -0.606 0.285\n", - "C(team)[T.Orlando Pirates] 0.0303 0.193 0.157 0.875 -0.348 0.409\n", - "C(team)[T.Orleans] -0.3980 0.211 -1.885 0.059 -0.812 0.016\n", - "C(team)[T.Osasuna] -0.0630 0.199 -0.316 0.752 -0.454 0.328\n", - "C(team)[T.Osmanlispor] 0.2269 0.192 1.184 0.237 -0.149 0.603\n", - "C(team)[T.Osnabruck] -0.0537 0.185 -0.290 0.772 -0.416 0.309\n", - "C(team)[T.Osters IF] -0.4702 0.252 -1.866 0.062 -0.964 0.024\n", - "C(team)[T.Ostersunds FK] 0.1595 0.206 0.776 0.438 -0.244 0.562\n", - "C(team)[T.Otago United] -0.2044 0.199 -1.025 0.305 -0.595 0.186\n", - "C(team)[T.Ottawa Fury] -0.0589 0.257 -0.229 0.819 -0.563 0.445\n", - "C(team)[T.Oud-Heverlee Leuven] -0.3265 0.215 -1.518 0.129 -0.748 0.095\n", - "C(team)[T.Oulu] -0.3002 0.239 -1.258 0.208 -0.768 0.168\n", - "C(team)[T.Oviedo] -0.0389 0.195 -0.199 0.842 -0.422 0.344\n", - "C(team)[T.Oxford United] -0.2546 0.191 -1.336 0.182 -0.628 0.119\n", - "C(team)[T.PAOK] 0.4014 0.172 2.330 0.020 0.064 0.739\n", - "C(team)[T.PK35 Vantaa] -0.2329 0.225 -1.036 0.300 -0.673 0.208\n", - "C(team)[T.PSV Eindhoven] 0.3618 0.160 2.263 0.024 0.048 0.675\n", - "C(team)[T.Pacos Ferreira] 0.0099 0.195 0.051 0.959 -0.371 0.391\n", - "C(team)[T.Pacy Vallee] -0.3384 0.211 -1.605 0.108 -0.752 0.075\n", - "C(team)[T.Paderborn] -0.1732 0.192 -0.900 0.368 -0.550 0.204\n", - "C(team)[T.Padova] -0.2676 0.201 -1.330 0.184 -0.662 0.127\n", - "C(team)[T.Palermo] -0.1508 0.213 -0.709 0.478 -0.568 0.266\n", - "C(team)[T.Panathinaikos] 0.2465 0.181 1.366 0.172 -0.107 0.600\n", - "C(team)[T.Panetolikos] -0.2935 0.218 -1.346 0.178 -0.721 0.134\n", - "C(team)[T.Panionios] 0.1566 0.189 0.827 0.408 -0.215 0.528\n", - "C(team)[T.Panserraikos] -0.3839 0.255 -1.506 0.132 -0.884 0.116\n", - "C(team)[T.Panthrakikos] -0.2412 0.214 -1.126 0.260 -0.661 0.179\n", - "C(team)[T.Parana Clube] -0.4127 0.234 -1.765 0.078 -0.871 0.046\n", - "C(team)[T.Paris FC] -0.3488 0.204 -1.711 0.087 -0.748 0.051\n", - "C(team)[T.Paris Saint-Germain] 0.5283 0.181 2.927 0.003 0.175 0.882\n", - "C(team)[T.Parma] 0.1397 0.195 0.717 0.474 -0.242 0.522\n", - "C(team)[T.Partick Thistle] -0.0459 0.208 -0.221 0.825 -0.454 0.362\n", - "C(team)[T.Patronato] -0.4243 0.224 -1.893 0.058 -0.864 0.015\n", - "C(team)[T.Paysandu SC] -0.1479 0.221 -0.669 0.503 -0.581 0.285\n", - "C(team)[T.Penafiel] -0.3071 0.227 -1.352 0.176 -0.752 0.138\n", - "C(team)[T.Perth Glory] -0.0456 0.188 -0.243 0.808 -0.413 0.322\n", - "C(team)[T.Perugia] -0.1538 0.202 -0.763 0.446 -0.549 0.241\n", - "C(team)[T.Pescara] -0.0774 0.197 -0.393 0.694 -0.464 0.309\n", - "C(team)[T.Peterborough United] 0.3769 0.175 2.149 0.032 0.033 0.721\n", - "C(team)[T.Peterhead] -0.3450 0.185 -1.869 0.062 -0.707 0.017\n", - "C(team)[T.Philadelphia Union] -0.2565 0.226 -1.137 0.256 -0.699 0.186\n", - "C(team)[T.Piacenza] -0.1452 0.202 -0.719 0.472 -0.541 0.250\n", - "C(team)[T.Pisa] -0.9211 0.274 -3.365 0.001 -1.458 -0.385\n", - "C(team)[T.Platanias] -0.5244 0.248 -2.116 0.034 -1.010 -0.039\n", - "C(team)[T.Platinum Stars] 0.0467 0.187 0.250 0.802 -0.319 0.413\n", - "C(team)[T.Plymouth Argyle] -0.2091 0.188 -1.111 0.267 -0.578 0.160\n", - "C(team)[T.Pohang Steelers] 0.3488 0.167 2.089 0.037 0.021 0.676\n", - "C(team)[T.Polokwane City] 0.1054 0.191 0.552 0.581 -0.269 0.480\n", - "C(team)[T.Ponferradina] -0.5195 0.226 -2.303 0.021 -0.962 -0.077\n", - "C(team)[T.Ponte Preta] 0.2033 0.213 0.955 0.340 -0.214 0.621\n", - "C(team)[T.Port Vale] -0.0363 0.188 -0.193 0.847 -0.404 0.332\n", - "C(team)[T.Portimonense] -0.1653 0.225 -0.736 0.462 -0.605 0.275\n", - "C(team)[T.Portland Timbers] -0.5159 0.250 -2.063 0.039 -1.006 -0.026\n", - "C(team)[T.Porto] 0.6137 0.156 3.923 0.000 0.307 0.920\n", - "C(team)[T.Portogruaro] -0.6220 0.237 -2.630 0.009 -1.086 -0.158\n", - "C(team)[T.Portsmouth] 0.0088 0.180 0.049 0.961 -0.345 0.362\n", - "C(team)[T.Portuguesa] -0.0514 0.224 -0.230 0.818 -0.490 0.387\n", - "C(team)[T.Portuguesa FC] -0.3050 0.218 -1.402 0.161 -0.731 0.121\n", - "C(team)[T.Preston North End] 0.1530 0.185 0.829 0.407 -0.209 0.515\n", - "C(team)[T.Preussen Munster] -0.2603 0.195 -1.336 0.181 -0.642 0.122\n", - "C(team)[T.Pro Vercelli] -0.6731 0.238 -2.825 0.005 -1.140 -0.206\n", - "C(team)[T.Puebla FC] -0.0739 0.196 -0.377 0.706 -0.458 0.310\n", - "C(team)[T.Puerto Rico FC] -0.2845 0.254 -1.121 0.262 -0.782 0.213\n", - "C(team)[T.Pumas de la UNAM] -0.0700 0.188 -0.372 0.710 -0.439 0.299\n", - "C(team)[T.Qingdao] -0.2588 0.211 -1.226 0.220 -0.673 0.155\n", - "C(team)[T.Queen of the South] 0.1905 0.170 1.122 0.262 -0.142 0.523\n", - "C(team)[T.Queens Park] -0.3989 0.196 -2.039 0.041 -0.782 -0.016\n", - "C(team)[T.Queens Park Rangers] -0.0156 0.212 -0.073 0.941 -0.431 0.400\n", - "C(team)[T.Quilmes AC] -0.4706 0.230 -2.042 0.041 -0.922 -0.019\n", - "C(team)[T.RB Leipzig] 0.3421 0.175 1.959 0.050 -0.000 0.684\n", - "C(team)[T.RB Salzburg] 0.4650 0.162 2.870 0.004 0.147 0.783\n", - "C(team)[T.RC Arbaa] -0.2859 0.225 -1.270 0.204 -0.727 0.155\n", - "C(team)[T.RC Relizane] -0.1916 0.215 -0.890 0.374 -0.614 0.230\n", - "C(team)[T.RC Strasbourg] -0.0061 0.193 -0.032 0.975 -0.384 0.371\n", - "C(team)[T.RW Ahlen] -0.5776 0.223 -2.595 0.009 -1.014 -0.141\n", - "C(team)[T.RW Erfurt] -0.4706 0.211 -2.226 0.026 -0.885 -0.056\n", - "C(team)[T.RW Oberhausen] -0.3862 0.209 -1.844 0.065 -0.797 0.024\n", - "C(team)[T.Racing Besancon] -0.3664 0.212 -1.732 0.083 -0.781 0.048\n", - "C(team)[T.Racing Club] -0.1400 0.198 -0.708 0.479 -0.527 0.247\n", - "C(team)[T.Raith Rovers] -0.3061 0.195 -1.569 0.117 -0.688 0.076\n", - "C(team)[T.Raja Beni Mellal] -0.4596 0.253 -1.815 0.070 -0.956 0.037\n", - "C(team)[T.Raja Casablanca] 0.0765 0.191 0.401 0.689 -0.298 0.451\n", - "C(team)[T.Randers FC] -0.2314 0.202 -1.146 0.252 -0.627 0.165\n", - "C(team)[T.Rapid Wien] 0.1811 0.170 1.063 0.288 -0.153 0.515\n", - "C(team)[T.Rayo Oklahoma City] -0.1836 0.276 -0.665 0.506 -0.725 0.358\n", - "C(team)[T.Reading] 0.3785 0.187 2.021 0.043 0.011 0.746\n", - "C(team)[T.Real Betis] -0.2134 0.200 -1.067 0.286 -0.605 0.179\n", - "C(team)[T.Real Esppor Club] -0.4675 0.231 -2.028 0.043 -0.919 -0.016\n", - "C(team)[T.Real Madrid] 0.9169 0.154 5.969 0.000 0.616 1.218\n", - "C(team)[T.Real Madrid B] -0.0193 0.191 -0.101 0.920 -0.394 0.355\n", - "C(team)[T.Real Salt Lake] -0.4455 0.239 -1.861 0.063 -0.914 0.024\n", - "C(team)[T.Real Sociedad] 0.0397 0.204 0.195 0.845 -0.359 0.439\n", - "C(team)[T.Real Union] -0.2898 0.208 -1.396 0.163 -0.697 0.117\n", - "C(team)[T.Recreativo] -0.3232 0.207 -1.561 0.119 -0.729 0.083\n", - "C(team)[T.Red Diamonds] 0.2767 0.194 1.430 0.153 -0.103 0.656\n", - "C(team)[T.Red Star] -0.4171 0.219 -1.901 0.057 -0.847 0.013\n", - "C(team)[T.Reggina] -0.4537 0.219 -2.074 0.038 -0.882 -0.025\n", - "C(team)[T.Renaissance de Berkane] -0.1130 0.214 -0.528 0.598 -0.532 0.307\n", - "C(team)[T.Rennes] 0.4507 0.187 2.414 0.016 0.085 0.817\n", - "C(team)[T.Renofa Yamaguchi] -0.0874 0.192 -0.456 0.649 -0.463 0.288\n", - "C(team)[T.Reus Deportiu] -0.6225 0.240 -2.592 0.010 -1.093 -0.152\n", - "C(team)[T.Rio Ave] -0.2661 0.215 -1.235 0.217 -0.688 0.156\n", - "C(team)[T.River Ecuador] -0.1105 0.206 -0.536 0.592 -0.515 0.294\n", - "C(team)[T.River Plate] -0.3201 0.210 -1.522 0.128 -0.732 0.092\n", - "C(team)[T.Rizespor] -0.1373 0.203 -0.677 0.498 -0.535 0.260\n", - "C(team)[T.Roasso Kumamoto] -1.0104 0.272 -3.717 0.000 -1.543 -0.478\n", - "C(team)[T.Rochdale] 0.1648 0.170 0.967 0.334 -0.169 0.499\n", - "C(team)[T.Roda] 0.0134 0.185 0.073 0.942 -0.348 0.375\n", - "C(team)[T.Rodez AF] -0.3752 0.218 -1.722 0.085 -0.802 0.052\n", - "C(team)[T.Roeselare] -0.2487 0.238 -1.047 0.295 -0.714 0.217\n", - "C(team)[T.Roma] 0.5587 0.174 3.204 0.001 0.217 0.901\n", - "C(team)[T.Rosario Central] 0.1515 0.188 0.805 0.421 -0.218 0.521\n", - "C(team)[T.Rosenborg Trondheim] 0.2546 0.177 1.437 0.151 -0.093 0.602\n", - "C(team)[T.Ross County] 0.1847 0.193 0.958 0.338 -0.193 0.563\n", - "C(team)[T.Rotherham United] 0.1598 0.175 0.915 0.360 -0.182 0.502\n", - "C(team)[T.Rotor Volgograd] -0.6057 0.233 -2.596 0.009 -1.063 -0.148\n", - "C(team)[T.Rouen] 0.0327 0.198 0.165 0.869 -0.355 0.421\n", - "C(team)[T.Rovaniemi PS] -0.2753 0.200 -1.374 0.169 -0.668 0.117\n", - "C(team)[T.Rubin Kazan] 0.2327 0.195 1.194 0.232 -0.149 0.615\n", - "C(team)[T.Rushden and Diamonds] -0.1944 0.188 -1.032 0.302 -0.564 0.175\n", - "C(team)[T.SAS Epinal] -0.1988 0.202 -0.985 0.325 -0.595 0.197\n", - "C(team)[T.SC Bastia] 0.2307 0.193 1.194 0.232 -0.148 0.609\n", - "C(team)[T.SC Imbabura] -0.1099 0.204 -0.538 0.591 -0.511 0.291\n", - "C(team)[T.SCR Altach] 0.0376 0.197 0.191 0.848 -0.348 0.423\n", - "C(team)[T.SD Aucas] -0.0337 0.209 -0.162 0.872 -0.443 0.375\n", - "C(team)[T.SKA-Energia Khabarovsk] -0.1922 0.196 -0.981 0.327 -0.576 0.192\n", - "C(team)[T.SPAL Ferrara] 0.0312 0.188 0.165 0.869 -0.338 0.400\n", - "C(team)[T.SR Colmar] -0.2224 0.200 -1.114 0.265 -0.614 0.169\n", - "C(team)[T.SV Grodig] -0.0335 0.208 -0.161 0.872 -0.441 0.374\n", - "C(team)[T.SV Mattersburg] -0.7807 0.241 -3.235 0.001 -1.254 -0.308\n", - "C(team)[T.SV Ried] -0.0128 0.183 -0.070 0.944 -0.371 0.345\n", - "C(team)[T.Saarbrucken] -0.2350 0.196 -1.198 0.231 -0.619 0.149\n", - "C(team)[T.Sabadell] -0.1043 0.189 -0.553 0.580 -0.474 0.265\n", - "C(team)[T.Sagan Tosu] 0.0052 0.196 0.027 0.979 -0.379 0.390\n", - "C(team)[T.Salamanca] -0.2917 0.204 -1.431 0.152 -0.691 0.108\n", - "C(team)[T.Salernitana] -0.3116 0.207 -1.502 0.133 -0.718 0.095\n", - "C(team)[T.Salgueiro AC] -0.7542 0.261 -2.889 0.004 -1.266 -0.243\n", - "C(team)[T.Salisbury] -0.2762 0.195 -1.418 0.156 -0.658 0.106\n", - "C(team)[T.Salyut-Energiya Belgorod] 0.1539 0.197 0.783 0.434 -0.232 0.539\n", - "C(team)[T.Sampaio Correa FC] -0.1668 0.229 -0.730 0.465 -0.615 0.281\n", - "C(team)[T.Sampdoria] 0.0774 0.198 0.390 0.696 -0.311 0.466\n", - "C(team)[T.Samsunspor] -0.4517 0.239 -1.887 0.059 -0.921 0.017\n", - "C(team)[T.San Antonio Scorpions] -0.1439 0.256 -0.562 0.574 -0.646 0.358\n", - "C(team)[T.San Jose Earthquakes] 0.0352 0.217 0.162 0.871 -0.390 0.460\n", - "C(team)[T.San Lorenzo] 0.1556 0.179 0.868 0.385 -0.196 0.507\n", - "C(team)[T.San Luis] -0.0466 0.190 -0.245 0.806 -0.419 0.326\n", - "C(team)[T.San Luis FC] -0.4158 0.225 -1.849 0.064 -0.856 0.025\n", - "C(team)[T.San Marcos de Arica] -0.1756 0.199 -0.880 0.379 -0.567 0.215\n", - "C(team)[T.Sandefjord Fotball] -0.3903 0.221 -1.764 0.078 -0.824 0.043\n", - "C(team)[T.Sandhausen] -0.1931 0.191 -1.011 0.312 -0.568 0.181\n", - "C(team)[T.Sandnes Ulf] 0.0595 0.190 0.313 0.754 -0.313 0.432\n", - "C(team)[T.Sanfrecce] 0.3648 0.181 2.018 0.044 0.011 0.719\n", - "C(team)[T.Sangju Sangmu] -0.0587 0.194 -0.302 0.762 -0.439 0.322\n", - "C(team)[T.Santa Cruz FC] -0.0138 0.224 -0.062 0.951 -0.453 0.426\n", - "C(team)[T.Santander] -0.3456 0.222 -1.554 0.120 -0.781 0.090\n", - "C(team)[T.Santiago Morning] -0.3037 0.205 -1.483 0.138 -0.705 0.098\n", - "C(team)[T.Santiago Wanderers] -0.0312 0.187 -0.167 0.867 -0.397 0.335\n", - "C(team)[T.Santo Andre Esporte Clube] 0.0954 0.225 0.425 0.671 -0.345 0.536\n", - "C(team)[T.Santos FC] 0.2156 0.216 0.999 0.318 -0.208 0.639\n", - "C(team)[T.Santos Laguna] 0.3109 0.176 1.766 0.077 -0.034 0.656\n", - "C(team)[T.Sao Caetano] -0.1291 0.219 -0.588 0.556 -0.559 0.301\n", - "C(team)[T.Sao Paulo FC] 0.1510 0.223 0.677 0.498 -0.286 0.588\n", - "C(team)[T.Sarmiento de Junin] -0.3902 0.224 -1.742 0.082 -0.829 0.049\n", - "C(team)[T.Sarpsborg 08] 0.0222 0.187 0.119 0.905 -0.344 0.388\n", - "C(team)[T.Sassuolo] 0.1915 0.179 1.073 0.283 -0.158 0.541\n", - "C(team)[T.Schalke 04] 0.4922 0.176 2.792 0.005 0.147 0.838\n", - "C(team)[T.Scunthorpe United] 0.0453 0.182 0.249 0.803 -0.311 0.402\n", - "C(team)[T.Seattle Sounders] -0.0206 0.214 -0.096 0.923 -0.441 0.399\n", - "C(team)[T.Sedan] 0.2135 0.197 1.085 0.278 -0.172 0.599\n", - "C(team)[T.Seinajoki] 0.2384 0.179 1.330 0.184 -0.113 0.590\n", - "C(team)[T.Seongnam FC] -0.2556 0.197 -1.299 0.194 -0.641 0.130\n", - "C(team)[T.Servette Geneve] -0.1588 0.203 -0.784 0.433 -0.556 0.238\n", - "C(team)[T.Setubal] -0.1256 0.198 -0.636 0.525 -0.513 0.262\n", - "C(team)[T.Sevilla Atletico] 0.0667 0.189 0.352 0.725 -0.304 0.437\n", - "C(team)[T.Sevilla FC] 0.4139 0.174 2.385 0.017 0.074 0.754\n", - "C(team)[T.Shandong Luneng] 0.2081 0.169 1.235 0.217 -0.122 0.538\n", - "C(team)[T.Shanghai East Asia] 0.1867 0.183 1.023 0.306 -0.171 0.545\n", - "C(team)[T.Shanghai Greenland] -0.3523 0.210 -1.681 0.093 -0.763 0.058\n", - "C(team)[T.Shanghai SIPG] 0.3506 0.174 2.019 0.043 0.010 0.691\n", - "C(team)[T.Shanghai Shenxin] -0.1779 0.203 -0.876 0.381 -0.576 0.220\n", - "C(team)[T.Sheffield United] 0.1196 0.184 0.651 0.515 -0.241 0.480\n", - "C(team)[T.Sheffield Wednesday] 0.1239 0.197 0.630 0.529 -0.261 0.509\n", - "C(team)[T.Shenzhen FC] -0.0094 0.197 -0.048 0.962 -0.396 0.377\n", - "C(team)[T.Shijiazhuang Ever Bright] -0.2941 0.209 -1.404 0.160 -0.705 0.116\n", - "C(team)[T.Shimizu Pulse] 0.2422 0.189 1.278 0.201 -0.129 0.614\n", - "C(team)[T.Shinnik Yaroslavl] -0.3286 0.213 -1.543 0.123 -0.746 0.089\n", - "C(team)[T.Shonan Bellmare] -0.1450 0.197 -0.735 0.462 -0.532 0.242\n", - "C(team)[T.Shrewsbury Town] -0.0049 0.191 -0.026 0.980 -0.380 0.370\n", - "C(team)[T.Sibir Novosibirsk] -0.0171 0.192 -0.089 0.929 -0.394 0.360\n", - "C(team)[T.Siena] -0.1668 0.211 -0.789 0.430 -0.581 0.248\n", - "C(team)[T.Silkeborg] -0.2582 0.209 -1.236 0.216 -0.668 0.151\n", - "C(team)[T.Sivasspor] -0.1181 0.194 -0.610 0.542 -0.498 0.261\n", - "C(team)[T.Sochaux] -0.0482 0.204 -0.236 0.813 -0.448 0.352\n", - "C(team)[T.Sociedade Esportiva Palmeiras] 0.1674 0.217 0.771 0.441 -0.258 0.593\n", - "C(team)[T.Sogndal IL] -0.6217 0.237 -2.619 0.009 -1.087 -0.156\n", - "C(team)[T.Sokol Saratov] 0.0140 0.201 0.070 0.944 -0.379 0.407\n", - "C(team)[T.Solihull] -0.3748 0.201 -1.868 0.062 -0.768 0.018\n", - "C(team)[T.SonderjyskE] -0.1689 0.197 -0.855 0.392 -0.556 0.218\n", - "C(team)[T.Sonnenhof Grossaspach] -0.2156 0.198 -1.088 0.277 -0.604 0.173\n", - "C(team)[T.Southampton] 0.4128 0.187 2.204 0.028 0.046 0.780\n", - "C(team)[T.Southend] -0.3850 0.212 -1.814 0.070 -0.801 0.031\n", - "C(team)[T.Southern United] -0.2682 0.201 -1.333 0.183 -0.663 0.126\n", - "C(team)[T.Southport] -0.2589 0.191 -1.357 0.175 -0.633 0.115\n", - "C(team)[T.Sparta Rotterdam] -0.2352 0.206 -1.142 0.254 -0.639 0.169\n", - "C(team)[T.Spartak Moscow] 0.4932 0.186 2.650 0.008 0.128 0.858\n", - "C(team)[T.Spartak Moscow 2] 0.1192 0.190 0.626 0.531 -0.254 0.492\n", - "C(team)[T.Spartak Nalchik] -0.1207 0.201 -0.601 0.548 -0.515 0.273\n", - "C(team)[T.Spezia] -0.6092 0.232 -2.628 0.009 -1.064 -0.155\n", - "C(team)[T.Sport Club Recife] 0.1120 0.218 0.514 0.607 -0.315 0.539\n", - "C(team)[T.Sportfreunde Lotte] -0.2039 0.203 -1.004 0.315 -0.602 0.194\n", - "C(team)[T.Sporting Braga] 0.1959 0.175 1.120 0.263 -0.147 0.539\n", - "C(team)[T.Sporting Gijon] -0.1492 0.204 -0.732 0.464 -0.549 0.250\n", - "C(team)[T.Sporting Kansas City] 0.2792 0.200 1.397 0.162 -0.112 0.671\n", - "C(team)[T.Sporting Lisbon] 0.0151 0.190 0.080 0.936 -0.357 0.387\n", - "C(team)[T.St Etienne] -0.0953 0.217 -0.439 0.661 -0.521 0.331\n", - "C(team)[T.St Johnstone] 0.1000 0.210 0.477 0.633 -0.311 0.511\n", - "C(team)[T.St Mirren] -0.1721 0.224 -0.768 0.443 -0.611 0.267\n", - "C(team)[T.St Pauli] 0.1044 0.184 0.568 0.570 -0.256 0.464\n", - "C(team)[T.St Polten] -0.0360 0.208 -0.173 0.862 -0.443 0.371\n", - "C(team)[T.St Raphael FC] -0.2501 0.198 -1.266 0.206 -0.637 0.137\n", - "C(team)[T.St Truiden] -0.3785 0.222 -1.708 0.088 -0.813 0.056\n", - "C(team)[T.Stabaek IF] 0.1501 0.178 0.841 0.400 -0.200 0.500\n", - "C(team)[T.Stade Gabesien] -0.2166 0.219 -0.987 0.323 -0.646 0.213\n", - "C(team)[T.Stade Plabennec] -0.6422 0.229 -2.806 0.005 -1.091 -0.194\n", - "C(team)[T.Stade Tunisien] -0.4768 0.244 -1.957 0.050 -0.954 0.001\n", - "C(team)[T.Stade de Reims] 0.1682 0.185 0.909 0.363 -0.194 0.531\n", - "C(team)[T.Standard] 0.2225 0.187 1.192 0.233 -0.144 0.589\n", - "C(team)[T.Start Kristiansand] 0.1264 0.179 0.708 0.479 -0.224 0.477\n", - "C(team)[T.Stenhousemuir] -0.4197 0.195 -2.150 0.032 -0.802 -0.037\n", - "C(team)[T.Stevenage] -0.1376 0.188 -0.733 0.464 -0.506 0.231\n", - "C(team)[T.Stirling Albion] -0.2309 0.185 -1.248 0.212 -0.594 0.132\n", - "C(team)[T.Stockport] -0.3493 0.207 -1.686 0.092 -0.755 0.057\n", - "C(team)[T.Stoke City] 0.0407 0.221 0.185 0.854 -0.392 0.473\n", - "C(team)[T.Stranraer] -0.0584 0.178 -0.328 0.743 -0.407 0.291\n", - "C(team)[T.Strasbourg] -0.0220 0.206 -0.107 0.915 -0.426 0.382\n", - "C(team)[T.Stromsgodset IF] 0.3605 0.169 2.138 0.033 0.030 0.691\n", - "C(team)[T.Sturm Graz] 0.0054 0.187 0.029 0.977 -0.361 0.372\n", - "C(team)[T.Stuttgarter Kickers] -0.3352 0.208 -1.611 0.107 -0.743 0.073\n", - "C(team)[T.Sunderland] 0.3916 0.191 2.053 0.040 0.018 0.765\n", - "C(team)[T.SuperSport United] 0.0651 0.190 0.343 0.732 -0.307 0.437\n", - "C(team)[T.Sutton United] -0.2964 0.196 -1.511 0.131 -0.681 0.088\n", - "C(team)[T.Suwon Bluewings] -0.0167 0.186 -0.090 0.928 -0.381 0.348\n", - "C(team)[T.Suwon City FC] -0.2186 0.218 -1.004 0.315 -0.645 0.208\n", - "C(team)[T.Swansea City] 0.2859 0.199 1.438 0.150 -0.104 0.676\n", - "C(team)[T.Swindon Town] -0.1178 0.195 -0.603 0.546 -0.501 0.265\n", - "C(team)[T.Sydney FC] -0.2045 0.193 -1.060 0.289 -0.583 0.174\n", - "C(team)[T.Syrianska FC] -0.4590 0.226 -2.028 0.043 -0.903 -0.015\n", - "C(team)[T.TPS Turku] 0.1739 0.181 0.961 0.337 -0.181 0.529\n", - "C(team)[T.Talleres Cordoba] 0.0034 0.215 0.016 0.987 -0.419 0.426\n", - "C(team)[T.Tampa Bay Rowdies] 0.0294 0.247 0.119 0.905 -0.455 0.514\n", - "C(team)[T.Tampere United] 0.1481 0.185 0.801 0.423 -0.214 0.510\n", - "C(team)[T.Tamworth] -0.6613 0.217 -3.047 0.002 -1.087 -0.236\n", - "C(team)[T.Tasman United] 0.1051 0.234 0.450 0.653 -0.353 0.563\n", - "C(team)[T.Team Wellington] 0.2708 0.170 1.595 0.111 -0.062 0.603\n", - "C(team)[T.Tecnico Universitario] -0.5328 0.236 -2.261 0.024 -0.995 -0.071\n", - "C(team)[T.Telford United] -0.4075 0.202 -2.021 0.043 -0.803 -0.012\n", - "C(team)[T.Tenerife] -0.4395 0.209 -2.100 0.036 -0.850 -0.029\n", - "C(team)[T.Terek Grozny] -0.1204 0.217 -0.555 0.579 -0.546 0.305\n", - "C(team)[T.Ternana] -0.1637 0.199 -0.822 0.411 -0.554 0.227\n", - "C(team)[T.Thespakusatsu] -0.2645 0.199 -1.329 0.184 -0.654 0.126\n", - "C(team)[T.Tianjin Teda] -0.2412 0.204 -1.182 0.237 -0.641 0.159\n", - "C(team)[T.Tigre] -0.2442 0.203 -1.200 0.230 -0.643 0.154\n", - "C(team)[T.Tigres de la Universidad Autonoma] 0.0098 0.196 0.050 0.960 -0.374 0.394\n", - "C(team)[T.Tochigi SC] -0.3159 0.209 -1.513 0.130 -0.725 0.093\n", - "C(team)[T.Tokushima Vortis] -0.6225 0.235 -2.646 0.008 -1.084 -0.161\n", - "C(team)[T.Tokyo Verdy] -0.2449 0.202 -1.214 0.225 -0.640 0.150\n", - "C(team)[T.Tondela] -0.1400 0.206 -0.681 0.496 -0.543 0.263\n", - "C(team)[T.Torino] 0.0363 0.190 0.191 0.849 -0.336 0.409\n", - "C(team)[T.Toronto FC] -0.0945 0.219 -0.431 0.666 -0.524 0.335\n", - "C(team)[T.Torpedo Moscow] -0.1321 0.211 -0.625 0.532 -0.546 0.282\n", - "C(team)[T.Torpedo Vladimir] -0.1448 0.209 -0.694 0.488 -0.554 0.264\n", - "C(team)[T.Torquay] 0.0454 0.184 0.247 0.805 -0.315 0.406\n", - "C(team)[T.Tottenham Hotspur] 0.7210 0.174 4.142 0.000 0.380 1.062\n", - "C(team)[T.Toulouse] -0.0691 0.220 -0.314 0.754 -0.501 0.362\n", - "C(team)[T.Tours] 0.0524 0.192 0.273 0.785 -0.324 0.429\n", - "C(team)[T.Trabzonspor] 0.1605 0.176 0.911 0.362 -0.185 0.506\n", - "C(team)[T.Tranmere] -0.1882 0.189 -0.995 0.320 -0.559 0.182\n", - "C(team)[T.Trapani] -0.0027 0.186 -0.015 0.988 -0.368 0.362\n", - "C(team)[T.Trelleborgs FF] -0.0020 0.194 -0.010 0.992 -0.382 0.378\n", - "C(team)[T.Triestina] -0.3610 0.215 -1.678 0.093 -0.783 0.061\n", - "C(team)[T.Tromso IL] 0.1044 0.182 0.574 0.566 -0.252 0.461\n", - "C(team)[T.Troyes] -0.0295 0.203 -0.145 0.885 -0.428 0.369\n", - "C(team)[T.Trujillanos FC] 0.0818 0.187 0.437 0.662 -0.285 0.448\n", - "C(team)[T.Tucanes FC] -0.4716 0.234 -2.016 0.044 -0.930 -0.013\n", - "C(team)[T.Tuks FC] -0.1712 0.205 -0.836 0.403 -0.572 0.230\n", - "C(team)[T.Tupi FC] -0.3614 0.245 -1.478 0.139 -0.841 0.118\n", - "C(team)[T.Twente Enschede] 0.0351 0.179 0.196 0.845 -0.316 0.387\n", - "C(team)[T.UJA Alfortville] -0.4234 0.225 -1.881 0.060 -0.865 0.018\n", - "C(team)[T.US Avranches] -0.0584 0.193 -0.302 0.763 -0.437 0.320\n", - "C(team)[T.US Ben Guerdane] -0.7164 0.262 -2.737 0.006 -1.230 -0.203\n", - "C(team)[T.US Boulogne] 0.0015 0.198 0.008 0.994 -0.386 0.389\n", - "C(team)[T.US Colomiers] -0.2612 0.210 -1.244 0.213 -0.673 0.150\n", - "C(team)[T.US Concarneau] -0.3565 0.223 -1.596 0.110 -0.794 0.081\n", - "C(team)[T.US Creteil] -0.0260 0.190 -0.137 0.891 -0.398 0.346\n", - "C(team)[T.US Luzenac] -0.1386 0.200 -0.693 0.488 -0.530 0.253\n", - "C(team)[T.US Monastir] -0.1942 0.217 -0.896 0.370 -0.619 0.230\n", - "C(team)[T.US Quevilly] -0.5498 0.231 -2.384 0.017 -1.002 -0.098\n", - "C(team)[T.US Tataouine] -0.1287 0.309 -0.417 0.677 -0.733 0.476\n", - "C(team)[T.USL Dunkerque] 0.0397 0.188 0.212 0.832 -0.328 0.408\n", - "C(team)[T.USM Alger] 0.1961 0.176 1.111 0.266 -0.150 0.542\n", - "C(team)[T.USM Annaba] -0.1732 0.213 -0.813 0.416 -0.591 0.245\n", - "C(team)[T.USM Bel Abbes] -0.3101 0.223 -1.391 0.164 -0.747 0.127\n", - "C(team)[T.USM Blida] -0.4257 0.232 -1.836 0.066 -0.880 0.029\n", - "C(team)[T.USM El Harrach] -0.3280 0.221 -1.483 0.138 -0.762 0.106\n", - "C(team)[T.Udinese] -0.0992 0.212 -0.468 0.640 -0.514 0.316\n", - "C(team)[T.Ulsan Hyundai] 0.0088 0.180 0.049 0.961 -0.344 0.361\n", - "C(team)[T.Uniao Madeira] -0.7361 0.278 -2.652 0.008 -1.280 -0.192\n", - "C(team)[T.Union Berlin] -0.0504 0.184 -0.273 0.784 -0.412 0.311\n", - "C(team)[T.Union Espanola] 0.2306 0.168 1.372 0.170 -0.099 0.560\n", - "C(team)[T.Union La Calera] -0.3737 0.210 -1.781 0.075 -0.785 0.038\n", - "C(team)[T.Union San Felipe] -0.5202 0.223 -2.334 0.020 -0.957 -0.083\n", - "C(team)[T.Union de Santa Fe] -0.3146 0.211 -1.489 0.136 -0.729 0.099\n", - "C(team)[T.Universidad Catolica] 0.3960 0.166 2.386 0.017 0.071 0.721\n", - "C(team)[T.Universidad de Chile] 0.1532 0.174 0.880 0.379 -0.188 0.494\n", - "C(team)[T.Universidad de Concepcion] 0.0904 0.175 0.518 0.605 -0.252 0.433\n", - "C(team)[T.Unterhaching] -0.2889 0.199 -1.449 0.147 -0.680 0.102\n", - "C(team)[T.Urena Sport Club] -0.4184 0.227 -1.845 0.065 -0.863 0.026\n", - "C(team)[T.Utrecht] 0.0541 0.180 0.301 0.763 -0.298 0.406\n", - "C(team)[T.VVV Venlo] -0.3275 0.211 -1.551 0.121 -0.741 0.086\n", - "C(team)[T.Vaasan PS] -0.4116 0.209 -1.966 0.049 -0.822 -0.001\n", - "C(team)[T.Valencia] 0.3244 0.179 1.813 0.070 -0.026 0.675\n", - "C(team)[T.Valenciennes] 0.0846 0.196 0.432 0.666 -0.299 0.468\n", - "C(team)[T.Valerenga IF] 0.2401 0.173 1.387 0.165 -0.099 0.579\n", - "C(team)[T.Valladolid] -0.1318 0.198 -0.666 0.506 -0.520 0.256\n", - "C(team)[T.Vallecano] 0.0439 0.190 0.231 0.817 -0.328 0.416\n", - "C(team)[T.Vancouver Whitecaps] -0.0569 0.216 -0.263 0.792 -0.481 0.367\n", - "C(team)[T.Vannes OC] -0.0652 0.194 -0.335 0.737 -0.446 0.316\n", - "C(team)[T.Varen Nagasaki] -0.5604 0.226 -2.484 0.013 -1.003 -0.118\n", - "C(team)[T.Varese] -0.0916 0.196 -0.468 0.640 -0.476 0.292\n", - "C(team)[T.Vasco da Gama] -0.1227 0.233 -0.527 0.599 -0.579 0.334\n", - "C(team)[T.Vegalta Sendai] -0.1070 0.219 -0.489 0.625 -0.536 0.322\n", - "C(team)[T.Velez Sarsfield] 0.1129 0.189 0.597 0.550 -0.258 0.483\n", - "C(team)[T.Vendee Lucon] -0.0797 0.196 -0.406 0.685 -0.465 0.305\n", - "C(team)[T.Ventforet Kofu] -0.0665 0.199 -0.334 0.738 -0.456 0.323\n", - "C(team)[T.Veracruz Sporting Club] -0.1087 0.204 -0.533 0.594 -0.508 0.291\n", - "C(team)[T.Veria] -0.0220 0.200 -0.110 0.913 -0.415 0.371\n", - "C(team)[T.Vestsjalland] -0.2915 0.213 -1.367 0.172 -0.709 0.126\n", - "C(team)[T.VfB Stuttgart] 0.0300 0.201 0.149 0.881 -0.364 0.424\n", - "C(team)[T.VfB Stuttgart II] -0.1590 0.188 -0.845 0.398 -0.528 0.210\n", - "C(team)[T.Viborg] -0.4217 0.229 -1.839 0.066 -0.871 0.028\n", - "C(team)[T.Vicenza] -0.2710 0.207 -1.311 0.190 -0.676 0.134\n", - "C(team)[T.Viking Stavanger] -0.2200 0.194 -1.133 0.257 -0.601 0.161\n", - "C(team)[T.Vila Nova FC GO] -0.2466 0.227 -1.085 0.278 -0.692 0.199\n", - "C(team)[T.Villarreal] 0.3390 0.182 1.861 0.063 -0.018 0.696\n", - "C(team)[T.Villarreal B] -0.3974 0.212 -1.875 0.061 -0.813 0.018\n", - "C(team)[T.Virtus Entella] -0.1418 0.203 -0.698 0.485 -0.540 0.256\n", - "C(team)[T.Virtus Lanciano] -0.3104 0.206 -1.508 0.132 -0.714 0.093\n", - "C(team)[T.Vissel Kobe] 0.1383 0.182 0.762 0.446 -0.218 0.494\n", - "C(team)[T.Vitesse] 0.0726 0.174 0.418 0.676 -0.268 0.413\n", - "C(team)[T.Vityaz Podolsk] -0.1768 0.205 -0.864 0.387 -0.578 0.224\n", - "C(team)[T.Volga Nizhniy Novgorod] -0.0240 0.194 -0.124 0.901 -0.404 0.356\n", - "C(team)[T.WA Tlemcen] -0.2877 0.224 -1.282 0.200 -0.728 0.152\n", - "C(team)[T.Waalwijk] -0.1095 0.199 -0.551 0.582 -0.499 0.280\n", - "C(team)[T.Waasland-Beveren] -0.3067 0.210 -1.461 0.144 -0.718 0.105\n", - "C(team)[T.Wacker Burghausen] -0.1638 0.193 -0.851 0.395 -0.541 0.214\n", - "C(team)[T.WaiBOP United] 0.2122 0.178 1.190 0.234 -0.137 0.562\n", - "C(team)[T.Waikato FC] -0.0602 0.191 -0.315 0.753 -0.435 0.314\n", - "C(team)[T.Waitakere United] 0.2157 0.174 1.241 0.215 -0.125 0.556\n", - "C(team)[T.Walsall] -0.3825 0.212 -1.804 0.071 -0.798 0.033\n", - "C(team)[T.Wanderers SC] 0.0626 0.194 0.323 0.746 -0.317 0.442\n", - "C(team)[T.Waregem] -0.0596 0.198 -0.301 0.763 -0.448 0.328\n", - "C(team)[T.Watford] 0.5579 0.170 3.277 0.001 0.224 0.892\n", - "C(team)[T.Wehen Wiesbaden] -0.1496 0.189 -0.790 0.430 -0.521 0.222\n", - "C(team)[T.Welling United] -0.7606 0.233 -3.264 0.001 -1.217 -0.304\n", - "C(team)[T.Wellington Phoenix] -0.3712 0.205 -1.811 0.070 -0.773 0.030\n", - "C(team)[T.Wellington Phoenix R] 0.1493 0.180 0.829 0.407 -0.204 0.502\n", - "C(team)[T.Werder Bremen] 0.4674 0.183 2.552 0.011 0.108 0.827\n", - "C(team)[T.Werder Bremen II] -0.7161 0.234 -3.067 0.002 -1.174 -0.258\n", - "C(team)[T.West Bromwich Albion] 0.3199 0.194 1.652 0.098 -0.060 0.699\n", - "C(team)[T.West Ham United] 0.3204 0.194 1.655 0.098 -0.059 0.700\n", - "C(team)[T.Westerlo] -0.0645 0.202 -0.319 0.749 -0.460 0.331\n", - "C(team)[T.Western Sydney Wanderers] 0.1188 0.181 0.655 0.512 -0.237 0.474\n", - "C(team)[T.Wiener Neustadt] 0.0131 0.196 0.067 0.947 -0.370 0.397\n", - "C(team)[T.Wigan Athletic] 0.1075 0.203 0.529 0.597 -0.291 0.506\n", - "C(team)[T.Willem II] -0.3318 0.202 -1.645 0.100 -0.727 0.064\n", - "C(team)[T.Woking] -0.2587 0.190 -1.359 0.174 -0.632 0.114\n", - "C(team)[T.Wolfsberger AC] -0.1916 0.209 -0.918 0.359 -0.601 0.218\n", - "C(team)[T.Wolfsburg] 0.3959 0.184 2.147 0.032 0.035 0.757\n", - "C(team)[T.Wolverhampton] 0.1190 0.195 0.611 0.541 -0.263 0.501\n", - "C(team)[T.Wrexham] -0.3830 0.195 -1.966 0.049 -0.765 -0.001\n", - "C(team)[T.Wuhan Zall FC] -0.6011 0.248 -2.426 0.015 -1.087 -0.115\n", - "C(team)[T.Wuppertaler SV] -0.5694 0.225 -2.535 0.011 -1.010 -0.129\n", - "C(team)[T.Wurzburger Kickers] -0.2817 0.206 -1.367 0.172 -0.686 0.122\n", - "C(team)[T.Wycombe Wanderers] -0.1377 0.194 -0.709 0.478 -0.518 0.243\n", - "C(team)[T.Wydad AC] 0.0365 0.198 0.184 0.854 -0.352 0.425\n", - "C(team)[T.Wydad de Fes] -0.2819 0.223 -1.267 0.205 -0.718 0.154\n", - "C(team)[T.Xanthi] -0.0786 0.200 -0.392 0.695 -0.471 0.314\n", - "C(team)[T.Xerez] -0.1395 0.196 -0.710 0.478 -0.525 0.246\n", - "C(team)[T.Yanbian FC] 0.0391 0.204 0.191 0.848 -0.361 0.440\n", - "C(team)[T.Yaracuyanos FC] -0.2073 0.201 -1.030 0.303 -0.602 0.187\n", - "C(team)[T.Yeovil Town] -0.2332 0.203 -1.148 0.251 -0.631 0.165\n", - "C(team)[T.Yokohama FC] -0.4063 0.206 -1.972 0.049 -0.810 -0.003\n", - "C(team)[T.Yokohama Marinos] 0.1897 0.191 0.993 0.321 -0.185 0.564\n", - "C(team)[T.York City] -0.2798 0.196 -1.426 0.154 -0.664 0.105\n", - "C(team)[T.Young Boys] 0.1352 0.178 0.759 0.448 -0.214 0.484\n", - "C(team)[T.YoungHeart Manawatu] -0.2241 0.203 -1.102 0.271 -0.623 0.175\n", - "C(team)[T.Zamora FC] 0.4028 0.171 2.360 0.018 0.068 0.737\n", - "C(team)[T.Zaragoza] -0.3748 0.223 -1.683 0.092 -0.811 0.062\n", - "C(team)[T.Zenit St Petersburg] 0.5034 0.177 2.846 0.004 0.157 0.850\n", - "C(team)[T.Zenit St Petersburg 2] -0.0909 0.202 -0.451 0.652 -0.486 0.304\n", - "C(team)[T.Zhejiang Yiteng] -0.0835 0.213 -0.392 0.695 -0.501 0.334\n", - "C(team)[T.Zulia FC] 0.0628 0.190 0.331 0.741 -0.309 0.434\n", - "C(team)[T.Zweigen] -0.3755 0.208 -1.806 0.071 -0.783 0.032\n", - "C(team)[T.Zwickau] -0.1098 0.200 -0.548 0.583 -0.502 0.282\n", - "C(team)[T.Zwolle] 0.0793 0.176 0.451 0.652 -0.265 0.424\n", - "C(opponent)[T.AC Ajaccio] -0.0956 0.191 -0.500 0.617 -0.471 0.279\n", - "C(opponent)[T.AC Barnechea] -0.5473 0.509 -1.076 0.282 -1.545 0.450\n", - "C(opponent)[T.AC Milan] -0.5604 0.195 -2.874 0.004 -0.943 -0.178\n", - "C(opponent)[T.ADO Den Haag] -0.0937 0.171 -0.548 0.584 -0.429 0.241\n", - "C(opponent)[T.AEK] -0.0356 0.201 -0.176 0.860 -0.430 0.359\n", - "C(opponent)[T.AFC Wimbledon] -0.0823 0.210 -0.392 0.695 -0.494 0.329\n", - "C(opponent)[T.AIK Solna] -0.2645 0.182 -1.456 0.145 -0.620 0.091\n", - "C(opponent)[T.AS Beauvais] -0.0333 0.207 -0.161 0.872 -0.438 0.372\n", - "C(opponent)[T.AS Beziers] 0.0292 0.225 0.130 0.897 -0.412 0.470\n", - "C(opponent)[T.AS Cannes] -0.3078 0.254 -1.213 0.225 -0.805 0.189\n", - "C(opponent)[T.AS Cherbourg] 0.0026 0.236 0.011 0.991 -0.460 0.466\n", - "C(opponent)[T.AS Djerba] 0.0598 0.715 0.084 0.933 -1.342 1.461\n", - "C(opponent)[T.AS Gabes] -0.1370 0.206 -0.664 0.507 -0.542 0.268\n", - "C(opponent)[T.AS Kasserine] 0.5090 0.279 1.825 0.068 -0.038 1.056\n", - "C(opponent)[T.AS Khroub] 0.0191 0.202 0.095 0.924 -0.376 0.415\n", - "C(opponent)[T.AS Lyon-Duchere] -0.1876 0.265 -0.707 0.480 -0.708 0.333\n", - "C(opponent)[T.AS Marsa] -0.3134 0.193 -1.628 0.104 -0.691 0.064\n", - "C(opponent)[T.AS Moulins] 0.1521 0.266 0.571 0.568 -0.370 0.674\n", - "C(opponent)[T.AS Sale] -0.0627 0.334 -0.188 0.851 -0.718 0.592\n", - "C(opponent)[T.ASM Belfort] 0.0646 0.219 0.295 0.768 -0.365 0.494\n", - "C(opponent)[T.ASM Oran] 0.2239 0.245 0.915 0.360 -0.256 0.704\n", - "C(opponent)[T.ASO Chlef] -0.2562 0.204 -1.258 0.209 -0.656 0.143\n", - "C(opponent)[T.AZ Alkmaar] -0.2055 0.166 -1.237 0.216 -0.531 0.120\n", - "C(opponent)[T.Aalborg] -0.4118 0.184 -2.234 0.025 -0.773 -0.051\n", - "C(opponent)[T.Aalen] -0.1915 0.190 -1.006 0.314 -0.564 0.181\n", - "C(opponent)[T.Aalesunds FK] -0.1373 0.172 -0.797 0.425 -0.475 0.200\n", - "C(opponent)[T.Aarhus] -0.0681 0.180 -0.379 0.704 -0.420 0.284\n", - "C(opponent)[T.Aberdeen] -0.7548 0.233 -3.243 0.001 -1.211 -0.299\n", - "C(opponent)[T.Academica] 0.0757 0.169 0.447 0.655 -0.256 0.408\n", - "C(opponent)[T.Accrington] 0.0869 0.174 0.500 0.617 -0.254 0.428\n", - "C(opponent)[T.Adelaide United] -0.4676 0.189 -2.480 0.013 -0.837 -0.098\n", - "C(opponent)[T.Admira Wacker] -0.0246 0.179 -0.137 0.891 -0.375 0.326\n", - "C(opponent)[T.Agremiacao Sportiva Arapiraquense] 0.1346 0.248 0.544 0.587 -0.351 0.620\n", - "C(opponent)[T.Airdrie United] 0.0761 0.219 0.348 0.728 -0.353 0.505\n", - "C(opponent)[T.Ajaccio GFCO] -0.0294 0.161 -0.183 0.855 -0.344 0.285\n", - "C(opponent)[T.Ajax Amsterdam] -0.5219 0.214 -2.439 0.015 -0.941 -0.102\n", - "C(opponent)[T.Ajax Cape Town] -0.1409 0.172 -0.820 0.412 -0.478 0.196\n", - "C(opponent)[T.Akhisar Belediyespor] -0.4002 0.225 -1.781 0.075 -0.840 0.040\n", - "C(opponent)[T.Alania Vladikavkaz] -0.3069 0.200 -1.535 0.125 -0.699 0.085\n", - "C(opponent)[T.Alaves] -0.0662 0.203 -0.327 0.744 -0.464 0.331\n", - "C(opponent)[T.Albacete] 0.0348 0.199 0.174 0.861 -0.356 0.425\n", - "C(opponent)[T.AlbinoLeffe] -0.0141 0.210 -0.067 0.946 -0.425 0.397\n", - "C(opponent)[T.Albion Rovers] 0.2314 0.186 1.242 0.214 -0.134 0.597\n", - "C(opponent)[T.Albirex] -0.2582 0.186 -1.386 0.166 -0.623 0.107\n", - "C(opponent)[T.Alcorcon] -0.2114 0.176 -1.203 0.229 -0.556 0.133\n", - "C(opponent)[T.Alcoyano] 0.4029 0.254 1.587 0.112 -0.095 0.900\n", - "C(opponent)[T.Aldershot] -0.0318 0.183 -0.173 0.862 -0.391 0.327\n", - "C(opponent)[T.Aldosivi] 0.1060 0.191 0.556 0.578 -0.268 0.480\n", - "C(opponent)[T.Alemannia Aachen] 0.1048 0.202 0.519 0.604 -0.291 0.500\n", - "C(opponent)[T.Alfreton Town] 0.4310 0.188 2.298 0.022 0.063 0.799\n", - "C(opponent)[T.All Boys] -0.7020 0.265 -2.647 0.008 -1.222 -0.182\n", - "C(opponent)[T.Alloa Athletic] 0.1099 0.166 0.661 0.509 -0.216 0.436\n", - "C(opponent)[T.Almeria] -0.1262 0.183 -0.690 0.490 -0.485 0.232\n", - "C(opponent)[T.Altrincham] 0.2089 0.211 0.992 0.321 -0.204 0.622\n", - "C(opponent)[T.AmaZulu] -0.3013 0.201 -1.499 0.134 -0.695 0.093\n", - "C(opponent)[T.America MG] -0.2622 0.218 -1.201 0.230 -0.690 0.166\n", - "C(opponent)[T.America RN] 0.0484 0.270 0.180 0.857 -0.480 0.577\n", - "C(opponent)[T.Americana Futebol] -0.3962 0.440 -0.901 0.368 -1.258 0.466\n", - "C(opponent)[T.Amiens SC] -0.1926 0.170 -1.133 0.257 -0.526 0.141\n", - "C(opponent)[T.Ancona 1905] 0.2315 0.264 0.877 0.380 -0.286 0.749\n", - "C(opponent)[T.Anderlecht] -0.6019 0.193 -3.118 0.002 -0.980 -0.224\n", - "C(opponent)[T.Angers SCO] -0.4563 0.200 -2.279 0.023 -0.849 -0.064\n", - "C(opponent)[T.Ankaragucu] 0.2337 0.207 1.129 0.259 -0.172 0.640\n", - "C(opponent)[T.Annan Athletic] 0.2205 0.193 1.141 0.254 -0.158 0.599\n", - "C(opponent)[T.Antalyaspor] -0.1744 0.198 -0.882 0.378 -0.562 0.213\n", - "C(opponent)[T.Antofagasta] 0.0540 0.174 0.310 0.757 -0.288 0.396\n", - "C(opponent)[T.Anzhi Makhachkala] -0.5243 0.196 -2.680 0.007 -0.908 -0.141\n", - "C(opponent)[T.Apollon] -0.0202 0.373 -0.054 0.957 -0.750 0.710\n", - "C(opponent)[T.Aragua FC] -0.1101 0.161 -0.684 0.494 -0.426 0.206\n", - "C(opponent)[T.Arbroath] 0.4076 0.171 2.381 0.017 0.072 0.743\n", - "C(opponent)[T.Argentinos Juniors] -0.1149 0.186 -0.617 0.538 -0.480 0.250\n", - "C(opponent)[T.Aris] -0.1405 0.200 -0.701 0.483 -0.533 0.252\n", - "C(opponent)[T.Arles] -0.1234 0.216 -0.570 0.569 -0.548 0.301\n", - "C(opponent)[T.Arminia Bielefeld] 0.3390 0.160 2.118 0.034 0.025 0.653\n", - "C(opponent)[T.Arouca] -0.2033 0.209 -0.975 0.330 -0.612 0.205\n", - "C(opponent)[T.Arsenal] -0.6688 0.198 -3.379 0.001 -1.057 -0.281\n", - "C(opponent)[T.Arsenal Sarandi] -0.2383 0.183 -1.300 0.194 -0.598 0.121\n", - "C(opponent)[T.Arsenal Tula] -0.4864 0.223 -2.183 0.029 -0.923 -0.050\n", - "C(opponent)[T.Ascoli] -0.0846 0.179 -0.472 0.637 -0.436 0.266\n", - "C(opponent)[T.Asteras Tripolis] -0.2405 0.168 -1.428 0.153 -0.571 0.090\n", - "C(opponent)[T.Aston Villa] -0.3704 0.176 -2.102 0.036 -0.716 -0.025\n", - "C(opponent)[T.Atalanta] -0.3893 0.206 -1.894 0.058 -0.792 0.014\n", - "C(opponent)[T.Athletic Bilbao] -0.1792 0.195 -0.919 0.358 -0.561 0.203\n", - "C(opponent)[T.Athletic Bilbao B] -0.7075 0.719 -0.984 0.325 -2.116 0.701\n", - "C(opponent)[T.Athletico Madrid] -0.5142 0.216 -2.382 0.017 -0.937 -0.091\n", - "C(opponent)[T.Atlanta Silverbacks] 0.4631 0.227 2.042 0.041 0.019 0.908\n", - "C(opponent)[T.Atlas Guadalajara] -0.2010 0.185 -1.088 0.277 -0.563 0.161\n", - "C(opponent)[T.Atletico Clube Goianiense] -0.0356 0.198 -0.180 0.857 -0.423 0.352\n", - "C(opponent)[T.Atletico El Vigia] 0.1986 0.200 0.992 0.321 -0.194 0.591\n", - "C(opponent)[T.Atletico Mineiro] -0.5266 0.236 -2.233 0.026 -0.989 -0.064\n", - "C(opponent)[T.Atletico Paranaense] -0.6678 0.249 -2.683 0.007 -1.156 -0.180\n", - "C(opponent)[T.Atletico Rafaela] -0.2055 0.200 -1.027 0.304 -0.597 0.187\n", - "C(opponent)[T.Atletico Tucuman] -0.1948 0.260 -0.750 0.453 -0.704 0.314\n", - "C(opponent)[T.Atletico Venezuela] 0.1536 0.166 0.926 0.354 -0.171 0.478\n", - "C(opponent)[T.Atromitos] -0.3239 0.184 -1.765 0.078 -0.684 0.036\n", - "C(opponent)[T.Atvidabergs] 0.0845 0.190 0.446 0.656 -0.287 0.456\n", - "C(opponent)[T.Auckland City FC] -0.6736 0.183 -3.687 0.000 -1.032 -0.316\n", - "C(opponent)[T.Audax Italiano] -0.1441 0.181 -0.797 0.425 -0.498 0.210\n", - "C(opponent)[T.Augsburg] -0.7590 0.239 -3.182 0.001 -1.227 -0.291\n", - "C(opponent)[T.Austria Wien] -0.1806 0.164 -1.100 0.271 -0.502 0.141\n", - "C(opponent)[T.Auxerre] -0.6851 0.227 -3.024 0.002 -1.129 -0.241\n", - "C(opponent)[T.Avai FC] -0.1087 0.195 -0.558 0.577 -0.491 0.273\n", - "C(opponent)[T.Avangard Kursk] 0.5754 0.226 2.547 0.011 0.133 1.018\n", - "C(opponent)[T.Avellino] 0.1920 0.182 1.053 0.292 -0.165 0.549\n", - "C(opponent)[T.Aviron Bayonnais] 0.1739 0.188 0.923 0.356 -0.195 0.543\n", - "C(opponent)[T.Avispa] 0.2371 0.187 1.269 0.204 -0.129 0.603\n", - "C(opponent)[T.Ayr United] 0.3370 0.190 1.769 0.077 -0.036 0.710\n", - "C(opponent)[T.Babelsberg] -0.1202 0.247 -0.486 0.627 -0.605 0.364\n", - "C(opponent)[T.Balikesirspor] 0.5476 0.340 1.613 0.107 -0.118 1.213\n", - "C(opponent)[T.Baltika Kaliningrad] -0.1935 0.159 -1.219 0.223 -0.504 0.117\n", - "C(opponent)[T.Barcelona SC] -0.3202 0.165 -1.942 0.052 -0.643 0.003\n", - "C(opponent)[T.Bari 1908] -0.2792 0.172 -1.622 0.105 -0.617 0.058\n", - "C(opponent)[T.Barnet] 0.2143 0.191 1.123 0.261 -0.160 0.588\n", - "C(opponent)[T.Barnsley] -0.0740 0.186 -0.397 0.691 -0.439 0.291\n", - "C(opponent)[T.Baroka FC] 0.5445 0.372 1.463 0.143 -0.185 1.274\n", - "C(opponent)[T.Barrow] 0.3097 0.166 1.865 0.062 -0.016 0.635\n", - "C(opponent)[T.Basaksehir] -0.2179 0.174 -1.251 0.211 -0.559 0.124\n", - "C(opponent)[T.Bath City] 0.2626 0.250 1.051 0.293 -0.227 0.752\n", - "C(opponent)[T.Bayern Munich] -1.2328 0.271 -4.555 0.000 -1.763 -0.702\n", - "C(opponent)[T.Bayern Munich II] 0.5700 0.237 2.404 0.016 0.105 1.035\n", - "C(opponent)[T.Beijing Guoan] -0.6826 0.186 -3.675 0.000 -1.047 -0.319\n", - "C(opponent)[T.Beijing Renhe FC] -0.1109 0.170 -0.654 0.513 -0.443 0.221\n", - "C(opponent)[T.Beira Mar] -0.0030 0.247 -0.012 0.990 -0.487 0.481\n", - "C(opponent)[T.Beitar Jerusalem] -0.2847 0.182 -1.569 0.117 -0.640 0.071\n", - "C(opponent)[T.Belenenses] -0.4357 0.208 -2.098 0.036 -0.843 -0.029\n", - "C(opponent)[T.Belgrano Cordoba] -0.2925 0.195 -1.498 0.134 -0.675 0.090\n", - "C(opponent)[T.Bellinzona] 0.3528 0.254 1.391 0.164 -0.144 0.850\n", - "C(opponent)[T.Benevento] -0.2940 0.397 -0.741 0.459 -1.072 0.484\n", - "C(opponent)[T.Benfica] -0.9468 0.238 -3.978 0.000 -1.413 -0.480\n", - "C(opponent)[T.Bergen] 0.1190 0.206 0.578 0.563 -0.285 0.523\n", - "C(opponent)[T.Berwick Rangers] 0.1877 0.190 0.990 0.322 -0.184 0.559\n", - "C(opponent)[T.Besiktas] -0.4998 0.190 -2.634 0.008 -0.872 -0.128\n", - "C(opponent)[T.Beveren] 0.1223 0.325 0.376 0.707 -0.515 0.760\n", - "C(opponent)[T.BidVest Wits] -0.2743 0.186 -1.472 0.141 -0.640 0.091\n", - "C(opponent)[T.Birmingham City] -0.4788 0.182 -2.632 0.008 -0.835 -0.122\n", - "C(opponent)[T.Black Leopards] 0.3729 0.299 1.245 0.213 -0.214 0.960\n", - "C(opponent)[T.Blackburn Rovers] -0.4060 0.180 -2.261 0.024 -0.758 -0.054\n", - "C(opponent)[T.Blackpool] -0.2156 0.193 -1.120 0.263 -0.593 0.162\n", - "C(opponent)[T.Bloemfontein Celtic] -0.2884 0.174 -1.654 0.098 -0.630 0.053\n", - "C(opponent)[T.Bnei Sachnin FC] -0.4295 0.179 -2.398 0.017 -0.781 -0.078\n", - "C(opponent)[T.Bnei Yehuda Tel Aviv] -0.2891 0.213 -1.359 0.174 -0.706 0.128\n", - "C(opponent)[T.Boa Esporte Clube] 0.0045 0.203 0.022 0.982 -0.393 0.402\n", - "C(opponent)[T.Boavista] -0.2154 0.221 -0.973 0.331 -0.649 0.219\n", - "C(opponent)[T.Boca Juniors] -0.3086 0.198 -1.561 0.119 -0.696 0.079\n", - "C(opponent)[T.Bochum] -0.0261 0.187 -0.140 0.889 -0.392 0.340\n", - "C(opponent)[T.Bodo/Glimt] 0.0742 0.184 0.403 0.687 -0.286 0.435\n", - "C(opponent)[T.Bologna] -0.2548 0.197 -1.293 0.196 -0.641 0.132\n", - "C(opponent)[T.Bolton] -0.1662 0.189 -0.881 0.378 -0.536 0.203\n", - "C(opponent)[T.Bordeaux] -0.8213 0.240 -3.424 0.001 -1.291 -0.351\n", - "C(opponent)[T.Boreham Wood] -0.2263 0.259 -0.874 0.382 -0.734 0.281\n", - "C(opponent)[T.Botafogo Rio de Janeiro] -0.4349 0.229 -1.903 0.057 -0.883 0.013\n", - "C(opponent)[T.Bourg Peronnas] -0.1095 0.184 -0.594 0.553 -0.471 0.252\n", - "C(opponent)[T.Bournemouth] -0.2904 0.221 -1.313 0.189 -0.724 0.143\n", - "C(opponent)[T.Bradford] -0.3689 0.212 -1.740 0.082 -0.785 0.047\n", - "C(opponent)[T.Bragantino] 0.1548 0.193 0.803 0.422 -0.223 0.532\n", - "C(opponent)[T.Braintree Town] 0.1919 0.173 1.106 0.269 -0.148 0.532\n", - "C(opponent)[T.Brann Bergen] 0.1071 0.170 0.631 0.528 -0.225 0.440\n", - "C(opponent)[T.Braunschweig] -0.1974 0.175 -1.128 0.259 -0.540 0.146\n", - "C(opponent)[T.Brechin City] 0.4352 0.162 2.681 0.007 0.117 0.753\n", - "C(opponent)[T.Brentford] -0.4055 0.202 -2.012 0.044 -0.800 -0.011\n", - "C(opponent)[T.Brescia] 0.1503 0.154 0.978 0.328 -0.151 0.452\n", - "C(opponent)[T.Brest] -0.1908 0.180 -1.063 0.288 -0.543 0.161\n", - "C(opponent)[T.Brighton] -0.3326 0.203 -1.638 0.101 -0.731 0.065\n", - "C(opponent)[T.Brisbane Roar] -0.0722 0.175 -0.414 0.679 -0.414 0.270\n", - "C(opponent)[T.Bristol City] -0.1058 0.188 -0.563 0.574 -0.474 0.263\n", - "C(opponent)[T.Bristol Rovers] 0.0457 0.191 0.239 0.811 -0.329 0.420\n", - "C(opponent)[T.Bromley] -0.5587 0.351 -1.590 0.112 -1.247 0.130\n", - "C(opponent)[T.Brommapojkarna] 0.3207 0.194 1.651 0.099 -0.060 0.701\n", - "C(opponent)[T.Brondby] -0.1288 0.178 -0.725 0.468 -0.477 0.219\n", - "C(opponent)[T.Bucaspor] -0.8604 1.000 -0.860 0.390 -2.820 1.099\n", - "C(opponent)[T.Burnley] -0.5185 0.192 -2.698 0.007 -0.895 -0.142\n", - "C(opponent)[T.Bursaspor] -0.1999 0.167 -1.194 0.232 -0.528 0.128\n", - "C(opponent)[T.Burton] -0.4067 0.185 -2.201 0.028 -0.769 -0.044\n", - "C(opponent)[T.Bury] -0.1144 0.221 -0.519 0.604 -0.547 0.318\n", - "C(opponent)[T.Busan IPark] 0.0202 0.179 0.113 0.910 -0.330 0.370\n", - "C(opponent)[T.CA Banfield] -0.1352 0.195 -0.692 0.489 -0.518 0.248\n", - "C(opponent)[T.CA Bastia] 0.0549 0.159 0.346 0.729 -0.256 0.366\n", - "C(opponent)[T.CA Batna] 0.1082 0.213 0.507 0.612 -0.310 0.526\n", - "C(opponent)[T.CA Bizertin] -0.6663 0.180 -3.692 0.000 -1.020 -0.313\n", - "C(opponent)[T.CA Bordj Bou Arreridj] 0.0265 0.203 0.131 0.896 -0.371 0.424\n", - "C(opponent)[T.CA Colon] -0.2810 0.192 -1.464 0.143 -0.657 0.095\n", - "C(opponent)[T.CA Lanus] -0.3332 0.190 -1.752 0.080 -0.706 0.040\n", - "C(opponent)[T.CA San Martin] -0.0067 0.206 -0.032 0.974 -0.411 0.398\n", - "C(opponent)[T.CA Temperley] 0.1562 0.233 0.670 0.503 -0.301 0.613\n", - "C(opponent)[T.CD Chivas] 0.1439 0.224 0.642 0.521 -0.296 0.583\n", - "C(opponent)[T.CD Cobreloa] -0.0820 0.184 -0.446 0.656 -0.442 0.278\n", - "C(opponent)[T.CD Cobresal] 0.1795 0.162 1.110 0.267 -0.137 0.496\n", - "C(opponent)[T.CD Godoy Cruz] -0.1115 0.182 -0.613 0.540 -0.468 0.245\n", - "C(opponent)[T.CD Huachipato] 0.0594 0.151 0.393 0.694 -0.237 0.356\n", - "C(opponent)[T.CD Olmedo] -0.0879 0.203 -0.433 0.665 -0.486 0.310\n", - "C(opponent)[T.CD Palestino] 0.0388 0.165 0.236 0.814 -0.284 0.362\n", - "C(opponent)[T.CD Universidad Catolica] -0.3872 0.190 -2.041 0.041 -0.759 -0.015\n", - "C(opponent)[T.CF Atlante] -0.0877 0.217 -0.403 0.687 -0.514 0.338\n", - "C(opponent)[T.CF Monterrey] -0.1905 0.172 -1.107 0.268 -0.528 0.147\n", - "C(opponent)[T.CF Pachuca] -0.2928 0.186 -1.573 0.116 -0.658 0.072\n", - "C(opponent)[T.COD Meknes] -0.1867 0.394 -0.474 0.636 -0.959 0.586\n", - "C(opponent)[T.CR Al Hoceima] -0.2726 0.188 -1.453 0.146 -0.640 0.095\n", - "C(opponent)[T.CR Belouizdad] -0.4270 0.182 -2.348 0.019 -0.783 -0.071\n", - "C(opponent)[T.CR Vasco da Gama] -0.0506 0.713 -0.071 0.943 -1.448 1.347\n", - "C(opponent)[T.CRB Ain Fakroun] -0.5256 0.422 -1.244 0.214 -1.354 0.302\n", - "C(opponent)[T.CS Constantine] -0.0441 0.169 -0.262 0.794 -0.374 0.286\n", - "C(opponent)[T.CS Emelec] -0.5440 0.184 -2.960 0.003 -0.904 -0.184\n", - "C(opponent)[T.CS Hammam-Lif] -0.0570 0.173 -0.329 0.742 -0.397 0.283\n", - "C(opponent)[T.CS Sedan] -0.0120 0.237 -0.051 0.960 -0.476 0.452\n", - "C(opponent)[T.CSD Rangers] -0.3883 0.239 -1.625 0.104 -0.857 0.080\n", - "C(opponent)[T.CSKA Moscow] -0.9318 0.239 -3.901 0.000 -1.400 -0.464\n", - "C(opponent)[T.Cadiz] -0.2964 0.310 -0.956 0.339 -0.904 0.311\n", - "C(opponent)[T.Caen] -0.2391 0.200 -1.198 0.231 -0.630 0.152\n", - "C(opponent)[T.Cagliari] -0.1156 0.172 -0.670 0.503 -0.454 0.222\n", - "C(opponent)[T.Cambridge] 0.0015 0.179 0.009 0.993 -0.350 0.353\n", - "C(opponent)[T.Cambuur] 0.3139 0.176 1.781 0.075 -0.032 0.659\n", - "C(opponent)[T.Canterbury United] -0.1958 0.164 -1.195 0.232 -0.517 0.125\n", - "C(opponent)[T.Cape Town City FC] -0.0884 0.189 -0.467 0.641 -0.460 0.283\n", - "C(opponent)[T.Carabobo FC] -0.2059 0.173 -1.190 0.234 -0.545 0.133\n", - "C(opponent)[T.Caracas FC] -0.3440 0.178 -1.937 0.053 -0.692 0.004\n", - "C(opponent)[T.Cardiff City] -0.3561 0.277 -1.286 0.198 -0.899 0.186\n", - "C(opponent)[T.Carl Zeiss Jena] 0.1113 0.225 0.496 0.620 -0.329 0.551\n", - "C(opponent)[T.Carlisle] -0.2124 0.212 -1.000 0.317 -0.629 0.204\n", - "C(opponent)[T.Carolina RailHawks] 0.1307 0.235 0.555 0.579 -0.331 0.592\n", - "C(opponent)[T.Caroni FC] 0.2772 0.374 0.741 0.459 -0.456 1.010\n", - "C(opponent)[T.Carpi] -0.2345 0.181 -1.293 0.196 -0.590 0.121\n", - "C(opponent)[T.Carquefou JA] -0.6911 0.337 -2.053 0.040 -1.351 -0.031\n", - "C(opponent)[T.Cartagena] 0.1445 0.225 0.641 0.522 -0.297 0.586\n", - "C(opponent)[T.Cassis-Carnoux] 0.5477 0.290 1.886 0.059 -0.021 1.117\n", - "C(opponent)[T.Castellon] 0.1792 0.341 0.525 0.600 -0.490 0.848\n", - "C(opponent)[T.Catania] -0.5194 0.228 -2.277 0.023 -0.967 -0.072\n", - "C(opponent)[T.Ceara SC] -0.0499 0.198 -0.252 0.801 -0.438 0.339\n", - "C(opponent)[T.Celta de Vigo] -0.3467 0.191 -1.814 0.070 -0.721 0.028\n", - "C(opponent)[T.Celtic Glasgow] -1.0147 0.229 -4.439 0.000 -1.463 -0.567\n", - "C(opponent)[T.Central Coast Mariners] -0.0754 0.175 -0.430 0.667 -0.419 0.268\n", - "C(opponent)[T.Centro Italo] 0.1199 0.358 0.335 0.737 -0.581 0.821\n", - "C(opponent)[T.Cercle Brugge] 0.1518 0.168 0.905 0.365 -0.177 0.481\n", - "C(opponent)[T.Cerezo Osaka] -0.4580 0.191 -2.398 0.016 -0.832 -0.084\n", - "C(opponent)[T.Cesena] -0.1856 0.181 -1.025 0.305 -0.540 0.169\n", - "C(opponent)[T.Chabab Atlas Khenifra] 0.1841 0.267 0.690 0.490 -0.339 0.707\n", - "C(opponent)[T.Chacarita Juniors] -0.1694 0.461 -0.368 0.713 -1.073 0.734\n", - "C(opponent)[T.Chamois Niortais] -0.0496 0.181 -0.273 0.785 -0.405 0.306\n", - "C(opponent)[T.Changchun Yatai] -0.0518 0.159 -0.327 0.744 -0.363 0.259\n", - "C(opponent)[T.Changsha Ginde] -0.3728 0.297 -1.255 0.209 -0.955 0.209\n", - "C(opponent)[T.Chapecoense] -0.5643 0.248 -2.280 0.023 -1.049 -0.079\n", - "C(opponent)[T.Charleroi] -0.2956 0.178 -1.662 0.097 -0.644 0.053\n", - "C(opponent)[T.Charlton Athletic] -0.1599 0.171 -0.937 0.349 -0.494 0.175\n", - "C(opponent)[T.Chateauroux] -0.0950 0.192 -0.496 0.620 -0.471 0.281\n", - "C(opponent)[T.Chaves] 0.0487 0.311 0.156 0.876 -0.562 0.659\n", - "C(opponent)[T.Chelsea] -0.7494 0.216 -3.473 0.001 -1.172 -0.327\n", - "C(opponent)[T.Cheltenham] 0.3128 0.164 1.903 0.057 -0.009 0.635\n", - "C(opponent)[T.Chemnitzer FC] -0.3090 0.206 -1.499 0.134 -0.713 0.095\n", - "C(opponent)[T.Chengdu Blades] -0.0498 0.334 -0.149 0.881 -0.704 0.604\n", - "C(opponent)[T.Chernomorets Novorossisk] -0.3473 0.263 -1.322 0.186 -0.862 0.168\n", - "C(opponent)[T.Chester] 0.3319 0.160 2.077 0.038 0.019 0.645\n", - "C(opponent)[T.Chesterfield] 0.0705 0.179 0.394 0.693 -0.280 0.421\n", - "C(opponent)[T.Chiapas FC] -0.2132 0.222 -0.959 0.338 -0.649 0.223\n", - "C(opponent)[T.Chicago Fire] -0.0681 0.212 -0.322 0.748 -0.483 0.346\n", - "C(opponent)[T.Chievo Verona] -0.5169 0.185 -2.788 0.005 -0.880 -0.153\n", - "C(opponent)[T.Chippa United] -0.1076 0.213 -0.505 0.613 -0.525 0.310\n", - "C(opponent)[T.Chongqing Lifan] 0.0250 0.188 0.133 0.894 -0.344 0.394\n", - "C(opponent)[T.Chunnam Dragons] -0.0171 0.241 -0.071 0.944 -0.490 0.456\n", - "C(opponent)[T.Cittadella] 0.0096 0.161 0.059 0.953 -0.307 0.326\n", - "C(opponent)[T.Clermont] -0.0578 0.179 -0.323 0.747 -0.408 0.293\n", - "C(opponent)[T.Club Africain] -0.5793 0.208 -2.782 0.005 -0.987 -0.171\n", - "C(opponent)[T.Club Brugge] -0.4057 0.188 -2.153 0.031 -0.775 -0.036\n", - "C(opponent)[T.Club Leon] -0.0361 0.182 -0.199 0.843 -0.392 0.320\n", - "C(opponent)[T.Club Necaxa] 0.1140 0.268 0.426 0.670 -0.411 0.639\n", - "C(opponent)[T.Club Sportif Sfaxien] -0.5966 0.198 -3.011 0.003 -0.985 -0.208\n", - "C(opponent)[T.Club Tijuana] -0.4166 0.234 -1.781 0.075 -0.875 0.042\n", - "C(opponent)[T.Club de Futbol America] -0.2587 0.181 -1.433 0.152 -0.612 0.095\n", - "C(opponent)[T.Clube Nautico] 0.0389 0.192 0.203 0.839 -0.337 0.415\n", - "C(opponent)[T.Clube de Regatas Brasil] 0.1785 0.219 0.814 0.416 -0.251 0.608\n", - "C(opponent)[T.Clyde] 0.1949 0.183 1.066 0.286 -0.163 0.553\n", - "C(opponent)[T.Colchester] -0.0366 0.180 -0.203 0.839 -0.390 0.316\n", - "C(opponent)[T.Colo Colo] -0.2500 0.162 -1.540 0.124 -0.568 0.068\n", - "C(opponent)[T.Colorado Rapids] -0.2831 0.228 -1.241 0.215 -0.730 0.164\n", - "C(opponent)[T.Columbus Crew] 0.0113 0.198 0.057 0.954 -0.377 0.400\n", - "C(opponent)[T.Como] -0.1715 0.397 -0.432 0.665 -0.949 0.606\n", - "C(opponent)[T.Consadole Sapporo] -0.2252 0.185 -1.217 0.224 -0.588 0.138\n", - "C(opponent)[T.Cordoba] -0.0853 0.162 -0.525 0.599 -0.404 0.233\n", - "C(opponent)[T.Corinthians Paulista] -0.5993 0.246 -2.432 0.015 -1.082 -0.116\n", - "C(opponent)[T.Coritiba FC] -0.3670 0.222 -1.652 0.098 -0.802 0.068\n", - "C(opponent)[T.Coventry City] -0.0297 0.192 -0.155 0.877 -0.406 0.347\n", - "C(opponent)[T.Cowdenbeath] 0.1515 0.158 0.960 0.337 -0.158 0.461\n", - "C(opponent)[T.Crawley Town] 0.1308 0.169 0.772 0.440 -0.201 0.463\n", - "C(opponent)[T.Crewe Alexandra] 0.0426 0.181 0.235 0.814 -0.312 0.397\n", - "C(opponent)[T.Criciuma Esporte Clube] -0.0397 0.199 -0.200 0.842 -0.430 0.350\n", - "C(opponent)[T.Crotone] -0.1535 0.162 -0.946 0.344 -0.471 0.164\n", - "C(opponent)[T.Crucero del Norte] 0.0253 0.290 0.087 0.930 -0.542 0.593\n", - "C(opponent)[T.Cruz Azul] -0.1173 0.172 -0.683 0.495 -0.454 0.219\n", - "C(opponent)[T.Cruzeiro Esporte Clube] -0.4579 0.234 -1.960 0.050 -0.916 8.12e-05\n", - "C(opponent)[T.Crystal Palace] -0.2431 0.210 -1.158 0.247 -0.655 0.168\n", - "C(opponent)[T.Curico Unido] -0.4663 0.391 -1.191 0.234 -1.234 0.301\n", - "C(opponent)[T.D.C. United] 0.1902 0.195 0.975 0.330 -0.192 0.573\n", - "C(opponent)[T.DRB Tadjenanet] -0.1214 0.289 -0.420 0.675 -0.688 0.445\n", - "C(opponent)[T.Daegu FC] 0.0244 0.188 0.130 0.897 -0.343 0.392\n", - "C(opponent)[T.Daejeon Citizen] 0.3151 0.165 1.906 0.057 -0.009 0.639\n", - "C(opponent)[T.Dagenham and Redbridge] 0.2762 0.161 1.713 0.087 -0.040 0.592\n", - "C(opponent)[T.Dalian Aerbin] -0.1014 0.219 -0.463 0.643 -0.530 0.328\n", - "C(opponent)[T.Dalian Haichang] -0.1672 0.245 -0.684 0.494 -0.647 0.312\n", - "C(opponent)[T.Darlington] 0.4561 0.218 2.092 0.036 0.029 0.883\n", - "C(opponent)[T.Darmstadt 98] -0.3836 0.220 -1.747 0.081 -0.814 0.047\n", - "C(opponent)[T.Dartford] 0.3857 0.227 1.699 0.089 -0.059 0.831\n", - "C(opponent)[T.De Graafschap] -0.1381 0.308 -0.448 0.654 -0.741 0.465\n", - "C(opponent)[T.Defensa y Justicia] -0.5010 0.334 -1.501 0.133 -1.155 0.153\n", - "C(opponent)[T.Delfin SC] -0.2275 0.285 -0.799 0.424 -0.785 0.331\n", - "C(opponent)[T.Denizlispor] -0.1627 0.371 -0.438 0.661 -0.891 0.565\n", - "C(opponent)[T.Deportes Temuco] -0.4409 0.505 -0.872 0.383 -1.432 0.550\n", - "C(opponent)[T.Deportivo Anzoategui] -0.3209 0.177 -1.816 0.069 -0.667 0.025\n", - "C(opponent)[T.Deportivo Cuenca] -0.1351 0.160 -0.844 0.399 -0.449 0.179\n", - "C(opponent)[T.Deportivo Guadalajara] -0.2552 0.181 -1.407 0.159 -0.611 0.100\n", - "C(opponent)[T.Deportivo Italia] -0.6138 0.512 -1.199 0.230 -1.617 0.389\n", - "C(opponent)[T.Deportivo La Guaira] -0.3861 0.208 -1.859 0.063 -0.793 0.021\n", - "C(opponent)[T.Deportivo Lara] -0.3593 0.185 -1.942 0.052 -0.722 0.003\n", - "C(opponent)[T.Deportivo Nublense] 0.0499 0.197 0.254 0.800 -0.336 0.436\n", - "C(opponent)[T.Deportivo Petare] -0.2703 0.177 -1.524 0.128 -0.618 0.077\n", - "C(opponent)[T.Deportivo Quevedo] 0.0373 0.289 0.129 0.897 -0.529 0.604\n", - "C(opponent)[T.Deportivo Quito] -0.1550 0.179 -0.865 0.387 -0.506 0.196\n", - "C(opponent)[T.Deportivo Tachira] -0.4463 0.179 -2.499 0.012 -0.796 -0.096\n", - "C(opponent)[T.Deportivo Toluca] -0.1170 0.184 -0.635 0.525 -0.478 0.244\n", - "C(opponent)[T.Deportivo Zulia] -0.2529 0.593 -0.427 0.670 -1.415 0.909\n", - "C(opponent)[T.Derby County] -0.3975 0.217 -1.835 0.067 -0.822 0.027\n", - "C(opponent)[T.Difaa Jadida] -0.5406 0.212 -2.555 0.011 -0.955 -0.126\n", - "C(opponent)[T.Dijon] -0.4331 0.219 -1.974 0.048 -0.863 -0.003\n", - "C(opponent)[T.Dinamo Bryansk] -0.1113 0.257 -0.433 0.665 -0.615 0.392\n", - "C(opponent)[T.Dinamo Moscow] -0.5518 0.178 -3.100 0.002 -0.901 -0.203\n", - "C(opponent)[T.Dinamo St Petersburg] 0.2467 0.174 1.420 0.156 -0.094 0.587\n", - "C(opponent)[T.Diyarbakirspor] -0.4849 0.585 -0.828 0.407 -1.632 0.662\n", - "C(opponent)[T.Djurgardens] -0.0596 0.168 -0.356 0.722 -0.388 0.269\n", - "C(opponent)[T.Doncaster Rovers] -0.1415 0.189 -0.749 0.454 -0.512 0.229\n", - "C(opponent)[T.Dorados de Sinaloa] 0.2152 0.351 0.612 0.540 -0.473 0.904\n", - "C(opponent)[T.Dordrecht] 0.4378 0.338 1.295 0.195 -0.225 1.100\n", - "C(opponent)[T.Dortmund] -0.8258 0.246 -3.355 0.001 -1.308 -0.343\n", - "C(opponent)[T.Dortmund II] -0.1953 0.231 -0.844 0.399 -0.649 0.258\n", - "C(opponent)[T.Dover Athletic] -0.0952 0.254 -0.375 0.708 -0.593 0.402\n", - "C(opponent)[T.Doxa Dramas] -0.3863 0.461 -0.838 0.402 -1.290 0.517\n", - "C(opponent)[T.Dumbarton] 0.2712 0.171 1.587 0.113 -0.064 0.606\n", - "C(opponent)[T.Dundee United] -0.3845 0.210 -1.828 0.067 -0.797 0.028\n", - "C(opponent)[T.Dunfermline Athletic] 0.1689 0.178 0.951 0.342 -0.179 0.517\n", - "C(opponent)[T.Duque de Caxias] 0.4513 0.357 1.263 0.207 -0.249 1.152\n", - "C(opponent)[T.Dynamo Dresden] -0.0034 0.175 -0.019 0.985 -0.346 0.339\n", - "C(opponent)[T.EA Guingamp] -0.6795 0.291 -2.334 0.020 -1.250 -0.109\n", - "C(opponent)[T.EGS Gafsa] -0.0334 0.176 -0.190 0.850 -0.379 0.312\n", - "C(opponent)[T.EO Sidi Bouzid] 0.4082 0.248 1.644 0.100 -0.078 0.895\n", - "C(opponent)[T.ES Beni-Khalled] -0.0723 0.311 -0.233 0.816 -0.681 0.536\n", - "C(opponent)[T.ES Hammam Sousse] 0.2275 0.219 1.039 0.299 -0.202 0.656\n", - "C(opponent)[T.ES Metlaoui] -0.4747 0.245 -1.937 0.053 -0.955 0.006\n", - "C(opponent)[T.ES Sahel] -0.7726 0.206 -3.755 0.000 -1.176 -0.369\n", - "C(opponent)[T.ES Setif] -0.4747 0.183 -2.590 0.010 -0.834 -0.115\n", - "C(opponent)[T.ES Uzes Pont du Gard] 0.2498 0.229 1.091 0.275 -0.199 0.698\n", - "C(opponent)[T.ESTAC Troyes] -0.0829 0.232 -0.357 0.721 -0.538 0.372\n", - "C(opponent)[T.East Fife] 0.1336 0.184 0.726 0.468 -0.227 0.494\n", - "C(opponent)[T.East Stirling] 0.5542 0.174 3.183 0.001 0.213 0.895\n", - "C(opponent)[T.Eastbourne Borough] 0.6540 0.204 3.210 0.001 0.255 1.053\n", - "C(opponent)[T.Eastern Suburbs] -0.3819 0.303 -1.258 0.208 -0.977 0.213\n", - "C(opponent)[T.Eastleigh] -0.0019 0.208 -0.009 0.993 -0.409 0.405\n", - "C(opponent)[T.Ebbsfleet] 0.4374 0.197 2.216 0.027 0.051 0.824\n", - "C(opponent)[T.Edinburgh City] -0.3055 0.511 -0.597 0.550 -1.308 0.697\n", - "C(opponent)[T.Ehime FC] 0.0758 0.200 0.379 0.705 -0.316 0.468\n", - "C(opponent)[T.Eibar] -0.2617 0.221 -1.182 0.237 -0.696 0.172\n", - "C(opponent)[T.Eintracht Frankfurt] -0.4894 0.190 -2.572 0.010 -0.862 -0.116\n", - "C(opponent)[T.El Nacional] -0.0363 0.170 -0.213 0.832 -0.370 0.298\n", - "C(opponent)[T.Elazigspor] -0.7574 0.365 -2.073 0.038 -1.473 -0.041\n", - "C(opponent)[T.Elche] -0.1470 0.176 -0.838 0.402 -0.491 0.197\n", - "C(opponent)[T.Elgin City] 0.2225 0.177 1.254 0.210 -0.125 0.570\n", - "C(opponent)[T.Elversberg] 0.2551 0.399 0.639 0.523 -0.527 1.037\n", - "C(opponent)[T.Empoli] -0.1070 0.165 -0.648 0.517 -0.431 0.217\n", - "C(opponent)[T.Energie Cottbus] 0.0980 0.198 0.496 0.620 -0.290 0.486\n", - "C(opponent)[T.Engen Santos FC] 0.2424 0.302 0.803 0.422 -0.350 0.834\n", - "C(opponent)[T.Enisey Krasnoyarsk] 0.1656 0.169 0.977 0.329 -0.167 0.498\n", - "C(opponent)[T.Erciyesspor] -0.0059 0.301 -0.020 0.984 -0.595 0.584\n", - "C(opponent)[T.Ergotelis] 0.0791 0.172 0.460 0.646 -0.258 0.417\n", - "C(opponent)[T.Erzgebirge Aue] -0.1950 0.201 -0.971 0.332 -0.589 0.199\n", - "C(opponent)[T.Esbjerg fB] 0.0980 0.162 0.604 0.546 -0.220 0.416\n", - "C(opponent)[T.Eskisehirspor] -0.0226 0.159 -0.142 0.887 -0.335 0.290\n", - "C(opponent)[T.Espanyol Barcelona] -0.2819 0.218 -1.292 0.196 -0.709 0.146\n", - "C(opponent)[T.Esperance Tunis] -0.7836 0.215 -3.651 0.000 -1.204 -0.363\n", - "C(opponent)[T.Esperance Zarzis] -0.0713 0.205 -0.348 0.728 -0.472 0.330\n", - "C(opponent)[T.Espoli] 0.1385 0.246 0.563 0.574 -0.344 0.621\n", - "C(opponent)[T.Esporte Clube Bahia] -0.1524 0.220 -0.694 0.488 -0.583 0.278\n", - "C(opponent)[T.Esporte Clube Vitoria BA] -0.2753 0.201 -1.367 0.172 -0.670 0.120\n", - "C(opponent)[T.Estoril] -0.0415 0.178 -0.233 0.816 -0.391 0.308\n", - "C(opponent)[T.Estudiantes] -0.3311 0.187 -1.773 0.076 -0.697 0.035\n", - "C(opponent)[T.Estudiantes Tecos] 0.4125 0.222 1.858 0.063 -0.023 0.848\n", - "C(opponent)[T.Estudiantes de Caracas] 0.2565 0.251 1.023 0.306 -0.235 0.748\n", - "C(opponent)[T.Estudiantes de Merida] -0.0979 0.170 -0.575 0.565 -0.431 0.236\n", - "C(opponent)[T.Eupen] 0.4939 0.232 2.127 0.033 0.039 0.949\n", - "C(opponent)[T.Everton] -0.6654 0.235 -2.828 0.005 -1.126 -0.204\n", - "C(opponent)[T.Everton CD] -0.1110 0.228 -0.487 0.626 -0.557 0.335\n", - "C(opponent)[T.Evian Thonon Gaillard] -0.6826 0.237 -2.876 0.004 -1.148 -0.217\n", - "C(opponent)[T.Excelsior] 0.2301 0.183 1.254 0.210 -0.129 0.590\n", - "C(opponent)[T.Exeter City] -0.0849 0.183 -0.465 0.642 -0.443 0.273\n", - "C(opponent)[T.FAR de Rabat] -0.4425 0.191 -2.320 0.020 -0.816 -0.069\n", - "C(opponent)[T.FC Aarau] 0.4081 0.219 1.865 0.062 -0.021 0.837\n", - "C(opponent)[T.FC Ashdod] -0.1983 0.180 -1.101 0.271 -0.551 0.155\n", - "C(opponent)[T.FC Barcelona] -0.7047 0.200 -3.530 0.000 -1.096 -0.313\n", - "C(opponent)[T.FC Barcelona B] 0.0139 0.198 0.070 0.944 -0.375 0.403\n", - "C(opponent)[T.FC Basel] -0.5050 0.184 -2.745 0.006 -0.865 -0.144\n", - "C(opponent)[T.FC Chambly] 0.0868 0.214 0.405 0.685 -0.333 0.506\n", - "C(opponent)[T.FC Dallas] 0.1051 0.208 0.506 0.613 -0.302 0.512\n", - "C(opponent)[T.FC Dundee] -0.3648 0.206 -1.772 0.076 -0.768 0.039\n", - "C(opponent)[T.FC Edmonton] -0.3963 0.242 -1.641 0.101 -0.870 0.077\n", - "C(opponent)[T.FC Gifu] 0.2653 0.178 1.491 0.136 -0.083 0.614\n", - "C(opponent)[T.FC Gueugnon] 0.1926 0.205 0.939 0.348 -0.209 0.595\n", - "C(opponent)[T.FC Honka] -0.1953 0.200 -0.974 0.330 -0.588 0.198\n", - "C(opponent)[T.FC Innsbruck] 0.1619 0.200 0.808 0.419 -0.231 0.555\n", - "C(opponent)[T.FC Istres] 0.0441 0.340 0.130 0.897 -0.622 0.710\n", - "C(opponent)[T.FC Kobenhavn] -0.5406 0.201 -2.691 0.007 -0.934 -0.147\n", - "C(opponent)[T.FC Koln] -0.4484 0.193 -2.329 0.020 -0.826 -0.071\n", - "C(opponent)[T.FC Lahti] -0.0573 0.185 -0.310 0.756 -0.419 0.304\n", - "C(opponent)[T.FC Lugano] -0.0816 0.286 -0.286 0.775 -0.641 0.478\n", - "C(opponent)[T.FC Luzern] -0.0482 0.160 -0.301 0.764 -0.362 0.266\n", - "C(opponent)[T.FC Martigues] 0.4755 0.257 1.848 0.065 -0.029 0.980\n", - "C(opponent)[T.FC Metz] -0.3693 0.184 -2.002 0.045 -0.731 -0.008\n", - "C(opponent)[T.FC Neftekhimik] 0.1054 0.211 0.500 0.617 -0.308 0.518\n", - "C(opponent)[T.FC Orenburg] -0.5629 0.216 -2.602 0.009 -0.987 -0.139\n", - "C(opponent)[T.FC Pau] -0.1199 0.317 -0.378 0.705 -0.741 0.502\n", - "C(opponent)[T.FC Rouen] -0.1219 0.183 -0.667 0.505 -0.480 0.236\n", - "C(opponent)[T.FC Sakhalin] -1.2626 0.718 -1.758 0.079 -2.670 0.145\n", - "C(opponent)[T.FC Salyut Belgorod] -0.0912 0.223 -0.408 0.683 -0.529 0.347\n", - "C(opponent)[T.FC Seoul] -0.1684 0.178 -0.946 0.344 -0.517 0.181\n", - "C(opponent)[T.FC Sion] -0.1601 0.164 -0.975 0.329 -0.482 0.162\n", - "C(opponent)[T.FC St Gallen] -0.0183 0.164 -0.111 0.911 -0.340 0.304\n", - "C(opponent)[T.FC Superfund] 0.0542 0.264 0.206 0.837 -0.463 0.571\n", - "C(opponent)[T.FC Tambov] -0.3294 0.355 -0.927 0.354 -1.026 0.367\n", - "C(opponent)[T.FC Thun] -0.1009 0.174 -0.580 0.562 -0.442 0.240\n", - "C(opponent)[T.FC Tokyo] -0.6357 0.217 -2.936 0.003 -1.060 -0.211\n", - "C(opponent)[T.FC Ufa] -0.8232 0.255 -3.230 0.001 -1.323 -0.324\n", - "C(opponent)[T.FC Vaduz] 0.1659 0.209 0.793 0.428 -0.244 0.576\n", - "C(opponent)[T.FC Volgar Astrakhan] -0.0982 0.161 -0.610 0.542 -0.414 0.218\n", - "C(opponent)[T.FC Zurich] -0.0624 0.184 -0.340 0.734 -0.422 0.297\n", - "C(opponent)[T.FF Jaro] 0.0683 0.160 0.427 0.670 -0.246 0.382\n", - "C(opponent)[T.FK Amkar Perm] -0.4004 0.182 -2.196 0.028 -0.758 -0.043\n", - "C(opponent)[T.FK Angusht Nazran] 0.6539 0.267 2.452 0.014 0.131 1.177\n", - "C(opponent)[T.FK Chita] 0.1507 0.272 0.554 0.579 -0.382 0.683\n", - "C(opponent)[T.FK Haugesund] -0.1433 0.171 -0.837 0.403 -0.479 0.192\n", - "C(opponent)[T.FK Kamaz] 0.1342 0.183 0.735 0.462 -0.224 0.492\n", - "C(opponent)[T.FK Khimki] 0.0170 0.178 0.096 0.924 -0.332 0.366\n", - "C(opponent)[T.FK Krasnodar] -0.4251 0.179 -2.376 0.017 -0.776 -0.074\n", - "C(opponent)[T.FK Moscow] -0.5111 0.525 -0.974 0.330 -1.539 0.517\n", - "C(opponent)[T.FK Nizhniy Novgorod] -0.1042 0.204 -0.510 0.610 -0.505 0.296\n", - "C(opponent)[T.FK Radian-Baikal Irkutsk] 0.3047 0.295 1.034 0.301 -0.273 0.882\n", - "C(opponent)[T.FK Rostov] -0.5410 0.216 -2.504 0.012 -0.965 -0.118\n", - "C(opponent)[T.FK Saturn] -0.2959 0.328 -0.902 0.367 -0.939 0.347\n", - "C(opponent)[T.FK Tom Tomsk] -0.0334 0.164 -0.203 0.839 -0.355 0.288\n", - "C(opponent)[T.FK Torpedo Armavir] 0.6912 0.379 1.826 0.068 -0.051 1.433\n", - "C(opponent)[T.FK Tosno] -0.4377 0.216 -2.030 0.042 -0.860 -0.015\n", - "C(opponent)[T.FK Tyumen] -0.4009 0.275 -1.457 0.145 -0.940 0.138\n", - "C(opponent)[T.FK Ural] -0.3541 0.175 -2.022 0.043 -0.697 -0.011\n", - "C(opponent)[T.FK Zhemchuzhina] 0.2287 0.286 0.801 0.423 -0.331 0.789\n", - "C(opponent)[T.FSV Frankfurt] -0.1409 0.179 -0.785 0.432 -0.493 0.211\n", - "C(opponent)[T.FUS de Rabat] -0.4495 0.193 -2.329 0.020 -0.828 -0.071\n", - "C(opponent)[T.Fagiano] -0.3198 0.216 -1.484 0.138 -0.742 0.103\n", - "C(opponent)[T.Fakel Voronezh] -0.0588 0.213 -0.276 0.783 -0.476 0.359\n", - "C(opponent)[T.Falkenbergs] 0.4279 0.206 2.073 0.038 0.023 0.832\n", - "C(opponent)[T.Falkirk] -0.5125 0.197 -2.598 0.009 -0.899 -0.126\n", - "C(opponent)[T.Feirense] -0.0304 0.290 -0.105 0.917 -0.598 0.538\n", - "C(opponent)[T.Fenerbahce] -0.1805 0.178 -1.014 0.311 -0.529 0.168\n", - "C(opponent)[T.Feyenoord Rotterdam] -0.5468 0.216 -2.531 0.011 -0.970 -0.123\n", - "C(opponent)[T.Figueirense] -0.3403 0.251 -1.356 0.175 -0.832 0.152\n", - "C(opponent)[T.Fiorentina] -0.4204 0.196 -2.148 0.032 -0.804 -0.037\n", - "C(opponent)[T.Flamengo Rio de Janeiro] -0.6088 0.222 -2.744 0.006 -1.044 -0.174\n", - "C(opponent)[T.Fleetwood Town] -0.2133 0.169 -1.261 0.207 -0.545 0.118\n", - "C(opponent)[T.Fluminense Rio de Janeiro] -0.3978 0.244 -1.627 0.104 -0.877 0.081\n", - "C(opponent)[T.Forest Green] 0.0940 0.166 0.566 0.571 -0.232 0.420\n", - "C(opponent)[T.Forfar Athletic] 0.4081 0.171 2.386 0.017 0.073 0.743\n", - "C(opponent)[T.Fort Lauderdale Strikers] -0.1944 0.238 -0.817 0.414 -0.660 0.272\n", - "C(opponent)[T.Fortuna Dusseldorf] -0.1256 0.168 -0.746 0.456 -0.456 0.205\n", - "C(opponent)[T.Fortuna Koln] 0.0115 0.233 0.049 0.961 -0.445 0.468\n", - "C(opponent)[T.Fredrikstad FK] -0.1271 0.238 -0.534 0.593 -0.594 0.339\n", - "C(opponent)[T.Free State Stars] -0.1405 0.181 -0.776 0.438 -0.496 0.215\n", - "C(opponent)[T.Freiburg] -0.5032 0.185 -2.715 0.007 -0.866 -0.140\n", - "C(opponent)[T.Frosinone] 0.0273 0.190 0.144 0.886 -0.345 0.399\n", - "C(opponent)[T.Fuerza Amarilla Machala] -0.0067 0.231 -0.029 0.977 -0.459 0.445\n", - "C(opponent)[T.Fulham] -0.2252 0.151 -1.491 0.136 -0.521 0.071\n", - "C(opponent)[T.GAIS Goteborg] -0.4239 0.272 -1.559 0.119 -0.957 0.109\n", - "C(opponent)[T.GE Brasil Pelotas] -0.4408 0.445 -0.991 0.322 -1.313 0.431\n", - "C(opponent)[T.GIF Sundsvall] 0.1486 0.195 0.764 0.445 -0.233 0.530\n", - "C(opponent)[T.Gainare Tottori] -0.0410 0.246 -0.167 0.867 -0.522 0.440\n", - "C(opponent)[T.Galatasaray] -0.0801 0.168 -0.476 0.634 -0.410 0.250\n", - "C(opponent)[T.Gallipoli] 0.0079 0.323 0.024 0.981 -0.626 0.641\n", - "C(opponent)[T.Gallos Blancos Queretaro FC] -0.1455 0.191 -0.763 0.445 -0.519 0.228\n", - "C(opponent)[T.Gamba Osaka] -0.5201 0.200 -2.601 0.009 -0.912 -0.128\n", - "C(opponent)[T.Gangwon FC] 0.1491 0.227 0.656 0.512 -0.296 0.594\n", - "C(opponent)[T.Gap FC] -0.8092 0.515 -1.570 0.116 -1.820 0.201\n", - "C(opponent)[T.Gateshead] 0.1270 0.166 0.764 0.445 -0.199 0.453\n", - "C(opponent)[T.Gaziantepspor] -0.5234 0.192 -2.722 0.006 -0.900 -0.147\n", - "C(opponent)[T.Gefle IF] -0.0400 0.157 -0.254 0.799 -0.348 0.268\n", - "C(opponent)[T.Genclerbirligi] -0.1088 0.156 -0.696 0.487 -0.415 0.198\n", - "C(opponent)[T.Genk] -0.3152 0.180 -1.751 0.080 -0.668 0.038\n", - "C(opponent)[T.Genoa] -0.1993 0.199 -1.002 0.316 -0.589 0.191\n", - "C(opponent)[T.Gent] -0.4299 0.182 -2.365 0.018 -0.786 -0.074\n", - "C(opponent)[T.Germinal] -0.3093 0.228 -1.358 0.175 -0.756 0.137\n", - "C(opponent)[T.Getafe] -0.1915 0.175 -1.092 0.275 -0.535 0.152\n", - "C(opponent)[T.Giannina] -0.1049 0.200 -0.525 0.599 -0.496 0.287\n", - "C(opponent)[T.Gil Vicente] -0.2156 0.207 -1.044 0.297 -0.621 0.189\n", - "C(opponent)[T.Gillingham] -0.1797 0.199 -0.902 0.367 -0.570 0.211\n", - "C(opponent)[T.Gimnastic Tarragona] 0.0087 0.186 0.047 0.963 -0.357 0.374\n", - "C(opponent)[T.Giravanz] 0.1084 0.189 0.573 0.567 -0.262 0.479\n", - "C(opponent)[T.Girona] -0.1452 0.165 -0.882 0.378 -0.468 0.178\n", - "C(opponent)[T.Glasgow Rangers] -0.6102 0.213 -2.861 0.004 -1.028 -0.192\n", - "C(opponent)[T.Go Ahead Eagles] 0.1313 0.232 0.566 0.571 -0.323 0.586\n", - "C(opponent)[T.Goias Esporte Clube] -0.0432 0.197 -0.219 0.827 -0.430 0.344\n", - "C(opponent)[T.Gold Coast United] -0.1721 0.261 -0.660 0.509 -0.683 0.339\n", - "C(opponent)[T.Golden Arrows] -0.0430 0.173 -0.248 0.804 -0.382 0.296\n", - "C(opponent)[T.Granada] -0.4940 0.210 -2.355 0.019 -0.905 -0.083\n", - "C(opponent)[T.Grasshoppers Zurich] -0.1579 0.166 -0.949 0.343 -0.484 0.168\n", - "C(opponent)[T.Grays] 0.3851 0.357 1.079 0.281 -0.314 1.084\n", - "C(opponent)[T.Greenock Morton] 0.1682 0.171 0.985 0.325 -0.166 0.503\n", - "C(opponent)[T.Gremio Barueri] 0.0983 0.217 0.453 0.651 -0.327 0.524\n", - "C(opponent)[T.Gremio Porto Alegre] -0.4200 0.230 -1.825 0.068 -0.871 0.031\n", - "C(opponent)[T.Gremio Prudente] -0.0114 0.416 -0.027 0.978 -0.827 0.804\n", - "C(opponent)[T.Grenoble] -0.3950 0.339 -1.166 0.244 -1.059 0.269\n", - "C(opponent)[T.Greuther Furth] -0.0289 0.175 -0.166 0.868 -0.371 0.313\n", - "C(opponent)[T.Grimsby] -0.1412 0.179 -0.790 0.430 -0.492 0.209\n", - "C(opponent)[T.Grombalia Sports] -0.1972 0.352 -0.560 0.575 -0.887 0.493\n", - "C(opponent)[T.Groningen] -0.2374 0.180 -1.320 0.187 -0.590 0.115\n", - "C(opponent)[T.Grosseto] 0.3060 0.181 1.686 0.092 -0.050 0.662\n", - "C(opponent)[T.Guadalajara] 0.1856 0.265 0.700 0.484 -0.334 0.706\n", - "C(opponent)[T.Guangzhou Evergrande] -0.6440 0.207 -3.110 0.002 -1.050 -0.238\n", - "C(opponent)[T.Guangzhou Rich and Force] 0.2535 0.181 1.397 0.162 -0.102 0.609\n", - "C(opponent)[T.Guarani FC] -0.0573 0.235 -0.244 0.808 -0.518 0.404\n", - "C(opponent)[T.Guaratingueta] 0.2665 0.313 0.850 0.395 -0.348 0.881\n", - "C(opponent)[T.Gubbio] -0.0988 0.425 -0.233 0.816 -0.931 0.733\n", - "C(opponent)[T.Guimaraes] -0.1704 0.163 -1.045 0.296 -0.490 0.149\n", - "C(opponent)[T.Guingamp] -0.5479 0.225 -2.436 0.015 -0.989 -0.107\n", - "C(opponent)[T.Guiseley] 0.3656 0.221 1.651 0.099 -0.068 0.799\n", - "C(opponent)[T.Gwangju FC] 0.0117 0.193 0.061 0.952 -0.366 0.390\n", - "C(opponent)[T.Gwangju Sangmu] -0.4411 0.365 -1.210 0.226 -1.156 0.274\n", - "C(opponent)[T.GyE La Plata] 0.0316 0.182 0.173 0.862 -0.326 0.389\n", - "C(opponent)[T.Gyeongnam FC] 0.2775 0.187 1.484 0.138 -0.089 0.644\n", - "C(opponent)[T.HB Koge] 0.1435 0.214 0.671 0.502 -0.276 0.563\n", - "C(opponent)[T.HJK Helsinki] -0.5456 0.190 -2.876 0.004 -0.917 -0.174\n", - "C(opponent)[T.Hacken] -0.2001 0.162 -1.236 0.216 -0.517 0.117\n", - "C(opponent)[T.Haka Valkeakoski] -0.0561 0.220 -0.255 0.799 -0.488 0.376\n", - "C(opponent)[T.Halifax] 0.2966 0.235 1.264 0.206 -0.163 0.757\n", - "C(opponent)[T.Hallescher FC] -0.0892 0.201 -0.445 0.657 -0.482 0.304\n", - "C(opponent)[T.Halmstads BK] -0.0890 0.192 -0.462 0.644 -0.466 0.288\n", - "C(opponent)[T.Hamburger SV] -0.0391 0.163 -0.240 0.811 -0.359 0.281\n", - "C(opponent)[T.Hamilton Academical] -0.3923 0.197 -1.987 0.047 -0.779 -0.005\n", - "C(opponent)[T.Hamilton Wanderers] 0.2986 0.242 1.236 0.217 -0.175 0.772\n", - "C(opponent)[T.Hammarby IF] -0.1594 0.201 -0.791 0.429 -0.554 0.235\n", - "C(opponent)[T.Hangzhou Greentown] -0.0165 0.156 -0.105 0.916 -0.323 0.290\n", - "C(opponent)[T.Hannover 96] -0.2249 0.175 -1.282 0.200 -0.569 0.119\n", - "C(opponent)[T.Hansa Rostock] 0.1478 0.169 0.875 0.381 -0.183 0.479\n", - "C(opponent)[T.Hapoel Acre FC] 0.1710 0.178 0.963 0.336 -0.177 0.519\n", - "C(opponent)[T.Hapoel Ashkelon] -0.2914 0.308 -0.946 0.344 -0.895 0.312\n", - "C(opponent)[T.Hapoel Beer Sheva] -0.4062 0.198 -2.050 0.040 -0.795 -0.018\n", - "C(opponent)[T.Hapoel Haifa] 0.0303 0.169 0.179 0.858 -0.302 0.362\n", - "C(opponent)[T.Hapoel Kfar Saba] -0.3202 0.418 -0.766 0.443 -1.139 0.499\n", - "C(opponent)[T.Hapoel Petach-Tikva] -0.0372 0.228 -0.163 0.870 -0.484 0.409\n", - "C(opponent)[T.Hapoel Raanana] -0.0321 0.231 -0.139 0.889 -0.484 0.420\n", - "C(opponent)[T.Hapoel Ramat Gan] 0.1280 0.234 0.548 0.584 -0.330 0.586\n", - "C(opponent)[T.Hapoel Rishon] 0.0507 0.368 0.138 0.890 -0.671 0.772\n", - "C(opponent)[T.Hapoel Tel Aviv] -0.4372 0.223 -1.957 0.050 -0.875 0.001\n", - "C(opponent)[T.Hartlepool] 0.2833 0.166 1.702 0.089 -0.043 0.609\n", - "C(opponent)[T.Hassania US Agadir] 0.1151 0.172 0.671 0.502 -0.221 0.451\n", - "C(opponent)[T.Hawkes Bay United FC] -0.0017 0.150 -0.012 0.991 -0.296 0.292\n", - "C(opponent)[T.Hayes and Yeading] 0.5329 0.235 2.267 0.023 0.072 0.994\n", - "C(opponent)[T.Hearts] -0.3991 0.167 -2.389 0.017 -0.726 -0.072\n", - "C(opponent)[T.Hebei China Fortune FC] -0.1516 0.300 -0.505 0.614 -0.740 0.437\n", - "C(opponent)[T.Heerenveen] -0.0886 0.162 -0.545 0.586 -0.407 0.230\n", - "C(opponent)[T.Heidenheim] 0.0210 0.170 0.124 0.901 -0.311 0.353\n", - "C(opponent)[T.Hellas Verona] -0.1652 0.179 -0.925 0.355 -0.515 0.185\n", - "C(opponent)[T.Helsingborgs IF] -0.2705 0.165 -1.636 0.102 -0.595 0.054\n", - "C(opponent)[T.Helsingfors IFK] -0.2585 0.309 -0.836 0.403 -0.865 0.348\n", - "C(opponent)[T.Henan Jianye] -0.2862 0.177 -1.619 0.105 -0.633 0.060\n", - "C(opponent)[T.Heracles] -0.0345 0.153 -0.226 0.821 -0.334 0.265\n", - "C(opponent)[T.Hercules] -0.0061 0.189 -0.032 0.974 -0.376 0.364\n", - "C(opponent)[T.Hereford] 0.1656 0.278 0.596 0.551 -0.379 0.710\n", - "C(opponent)[T.Hertha Berlin] -0.3901 0.190 -2.052 0.040 -0.763 -0.017\n", - "C(opponent)[T.Hibernian] 0.0374 0.215 0.174 0.862 -0.385 0.460\n", - "C(opponent)[T.Higgins] 0.0965 0.160 0.602 0.547 -0.218 0.411\n", - "C(opponent)[T.Highlands Park] -0.3326 0.458 -0.727 0.468 -1.230 0.565\n", - "C(opponent)[T.Histon] 0.3620 0.211 1.716 0.086 -0.052 0.776\n", - "C(opponent)[T.Hobro] -0.3148 0.368 -0.856 0.392 -1.036 0.406\n", - "C(opponent)[T.Hoffenheim] -0.2103 0.190 -1.109 0.267 -0.582 0.161\n", - "C(opponent)[T.HollyHock] 0.0783 0.191 0.409 0.683 -0.297 0.453\n", - "C(opponent)[T.Holstein Kiel] -0.0649 0.194 -0.334 0.738 -0.445 0.316\n", - "C(opponent)[T.Honefoss BK] 0.2263 0.257 0.881 0.379 -0.277 0.730\n", - "C(opponent)[T.Horsens] -0.3292 0.277 -1.187 0.235 -0.873 0.215\n", - "C(opponent)[T.Houston Dynamo] -0.1742 0.207 -0.843 0.399 -0.579 0.231\n", - "C(opponent)[T.Huddersfield Town] -0.4362 0.225 -1.938 0.053 -0.878 0.005\n", - "C(opponent)[T.Huesca] -0.0205 0.171 -0.120 0.904 -0.355 0.314\n", - "C(opponent)[T.Hull City] -0.6241 0.197 -3.172 0.002 -1.010 -0.238\n", - "C(opponent)[T.Huracan] 0.0256 0.205 0.125 0.900 -0.375 0.427\n", - "C(opponent)[T.Hyde United] 0.6632 0.237 2.794 0.005 0.198 1.128\n", - "C(opponent)[T.Hyeres FC] 0.5012 0.253 1.985 0.047 0.006 0.996\n", - "C(opponent)[T.IF Elfsborg] -0.3397 0.195 -1.739 0.082 -0.723 0.043\n", - "C(opponent)[T.IFK Goteborg] -0.3869 0.173 -2.238 0.025 -0.726 -0.048\n", - "C(opponent)[T.IFK Mariehamn] -0.0159 0.160 -0.099 0.921 -0.330 0.299\n", - "C(opponent)[T.IFK Norrkoping] -0.2702 0.195 -1.385 0.166 -0.653 0.112\n", - "C(opponent)[T.IK Start] 0.4709 0.356 1.322 0.186 -0.227 1.169\n", - "C(opponent)[T.Icasa] 0.2474 0.241 1.027 0.305 -0.225 0.720\n", - "C(opponent)[T.Ilves Tampere] -0.0940 0.247 -0.381 0.703 -0.577 0.389\n", - "C(opponent)[T.Incheon United] -0.3397 0.194 -1.747 0.081 -0.721 0.041\n", - "C(opponent)[T.Independiente] -0.3013 0.188 -1.604 0.109 -0.670 0.067\n", - "C(opponent)[T.Independiente del Valle] -0.2173 0.172 -1.266 0.206 -0.554 0.119\n", - "C(opponent)[T.Indios Juarez] 0.6167 0.312 1.976 0.048 0.005 1.228\n", - "C(opponent)[T.Indy Eleven] 0.0338 0.266 0.127 0.899 -0.487 0.555\n", - "C(opponent)[T.Ingolstadt] -0.0743 0.173 -0.429 0.668 -0.414 0.265\n", - "C(opponent)[T.Inter Turku] -0.0239 0.160 -0.149 0.882 -0.338 0.291\n", - "C(opponent)[T.Internacional] -0.5380 0.218 -2.469 0.014 -0.965 -0.111\n", - "C(opponent)[T.Internazionale Milano] -0.5120 0.198 -2.589 0.010 -0.900 -0.124\n", - "C(opponent)[T.Inverness CT] -0.4476 0.205 -2.184 0.029 -0.849 -0.046\n", - "C(opponent)[T.Ipatinga FC] 0.9515 0.274 3.471 0.001 0.414 1.489\n", - "C(opponent)[T.Ipswich Town] 0.0109 0.180 0.060 0.952 -0.342 0.364\n", - "C(opponent)[T.Iraklis] -0.2135 0.241 -0.888 0.375 -0.685 0.258\n", - "C(opponent)[T.Ironi Kiryat Shmona] -0.1373 0.190 -0.721 0.471 -0.510 0.236\n", - "C(opponent)[T.Ironi Ramat HaSharon] -0.3240 0.287 -1.127 0.260 -0.887 0.239\n", - "C(opponent)[T.Irtysh Omsk] 0.3635 0.305 1.190 0.234 -0.235 0.962\n", - "C(opponent)[T.Istres] 0.0689 0.195 0.354 0.723 -0.313 0.451\n", - "C(opponent)[T.Ittihad Khemisset] -0.2478 0.298 -0.831 0.406 -0.832 0.337\n", - "C(opponent)[T.Ittihad Tanger] -0.2634 0.310 -0.851 0.395 -0.870 0.344\n", - "C(opponent)[T.JEF United] -0.1228 0.188 -0.654 0.513 -0.491 0.245\n", - "C(opponent)[T.JS El Massira] -0.0703 0.241 -0.292 0.770 -0.542 0.402\n", - "C(opponent)[T.JS Kabylie] -0.3984 0.176 -2.263 0.024 -0.744 -0.053\n", - "C(opponent)[T.JS Kairouan] -0.3842 0.181 -2.124 0.034 -0.739 -0.030\n", - "C(opponent)[T.JS Kasba Tadla] 0.2318 0.281 0.824 0.410 -0.319 0.783\n", - "C(opponent)[T.JS Saoura] -0.3717 0.231 -1.609 0.108 -0.824 0.081\n", - "C(opponent)[T.JSM Bejaia] -0.2686 0.194 -1.381 0.167 -0.650 0.113\n", - "C(opponent)[T.Jacksonville Armada] -0.0723 0.292 -0.247 0.805 -0.645 0.500\n", - "C(opponent)[T.Jaen] 0.3139 0.372 0.844 0.398 -0.415 1.042\n", - "C(opponent)[T.Jaguares Chiapas] -0.3558 0.248 -1.437 0.151 -0.841 0.129\n", - "C(opponent)[T.Jahn Regensburg] 0.1029 0.170 0.605 0.545 -0.230 0.436\n", - "C(opponent)[T.Jeju United] -0.0390 0.157 -0.249 0.804 -0.346 0.268\n", - "C(opponent)[T.Jeonbuk FC] -0.3202 0.181 -1.768 0.077 -0.675 0.035\n", - "C(opponent)[T.Jeonnam Dragons] -0.4592 0.247 -1.863 0.062 -0.942 0.024\n", - "C(opponent)[T.Jiangsu Suning] -0.2248 0.162 -1.387 0.165 -0.542 0.093\n", - "C(opponent)[T.Joinville Esporte Clube] -0.1199 0.219 -0.548 0.584 -0.549 0.309\n", - "C(opponent)[T.Jomo Cosmos] 0.2440 0.204 1.193 0.233 -0.157 0.645\n", - "C(opponent)[T.Jonkopings Sodra] -0.0686 0.290 -0.236 0.813 -0.638 0.500\n", - "C(opponent)[T.Jubilo Iwata] -0.1896 0.175 -1.082 0.279 -0.533 0.154\n", - "C(opponent)[T.Juve Stabia] 0.1290 0.218 0.590 0.555 -0.299 0.557\n", - "C(opponent)[T.Juventus] -0.5165 0.221 -2.334 0.020 -0.950 -0.083\n", - "C(opponent)[T.Jyvaskyla] 0.1701 0.209 0.813 0.416 -0.240 0.580\n", - "C(opponent)[T.KAC de Kenitra] -0.3253 0.192 -1.690 0.091 -0.703 0.052\n", - "C(opponent)[T.Kaiserslautern] -0.3084 0.199 -1.548 0.122 -0.699 0.082\n", - "C(opponent)[T.Kaizer Chiefs] -0.5964 0.199 -2.997 0.003 -0.986 -0.206\n", - "C(opponent)[T.Kallonis] -1.3132 0.704 -1.867 0.062 -2.692 0.066\n", - "C(opponent)[T.Kalmar FF] -0.2535 0.188 -1.345 0.179 -0.623 0.116\n", - "C(opponent)[T.Kamatamare] 0.3449 0.220 1.566 0.117 -0.087 0.777\n", - "C(opponent)[T.Kansas City Wizards] -0.5177 0.523 -0.991 0.322 -1.542 0.506\n", - "C(opponent)[T.Kapfenberger SV] 0.3812 0.194 1.961 0.050 0.000 0.762\n", - "C(opponent)[T.Karabukspor] 0.4059 0.167 2.435 0.015 0.079 0.733\n", - "C(opponent)[T.Karlsruher SC] -0.3865 0.209 -1.848 0.065 -0.797 0.024\n", - "C(opponent)[T.Kashima Antlers] -0.4364 0.194 -2.247 0.025 -0.817 -0.056\n", - "C(opponent)[T.Kashiwa Reysol] -0.1728 0.177 -0.977 0.329 -0.519 0.174\n", - "C(opponent)[T.Kasimpasa] 0.1937 0.164 1.185 0.236 -0.127 0.514\n", - "C(opponent)[T.Kataller Toyama] 0.1251 0.201 0.623 0.533 -0.268 0.519\n", - "C(opponent)[T.Kavala] -0.4084 0.290 -1.408 0.159 -0.977 0.160\n", - "C(opponent)[T.Kawasaki Frontale] -0.1237 0.204 -0.606 0.545 -0.524 0.277\n", - "C(opponent)[T.Kawkab AC Marrakech] -0.3706 0.196 -1.894 0.058 -0.754 0.013\n", - "C(opponent)[T.Kayserispor] -0.2760 0.216 -1.277 0.202 -0.700 0.148\n", - "C(opponent)[T.Kemi Kings] -0.5588 0.416 -1.343 0.179 -1.375 0.257\n", - "C(opponent)[T.Kerkyra] -0.1253 0.196 -0.640 0.522 -0.509 0.258\n", - "C(opponent)[T.Kettering Town] 0.2066 0.208 0.993 0.321 -0.201 0.614\n", - "C(opponent)[T.Khimik Dzerzhinsk] 0.3184 0.272 1.170 0.242 -0.215 0.852\n", - "C(opponent)[T.Kickers Offenbach] -0.0609 0.234 -0.260 0.795 -0.520 0.399\n", - "C(opponent)[T.Kidderminster] 0.1424 0.194 0.735 0.462 -0.237 0.522\n", - "C(opponent)[T.Kilmarnock] 0.0389 0.195 0.200 0.841 -0.342 0.420\n", - "C(opponent)[T.Koblenz] 0.1352 0.291 0.464 0.642 -0.436 0.706\n", - "C(opponent)[T.Kongsvinger IL] -0.0601 0.393 -0.153 0.878 -0.830 0.710\n", - "C(opponent)[T.Konyaspor] -0.2313 0.242 -0.957 0.339 -0.705 0.242\n", - "C(opponent)[T.Kortrijk] -0.4137 0.171 -2.413 0.016 -0.750 -0.078\n", - "C(opponent)[T.Kotkan Tyovaen Palloilijat] -0.2142 0.389 -0.550 0.582 -0.977 0.549\n", - "C(opponent)[T.Kouvola] -0.0388 0.186 -0.209 0.835 -0.403 0.325\n", - "C(opponent)[T.Krylia Sovetov] 0.0681 0.173 0.395 0.693 -0.270 0.406\n", - "C(opponent)[T.Kuban Krasnodar] -0.2253 0.166 -1.357 0.175 -0.551 0.100\n", - "C(opponent)[T.Kuopion PS] -0.0130 0.166 -0.078 0.938 -0.339 0.313\n", - "C(opponent)[T.Kyoto Sanga] -0.3182 0.182 -1.750 0.080 -0.675 0.038\n", - "C(opponent)[T.LASK Linz] 0.7839 0.213 3.674 0.000 0.366 1.202\n", - "C(opponent)[T.LB Chateauroux] -0.1318 0.262 -0.503 0.615 -0.646 0.382\n", - "C(opponent)[T.LDU Loja] -0.0646 0.181 -0.357 0.721 -0.420 0.290\n", - "C(opponent)[T.LDU Portoviejo] 0.4571 0.323 1.416 0.157 -0.175 1.089\n", - "C(opponent)[T.LDU Quito] -0.4107 0.179 -2.299 0.022 -0.761 -0.061\n", - "C(opponent)[T.La Coruna] -0.3226 0.190 -1.697 0.090 -0.695 0.050\n", - "C(opponent)[T.La Palme Tozeur] -0.0397 0.355 -0.112 0.911 -0.735 0.655\n", - "C(opponent)[T.La Serena] 0.2162 0.219 0.986 0.324 -0.213 0.646\n", - "C(opponent)[T.Larisa] 0.0268 0.200 0.134 0.894 -0.366 0.419\n", - "C(opponent)[T.Las Palmas] 0.0319 0.162 0.197 0.844 -0.286 0.350\n", - "C(opponent)[T.Latina] 0.0147 0.214 0.069 0.945 -0.404 0.434\n", - "C(opponent)[T.Lausanne Sport] -0.0647 0.229 -0.283 0.777 -0.514 0.384\n", - "C(opponent)[T.Laval] -0.1981 0.169 -1.171 0.242 -0.530 0.133\n", - "C(opponent)[T.Lazio] -0.5015 0.210 -2.389 0.017 -0.913 -0.090\n", - "C(opponent)[T.Le Havre] -0.6428 0.216 -2.975 0.003 -1.066 -0.219\n", - "C(opponent)[T.Le Mans] -0.3208 0.243 -1.320 0.187 -0.797 0.156\n", - "C(opponent)[T.Le Poire-sur-Vie] -0.1553 0.222 -0.701 0.484 -0.590 0.279\n", - "C(opponent)[T.Lecce] 0.0528 0.301 0.175 0.861 -0.538 0.643\n", - "C(opponent)[T.Leeds United] -0.1905 0.183 -1.039 0.299 -0.550 0.169\n", - "C(opponent)[T.Leganes] -0.2053 0.212 -0.969 0.332 -0.621 0.210\n", - "C(opponent)[T.Leicester City] -0.6519 0.231 -2.822 0.005 -1.105 -0.199\n", - "C(opponent)[T.Leiria] 0.0503 0.205 0.245 0.806 -0.352 0.452\n", - "C(opponent)[T.Leixoes] 0.2338 0.323 0.724 0.469 -0.400 0.867\n", - "C(opponent)[T.Lens] -0.1325 0.165 -0.801 0.423 -0.457 0.192\n", - "C(opponent)[T.Leones Negros] -0.9024 0.706 -1.278 0.201 -2.287 0.482\n", - "C(opponent)[T.Les Herbiers VF] 0.1779 0.223 0.798 0.425 -0.259 0.615\n", - "C(opponent)[T.Levadeiakos] -0.1538 0.171 -0.901 0.368 -0.488 0.181\n", - "C(opponent)[T.Levante] -0.2307 0.165 -1.397 0.163 -0.555 0.093\n", - "C(opponent)[T.Leverkusen] -0.6630 0.211 -3.140 0.002 -1.077 -0.249\n", - "C(opponent)[T.Leyton Orient] -0.3139 0.224 -1.403 0.161 -0.753 0.125\n", - "C(opponent)[T.Liaoning] -0.0291 0.164 -0.178 0.859 -0.350 0.292\n", - "C(opponent)[T.Lierse] -0.1484 0.195 -0.762 0.446 -0.530 0.233\n", - "C(opponent)[T.Lille] -0.7021 0.212 -3.317 0.001 -1.117 -0.287\n", - "C(opponent)[T.Lillestrom SK] -0.0405 0.170 -0.238 0.812 -0.374 0.293\n", - "C(opponent)[T.Lincoln] 0.2769 0.176 1.572 0.116 -0.068 0.622\n", - "C(opponent)[T.Liverpool] -0.7284 0.198 -3.672 0.000 -1.117 -0.340\n", - "C(opponent)[T.Livingston] -0.3554 0.212 -1.675 0.094 -0.771 0.060\n", - "C(opponent)[T.Livorno] 0.0890 0.179 0.498 0.618 -0.261 0.439\n", - "C(opponent)[T.Llagostera] -0.0715 0.227 -0.315 0.753 -0.517 0.374\n", - "C(opponent)[T.Llaneros de Guanare] -0.0126 0.183 -0.069 0.945 -0.371 0.346\n", - "C(opponent)[T.Lokeren] -0.2845 0.174 -1.639 0.101 -0.625 0.056\n", - "C(opponent)[T.Lokomotiv Moscow] -0.6738 0.224 -3.009 0.003 -1.113 -0.235\n", - "C(opponent)[T.Londrina Esporte Clube] -1.1018 0.526 -2.096 0.036 -2.132 -0.071\n", - "C(opponent)[T.Lorient] -0.2290 0.213 -1.073 0.283 -0.647 0.189\n", - "C(opponent)[T.Los Angeles Galaxy] -0.3117 0.226 -1.377 0.168 -0.755 0.132\n", - "C(opponent)[T.Louhans-Cuiseaux] 0.7271 0.221 3.283 0.001 0.293 1.161\n", - "C(opponent)[T.Luch-Energia] -0.2112 0.170 -1.244 0.213 -0.544 0.121\n", - "C(opponent)[T.Lugo] -0.1423 0.196 -0.727 0.467 -0.526 0.241\n", - "C(opponent)[T.Luton Town] -0.0645 0.178 -0.362 0.717 -0.414 0.285\n", - "C(opponent)[T.Luverdense] -0.3464 0.247 -1.405 0.160 -0.830 0.137\n", - "C(opponent)[T.Lyn Oslo] 0.2504 0.302 0.830 0.407 -0.341 0.842\n", - "C(opponent)[T.Lyngby] 0.0048 0.236 0.020 0.984 -0.457 0.467\n", - "C(opponent)[T.MC Alger] -0.3896 0.180 -2.159 0.031 -0.743 -0.036\n", - "C(opponent)[T.MC El Eulma] -0.2886 0.191 -1.512 0.131 -0.663 0.086\n", - "C(opponent)[T.MC Oran] -0.1824 0.171 -1.067 0.286 -0.518 0.153\n", - "C(opponent)[T.MC Saida] -0.0990 0.291 -0.340 0.734 -0.670 0.472\n", - "C(opponent)[T.MO Bejaia] -0.4803 0.273 -1.759 0.079 -1.015 0.055\n", - "C(opponent)[T.MSP Batna] 0.0763 0.372 0.205 0.838 -0.653 0.806\n", - "C(opponent)[T.MSV Duisburg] -0.0401 0.174 -0.231 0.817 -0.380 0.300\n", - "C(opponent)[T.MVD Rossii] 0.4266 0.238 1.794 0.073 -0.039 0.893\n", - "C(opponent)[T.Macae Esporte FC] 0.2817 0.286 0.985 0.325 -0.279 0.842\n", - "C(opponent)[T.Macara] -0.1601 0.214 -0.749 0.454 -0.579 0.259\n", - "C(opponent)[T.Maccabi Ahi Nazareth] 0.3735 0.273 1.367 0.172 -0.162 0.909\n", - "C(opponent)[T.Maccabi Haifa] -0.4589 0.183 -2.514 0.012 -0.817 -0.101\n", - "C(opponent)[T.Maccabi Netanya] 0.1511 0.186 0.813 0.416 -0.213 0.515\n", - "C(opponent)[T.Maccabi Petach-Tikva] -0.1546 0.192 -0.804 0.421 -0.531 0.222\n", - "C(opponent)[T.Maccabi Tel Aviv] -0.4199 0.179 -2.343 0.019 -0.771 -0.069\n", - "C(opponent)[T.Macclesfield] -0.0589 0.176 -0.334 0.738 -0.404 0.287\n", - "C(opponent)[T.Machida Zelvia] 0.3256 0.292 1.117 0.264 -0.246 0.897\n", - "C(opponent)[T.Magdeburg] -0.4938 0.335 -1.473 0.141 -1.151 0.163\n", - "C(opponent)[T.Maghrib de Fes] -0.2618 0.197 -1.328 0.184 -0.648 0.124\n", - "C(opponent)[T.Maidstone] 0.5514 0.289 1.910 0.056 -0.014 1.117\n", - "C(opponent)[T.Mainz 05] -0.2797 0.193 -1.450 0.147 -0.658 0.098\n", - "C(opponent)[T.Mainz 05 II] 0.1665 0.245 0.681 0.496 -0.313 0.646\n", - "C(opponent)[T.Malaga] -0.6086 0.231 -2.635 0.008 -1.061 -0.156\n", - "C(opponent)[T.Mallorca] -0.1899 0.198 -0.957 0.339 -0.579 0.199\n", - "C(opponent)[T.Malmo FF] -0.4276 0.215 -1.989 0.047 -0.849 -0.006\n", - "C(opponent)[T.Mamelodi Sundowns] -0.4977 0.194 -2.568 0.010 -0.878 -0.118\n", - "C(opponent)[T.Manchester City] -0.6592 0.200 -3.295 0.001 -1.051 -0.267\n", - "C(opponent)[T.Manchester United] -0.8010 0.208 -3.851 0.000 -1.209 -0.393\n", - "C(opponent)[T.Manisaspor] -0.0361 0.188 -0.191 0.848 -0.406 0.333\n", - "C(opponent)[T.Mansfield Town] 0.2087 0.172 1.215 0.224 -0.128 0.545\n", - "C(opponent)[T.Manta FC] -0.0194 0.191 -0.101 0.919 -0.394 0.355\n", - "C(opponent)[T.Mantova] -0.3007 0.372 -0.808 0.419 -1.031 0.429\n", - "C(opponent)[T.Maritimo] 0.0061 0.169 0.036 0.971 -0.326 0.338\n", - "C(opponent)[T.Maritzburg United] -0.0492 0.167 -0.295 0.768 -0.376 0.278\n", - "C(opponent)[T.Marseille Consolat] -0.0349 0.230 -0.152 0.879 -0.485 0.415\n", - "C(opponent)[T.Matsumoto] -0.4095 0.249 -1.642 0.101 -0.898 0.079\n", - "C(opponent)[T.Mechelen] -0.2065 0.178 -1.157 0.247 -0.556 0.143\n", - "C(opponent)[T.Melbourne City FC] 0.1321 0.179 0.737 0.461 -0.219 0.483\n", - "C(opponent)[T.Melbourne Victory] -0.4936 0.211 -2.336 0.020 -0.908 -0.079\n", - "C(opponent)[T.Mersin Idman Yurdu] 0.0086 0.197 0.043 0.965 -0.378 0.395\n", - "C(opponent)[T.Metallurg Lipetsk] 0.2883 0.247 1.167 0.243 -0.196 0.773\n", - "C(opponent)[T.Metallurg-Kuzbass Novokuznetsk] 0.4625 0.316 1.466 0.143 -0.156 1.081\n", - "C(opponent)[T.Metropolitanos FC] 0.2539 0.323 0.786 0.432 -0.379 0.887\n", - "C(opponent)[T.Miami FC] -0.0229 0.354 -0.064 0.949 -0.718 0.672\n", - "C(opponent)[T.Middlesbrough] -0.7102 0.222 -3.195 0.001 -1.146 -0.274\n", - "C(opponent)[T.Midtjylland] -0.2281 0.186 -1.226 0.220 -0.593 0.137\n", - "C(opponent)[T.Millwall] -0.3154 0.182 -1.736 0.083 -0.672 0.041\n", - "C(opponent)[T.Milton Keynes Dons] -0.1884 0.206 -0.917 0.359 -0.591 0.214\n", - "C(opponent)[T.Mineros de Guayana] -0.0642 0.193 -0.332 0.740 -0.443 0.315\n", - "C(opponent)[T.Minnesota] -0.2583 0.240 -1.077 0.281 -0.728 0.212\n", - "C(opponent)[T.Mirandes] 0.0313 0.176 0.178 0.859 -0.314 0.376\n", - "C(opponent)[T.Mjallby AIF] 0.0084 0.192 0.044 0.965 -0.368 0.385\n", - "C(opponent)[T.Mjondalen IF] 0.5794 0.520 1.115 0.265 -0.439 1.598\n", - "C(opponent)[T.Modena] -0.0593 0.186 -0.318 0.751 -0.425 0.306\n", - "C(opponent)[T.Moghreb de Tetouan] -0.2083 0.184 -1.133 0.257 -0.569 0.152\n", - "C(opponent)[T.Mogi Mirim] 0.2140 0.315 0.680 0.496 -0.403 0.831\n", - "C(opponent)[T.Molde FK] -0.3165 0.178 -1.782 0.075 -0.665 0.032\n", - "C(opponent)[T.Monaco] -0.3843 0.213 -1.803 0.071 -0.802 0.033\n", - "C(opponent)[T.Monagas] -0.0824 0.191 -0.432 0.666 -0.457 0.292\n", - "C(opponent)[T.Monarcas Morelia] -0.1590 0.169 -0.941 0.347 -0.490 0.172\n", - "C(opponent)[T.Monchengladbach] -0.1930 0.197 -0.980 0.327 -0.579 0.193\n", - "C(opponent)[T.Montedio Yamagata] -0.1531 0.167 -0.915 0.360 -0.481 0.175\n", - "C(opponent)[T.Montpellier] -0.0900 0.204 -0.441 0.659 -0.490 0.310\n", - "C(opponent)[T.Montreal Impact] 0.1496 0.186 0.805 0.421 -0.215 0.514\n", - "C(opponent)[T.Montrose] 0.3679 0.170 2.162 0.031 0.034 0.701\n", - "C(opponent)[T.Mordovia Saransk] -0.1740 0.178 -0.977 0.328 -0.523 0.175\n", - "C(opponent)[T.Morecambe] 0.0499 0.172 0.290 0.772 -0.288 0.388\n", - "C(opponent)[T.Moreirense] -0.0046 0.206 -0.022 0.982 -0.407 0.398\n", - "C(opponent)[T.Moroka Swallows] -0.1025 0.196 -0.524 0.600 -0.486 0.281\n", - "C(opponent)[T.Motherwell] -0.4103 0.186 -2.205 0.027 -0.775 -0.046\n", - "C(opponent)[T.Mouloudia Oujda] 0.5057 0.364 1.389 0.165 -0.208 1.219\n", - "C(opponent)[T.Mouscron] 0.3896 0.292 1.336 0.182 -0.182 0.961\n", - "C(opponent)[T.Mouscron-Peruwelz] 0.0342 0.280 0.122 0.903 -0.515 0.583\n", - "C(opponent)[T.Munich 1860] 0.0644 0.164 0.393 0.695 -0.257 0.386\n", - "C(opponent)[T.Municipal Iquique] -0.1193 0.188 -0.635 0.526 -0.488 0.249\n", - "C(opponent)[T.Murcia] 0.1639 0.168 0.977 0.329 -0.165 0.493\n", - "C(opponent)[T.Mushuc Runa] -0.1838 0.225 -0.818 0.414 -0.624 0.257\n", - "C(opponent)[T.NA Hussein Dey] -0.2509 0.199 -1.261 0.207 -0.641 0.139\n", - "C(opponent)[T.NAC Breda] 0.1004 0.171 0.588 0.557 -0.234 0.435\n", - "C(opponent)[T.NEC Nijmegen] 0.2022 0.157 1.285 0.199 -0.106 0.511\n", - "C(opponent)[T.Nacional] 0.0727 0.152 0.478 0.633 -0.225 0.371\n", - "C(opponent)[T.Nagoya Grampus] -0.2424 0.200 -1.211 0.226 -0.635 0.150\n", - "C(opponent)[T.Nanchang Hengyuan] 0.0446 0.311 0.144 0.886 -0.564 0.654\n", - "C(opponent)[T.Nancy] -0.5418 0.200 -2.705 0.007 -0.934 -0.149\n", - "C(opponent)[T.Nantes] -0.5272 0.203 -2.602 0.009 -0.924 -0.130\n", - "C(opponent)[T.Napoli] -0.3662 0.207 -1.766 0.077 -0.773 0.040\n", - "C(opponent)[T.Naval] -0.1818 0.350 -0.520 0.603 -0.868 0.504\n", - "C(opponent)[T.Neuchatel Xamax] 0.1834 0.244 0.753 0.451 -0.294 0.661\n", - "C(opponent)[T.New England Revolution] -0.0523 0.199 -0.263 0.792 -0.441 0.337\n", - "C(opponent)[T.New York City FC] -0.2782 0.351 -0.794 0.427 -0.965 0.409\n", - "C(opponent)[T.New York Cosmos] -0.2866 0.263 -1.088 0.277 -0.803 0.230\n", - "C(opponent)[T.New York Red Bulls] -0.1280 0.216 -0.593 0.553 -0.552 0.295\n", - "C(opponent)[T.Newcastle United] -0.3342 0.191 -1.753 0.080 -0.708 0.040\n", - "C(opponent)[T.Newcastle United Jets] 0.0304 0.162 0.187 0.852 -0.288 0.349\n", - "C(opponent)[T.Newells Old Boys] -0.2382 0.184 -1.295 0.195 -0.599 0.122\n", - "C(opponent)[T.Newport County] -0.1263 0.171 -0.739 0.460 -0.461 0.209\n", - "C(opponent)[T.Nice] -0.2383 0.187 -1.274 0.203 -0.605 0.128\n", - "C(opponent)[T.Niki Volou FC] 0.7830 0.287 2.731 0.006 0.221 1.345\n", - "C(opponent)[T.Nimes] 0.1297 0.188 0.690 0.490 -0.239 0.498\n", - "C(opponent)[T.Nimes Olympique] -0.3811 0.313 -1.219 0.223 -0.994 0.232\n", - "C(opponent)[T.Nocerina 1910] 0.5149 0.377 1.367 0.172 -0.223 1.253\n", - "C(opponent)[T.Nordsjalland] -0.0176 0.181 -0.097 0.923 -0.373 0.338\n", - "C(opponent)[T.North Ferriby] 0.7881 0.257 3.065 0.002 0.284 1.292\n", - "C(opponent)[T.North Queensland Fury] 0.3204 0.228 1.405 0.160 -0.126 0.767\n", - "C(opponent)[T.Northampton Town] 0.0302 0.188 0.161 0.872 -0.338 0.398\n", - "C(opponent)[T.Norwich City] -0.0816 0.179 -0.456 0.648 -0.432 0.269\n", - "C(opponent)[T.Nosta Novotroitsk] 0.0638 0.306 0.208 0.835 -0.537 0.664\n", - "C(opponent)[T.Nottingham Forest] -0.4318 0.192 -2.246 0.025 -0.809 -0.055\n", - "C(opponent)[T.Notts County] 0.0294 0.176 0.168 0.867 -0.315 0.373\n", - "C(opponent)[T.Novara] -0.2771 0.184 -1.502 0.133 -0.639 0.084\n", - "C(opponent)[T.Nueva Chicago] -0.0448 0.289 -0.155 0.877 -0.611 0.521\n", - "C(opponent)[T.Numancia] -0.1076 0.174 -0.619 0.536 -0.449 0.233\n", - "C(opponent)[T.Nuneaton Town] 0.3066 0.224 1.370 0.171 -0.132 0.745\n", - "C(opponent)[T.Nurnberg] -0.0407 0.176 -0.231 0.817 -0.386 0.304\n", - "C(opponent)[T.OFI Heraklion] -0.3045 0.249 -1.221 0.222 -0.793 0.184\n", - "C(opponent)[T.Odd Grenland] -0.5807 0.185 -3.147 0.002 -0.942 -0.219\n", - "C(opponent)[T.Odense] -0.1050 0.178 -0.592 0.554 -0.453 0.243\n", - "C(opponent)[T.Oeste FC] -0.0178 0.230 -0.077 0.938 -0.469 0.433\n", - "C(opponent)[T.Oita Trinita] -0.0279 0.187 -0.149 0.881 -0.393 0.338\n", - "C(opponent)[T.Oldham Athletic] -0.0813 0.198 -0.411 0.681 -0.469 0.306\n", - "C(opponent)[T.Olhanense] -0.1421 0.202 -0.703 0.482 -0.538 0.254\n", - "C(opponent)[T.Olimpo] -0.1344 0.197 -0.682 0.495 -0.520 0.252\n", - "C(opponent)[T.Olympiakos Piraeus] -0.8320 0.221 -3.772 0.000 -1.264 -0.400\n", - "C(opponent)[T.Olympiakos Volou] -0.4708 0.459 -1.025 0.305 -1.371 0.429\n", - "C(opponent)[T.Olympique Beja] -0.3020 0.219 -1.378 0.168 -0.731 0.127\n", - "C(opponent)[T.Olympique Lyonnais] -0.3507 0.208 -1.683 0.092 -0.759 0.058\n", - "C(opponent)[T.Olympique Marseille] -0.7936 0.230 -3.451 0.001 -1.244 -0.343\n", - "C(opponent)[T.Olympique Medea] -0.3154 0.422 -0.748 0.454 -1.142 0.511\n", - "C(opponent)[T.Olympique de Khouribga] -0.3620 0.191 -1.897 0.058 -0.736 0.012\n", - "C(opponent)[T.Olympique de Safi] -0.1288 0.178 -0.724 0.469 -0.478 0.220\n", - "C(opponent)[T.Olympique du Kef] 0.3342 0.373 0.895 0.371 -0.398 1.066\n", - "C(opponent)[T.Omiya Ardija] -0.4669 0.218 -2.144 0.032 -0.894 -0.040\n", - "C(opponent)[T.Oostende] 0.3500 0.205 1.706 0.088 -0.052 0.752\n", - "C(opponent)[T.Orduspor] -0.0261 0.230 -0.113 0.910 -0.478 0.426\n", - "C(opponent)[T.Orebro SK] -0.1826 0.192 -0.952 0.341 -0.559 0.193\n", - "C(opponent)[T.Orgryte IS] 0.2606 0.394 0.661 0.509 -0.512 1.034\n", - "C(opponent)[T.Orlando City] 0.3841 0.240 1.601 0.109 -0.086 0.854\n", - "C(opponent)[T.Orlando Pirates] -0.3422 0.191 -1.794 0.073 -0.716 0.032\n", - "C(opponent)[T.Orleans] -0.1273 0.167 -0.760 0.447 -0.456 0.201\n", - "C(opponent)[T.Osasuna] -0.0386 0.175 -0.221 0.825 -0.381 0.304\n", - "C(opponent)[T.Osmanlispor] -0.1833 0.510 -0.359 0.719 -1.183 0.817\n", - "C(opponent)[T.Osnabruck] -0.1159 0.175 -0.661 0.508 -0.459 0.227\n", - "C(opponent)[T.Osters IF] -0.5492 0.507 -1.083 0.279 -1.543 0.445\n", - "C(opponent)[T.Ostersunds FK] -0.2011 0.422 -0.477 0.633 -1.027 0.625\n", - "C(opponent)[T.Otago United] 0.3506 0.170 2.067 0.039 0.018 0.683\n", - "C(opponent)[T.Ottawa Fury] -0.2825 0.280 -1.008 0.313 -0.832 0.267\n", - "C(opponent)[T.Oud-Heverlee Leuven] 0.0849 0.267 0.318 0.751 -0.439 0.609\n", - "C(opponent)[T.Oulu] 0.4321 0.309 1.398 0.162 -0.173 1.038\n", - "C(opponent)[T.Oviedo] 0.0248 0.277 0.090 0.929 -0.518 0.567\n", - "C(opponent)[T.Oxford United] -0.5276 0.226 -2.331 0.020 -0.971 -0.084\n", - "C(opponent)[T.PAOK] -0.5043 0.201 -2.508 0.012 -0.898 -0.110\n", - "C(opponent)[T.PK35 Vantaa] 0.3026 0.268 1.129 0.259 -0.223 0.828\n", - "C(opponent)[T.PSV Eindhoven] -0.4517 0.204 -2.213 0.027 -0.852 -0.052\n", - "C(opponent)[T.Pacos Ferreira] 0.0030 0.156 0.019 0.985 -0.302 0.308\n", - "C(opponent)[T.Pacy Vallee] -0.0563 0.231 -0.244 0.807 -0.508 0.396\n", - "C(opponent)[T.Paderborn] 0.1618 0.165 0.982 0.326 -0.161 0.485\n", - "C(opponent)[T.Padova] -0.0603 0.185 -0.326 0.745 -0.423 0.303\n", - "C(opponent)[T.Palermo] -0.2996 0.183 -1.638 0.101 -0.658 0.059\n", - "C(opponent)[T.Panathinaikos] -0.3874 0.183 -2.114 0.035 -0.747 -0.028\n", - "C(opponent)[T.Panetolikos] -0.8499 0.279 -3.045 0.002 -1.397 -0.303\n", - "C(opponent)[T.Panionios] -0.3176 0.173 -1.835 0.066 -0.657 0.022\n", - "C(opponent)[T.Panserraikos] 0.1598 0.341 0.469 0.639 -0.509 0.828\n", - "C(opponent)[T.Panthrakikos] 0.0690 0.188 0.366 0.714 -0.300 0.438\n", - "C(opponent)[T.Parana Clube] -0.2170 0.211 -1.031 0.303 -0.630 0.196\n", - "C(opponent)[T.Paris FC] -0.1081 0.152 -0.711 0.477 -0.406 0.190\n", - "C(opponent)[T.Paris Saint-Germain] -0.7490 0.187 -4.009 0.000 -1.115 -0.383\n", - "C(opponent)[T.Parma] -0.2092 0.227 -0.923 0.356 -0.654 0.235\n", - "C(opponent)[T.Partick Thistle] -0.1898 0.195 -0.971 0.332 -0.573 0.193\n", - "C(opponent)[T.Patronato] -0.0338 0.424 -0.080 0.936 -0.865 0.798\n", - "C(opponent)[T.Paysandu SC] 0.0282 0.277 0.102 0.919 -0.514 0.571\n", - "C(opponent)[T.Penafiel] 0.1590 0.426 0.373 0.709 -0.676 0.994\n", - "C(opponent)[T.Perth Glory] 0.0035 0.179 0.019 0.985 -0.348 0.355\n", - "C(opponent)[T.Perugia] -0.2903 0.230 -1.261 0.207 -0.742 0.161\n", - "C(opponent)[T.Pescara] 0.0866 0.162 0.533 0.594 -0.232 0.405\n", - "C(opponent)[T.Peterborough United] 0.1280 0.175 0.733 0.464 -0.215 0.471\n", - "C(opponent)[T.Peterhead] -0.2803 0.263 -1.068 0.286 -0.795 0.234\n", - "C(opponent)[T.Philadelphia Union] -0.2361 0.223 -1.058 0.290 -0.674 0.201\n", - "C(opponent)[T.Piacenza] -0.3070 0.283 -1.085 0.278 -0.862 0.248\n", - "C(opponent)[T.Pisa] 0.1795 0.293 0.612 0.540 -0.395 0.754\n", - "C(opponent)[T.Platanias] -0.0530 0.187 -0.283 0.777 -0.420 0.314\n", - "C(opponent)[T.Platinum Stars] -0.2094 0.180 -1.162 0.245 -0.562 0.144\n", - "C(opponent)[T.Plymouth Argyle] 0.1184 0.193 0.613 0.540 -0.260 0.497\n", - "C(opponent)[T.Pohang Steelers] -0.1202 0.168 -0.717 0.474 -0.449 0.209\n", - "C(opponent)[T.Polokwane City] 0.0139 0.233 0.060 0.952 -0.442 0.470\n", - "C(opponent)[T.Ponferradina] 0.0525 0.168 0.312 0.755 -0.277 0.382\n", - "C(opponent)[T.Ponte Preta] -0.3464 0.214 -1.617 0.106 -0.766 0.074\n", - "C(opponent)[T.Port Vale] -0.0860 0.193 -0.446 0.656 -0.464 0.292\n", - "C(opponent)[T.Portimonense] -0.2891 0.391 -0.739 0.460 -1.056 0.478\n", - "C(opponent)[T.Portland Timbers] -0.3228 0.239 -1.353 0.176 -0.790 0.145\n", - "C(opponent)[T.Porto] -0.6927 0.207 -3.353 0.001 -1.098 -0.288\n", - "C(opponent)[T.Portogruaro] -0.3642 0.463 -0.787 0.431 -1.271 0.543\n", - "C(opponent)[T.Portsmouth] -0.2713 0.191 -1.422 0.155 -0.645 0.103\n", - "C(opponent)[T.Portuguesa] -0.2006 0.218 -0.922 0.357 -0.627 0.226\n", - "C(opponent)[T.Portuguesa FC] -0.4510 0.231 -1.953 0.051 -0.904 0.002\n", - "C(opponent)[T.Preston North End] -0.4546 0.215 -2.111 0.035 -0.877 -0.032\n", - "C(opponent)[T.Preussen Munster] -0.3167 0.213 -1.490 0.136 -0.733 0.100\n", - "C(opponent)[T.Pro Vercelli] -0.1385 0.220 -0.628 0.530 -0.571 0.294\n", - "C(opponent)[T.Puebla FC] -0.1689 0.173 -0.974 0.330 -0.509 0.171\n", - "C(opponent)[T.Puerto Rico FC] 0.0908 0.301 0.302 0.763 -0.499 0.681\n", - "C(opponent)[T.Pumas de la UNAM] -0.3088 0.183 -1.690 0.091 -0.667 0.049\n", - "C(opponent)[T.Qingdao] 0.1736 0.195 0.890 0.374 -0.209 0.556\n", - "C(opponent)[T.Queen of the South] -0.2061 0.233 -0.884 0.377 -0.663 0.251\n", - "C(opponent)[T.Queens Park] 0.0325 0.220 0.147 0.883 -0.399 0.464\n", - "C(opponent)[T.Queens Park Rangers] -0.4876 0.199 -2.449 0.014 -0.878 -0.097\n", - "C(opponent)[T.Quilmes AC] 0.0545 0.179 0.305 0.760 -0.296 0.405\n", - "C(opponent)[T.RB Leipzig] -0.6783 0.290 -2.338 0.019 -1.247 -0.110\n", - "C(opponent)[T.RB Salzburg] -0.7914 0.228 -3.465 0.001 -1.239 -0.344\n", - "C(opponent)[T.RC Arbaa] -0.1220 0.261 -0.468 0.640 -0.633 0.389\n", - "C(opponent)[T.RC Relizane] -0.0594 0.260 -0.228 0.820 -0.570 0.451\n", - "C(opponent)[T.RC Strasbourg] -0.4194 0.230 -1.824 0.068 -0.870 0.031\n", - "C(opponent)[T.RW Ahlen] 0.6181 0.229 2.695 0.007 0.169 1.068\n", - "C(opponent)[T.RW Erfurt] 0.0392 0.177 0.221 0.825 -0.308 0.386\n", - "C(opponent)[T.RW Oberhausen] 0.2202 0.240 0.918 0.359 -0.250 0.691\n", - "C(opponent)[T.Racing Besancon] 0.7546 0.309 2.441 0.015 0.149 1.360\n", - "C(opponent)[T.Racing Club] -0.2550 0.191 -1.338 0.181 -0.629 0.119\n", - "C(opponent)[T.Raith Rovers] -0.1347 0.179 -0.753 0.451 -0.485 0.216\n", - "C(opponent)[T.Raja Beni Mellal] -0.8793 0.712 -1.235 0.217 -2.275 0.517\n", - "C(opponent)[T.Raja Casablanca] -0.6763 0.207 -3.262 0.001 -1.083 -0.270\n", - "C(opponent)[T.Randers FC] -0.3334 0.197 -1.695 0.090 -0.719 0.052\n", - "C(opponent)[T.Rapid Wien] -0.4158 0.178 -2.332 0.020 -0.765 -0.066\n", - "C(opponent)[T.Rayo Oklahoma City] -0.1509 0.457 -0.330 0.741 -1.046 0.744\n", - "C(opponent)[T.Reading] -0.4033 0.206 -1.962 0.050 -0.806 -0.000\n", - "C(opponent)[T.Real Betis] -0.2896 0.202 -1.435 0.151 -0.685 0.106\n", - "C(opponent)[T.Real Esppor Club] -0.3804 0.265 -1.434 0.152 -0.900 0.139\n", - "C(opponent)[T.Real Madrid] -0.2783 0.219 -1.273 0.203 -0.707 0.150\n", - "C(opponent)[T.Real Madrid B] -0.1177 0.312 -0.378 0.706 -0.729 0.493\n", - "C(opponent)[T.Real Salt Lake] -0.1549 0.212 -0.730 0.465 -0.571 0.261\n", - "C(opponent)[T.Real Sociedad] -0.0017 0.179 -0.009 0.993 -0.353 0.350\n", - "C(opponent)[T.Real Union] -0.6189 0.393 -1.576 0.115 -1.389 0.151\n", - "C(opponent)[T.Recreativo] 0.1714 0.168 1.023 0.306 -0.157 0.500\n", - "C(opponent)[T.Red Diamonds] -0.5092 0.221 -2.306 0.021 -0.942 -0.076\n", - "C(opponent)[T.Red Star] -0.1056 0.183 -0.577 0.564 -0.464 0.253\n", - "C(opponent)[T.Reggina] 0.1009 0.185 0.546 0.585 -0.261 0.463\n", - "C(opponent)[T.Renaissance de Berkane] -0.4334 0.215 -2.019 0.043 -0.854 -0.013\n", - "C(opponent)[T.Rennes] -0.3492 0.218 -1.603 0.109 -0.776 0.078\n", - "C(opponent)[T.Renofa Yamaguchi] 0.2204 0.291 0.758 0.449 -0.350 0.790\n", - "C(opponent)[T.Reus Deportiu] -0.6362 0.391 -1.626 0.104 -1.403 0.131\n", - "C(opponent)[T.Rio Ave] -0.2325 0.174 -1.332 0.183 -0.574 0.110\n", - "C(opponent)[T.River Ecuador] -0.1849 0.273 -0.676 0.499 -0.721 0.351\n", - "C(opponent)[T.River Plate] -0.3157 0.211 -1.499 0.134 -0.728 0.097\n", - "C(opponent)[T.Rizespor] -0.2407 0.309 -0.779 0.436 -0.846 0.365\n", - "C(opponent)[T.Roasso Kumamoto] 0.1143 0.193 0.591 0.554 -0.265 0.493\n", - "C(opponent)[T.Rochdale] -0.1133 0.200 -0.567 0.571 -0.505 0.278\n", - "C(opponent)[T.Roda] 0.0490 0.180 0.273 0.785 -0.303 0.401\n", - "C(opponent)[T.Rodez AF] 0.0919 0.254 0.361 0.718 -0.407 0.590\n", - "C(opponent)[T.Roeselare] 0.1961 0.393 0.499 0.617 -0.573 0.966\n", - "C(opponent)[T.Roma] -0.4745 0.204 -2.328 0.020 -0.874 -0.075\n", - "C(opponent)[T.Rosario Central] -0.3345 0.203 -1.649 0.099 -0.732 0.063\n", - "C(opponent)[T.Rosenborg Trondheim] -0.5086 0.173 -2.932 0.003 -0.849 -0.169\n", - "C(opponent)[T.Ross County] -0.1743 0.180 -0.970 0.332 -0.526 0.178\n", - "C(opponent)[T.Rotherham United] 0.1346 0.193 0.696 0.486 -0.244 0.514\n", - "C(opponent)[T.Rotor Volgograd] -0.3172 0.231 -1.376 0.169 -0.769 0.135\n", - "C(opponent)[T.Rouen] 0.1084 0.258 0.420 0.674 -0.397 0.614\n", - "C(opponent)[T.Rovaniemi PS] -0.1135 0.173 -0.656 0.512 -0.453 0.226\n", - "C(opponent)[T.Rubin Kazan] -0.7689 0.214 -3.588 0.000 -1.189 -0.349\n", - "C(opponent)[T.Rushden and Diamonds] -0.1184 0.325 -0.364 0.716 -0.755 0.519\n", - "C(opponent)[T.SAS Epinal] 0.1834 0.167 1.100 0.271 -0.143 0.510\n", - "C(opponent)[T.SC Bastia] -0.1302 0.198 -0.657 0.511 -0.519 0.258\n", - "C(opponent)[T.SC Imbabura] -0.4025 0.390 -1.033 0.302 -1.166 0.361\n", - "C(opponent)[T.SCR Altach] -0.4359 0.270 -1.616 0.106 -0.965 0.093\n", - "C(opponent)[T.SD Aucas] -0.1173 0.232 -0.506 0.613 -0.571 0.337\n", - "C(opponent)[T.SKA-Energia Khabarovsk] -0.2990 0.163 -1.835 0.067 -0.618 0.020\n", - "C(opponent)[T.SPAL Ferrara] -0.4969 0.371 -1.338 0.181 -1.225 0.231\n", - "C(opponent)[T.SR Colmar] -0.1148 0.175 -0.657 0.511 -0.457 0.228\n", - "C(opponent)[T.SV Grodig] -0.0635 0.266 -0.239 0.811 -0.585 0.458\n", - "C(opponent)[T.SV Mattersburg] -0.1060 0.179 -0.592 0.554 -0.457 0.245\n", - "C(opponent)[T.SV Ried] -0.3290 0.176 -1.870 0.061 -0.674 0.016\n", - "C(opponent)[T.Saarbrucken] 0.4142 0.184 2.247 0.025 0.053 0.775\n", - "C(opponent)[T.Sabadell] -0.0341 0.214 -0.159 0.874 -0.454 0.386\n", - "C(opponent)[T.Sagan Tosu] -0.4781 0.244 -1.957 0.050 -0.957 0.001\n", - "C(opponent)[T.Salamanca] -0.0538 0.263 -0.205 0.838 -0.568 0.461\n", - "C(opponent)[T.Salernitana] 0.1930 0.185 1.044 0.297 -0.169 0.555\n", - "C(opponent)[T.Salgueiro AC] 0.5984 0.282 2.121 0.034 0.045 1.151\n", - "C(opponent)[T.Salisbury] -0.6859 1.009 -0.680 0.497 -2.664 1.292\n", - "C(opponent)[T.Salyut-Energiya Belgorod] 0.3010 0.246 1.225 0.221 -0.181 0.783\n", - "C(opponent)[T.Sampaio Correa FC] -0.0795 0.230 -0.346 0.729 -0.530 0.371\n", - "C(opponent)[T.Sampdoria] -0.3428 0.193 -1.774 0.076 -0.721 0.036\n", - "C(opponent)[T.Samsunspor] 0.3009 0.252 1.195 0.232 -0.193 0.794\n", - "C(opponent)[T.San Antonio Scorpions] -0.1720 0.290 -0.594 0.553 -0.740 0.396\n", - "C(opponent)[T.San Jose Earthquakes] 0.0710 0.203 0.350 0.726 -0.327 0.468\n", - "C(opponent)[T.San Lorenzo] -0.4042 0.192 -2.103 0.035 -0.781 -0.027\n", - "C(opponent)[T.San Luis] 0.0352 0.228 0.155 0.877 -0.412 0.482\n", - "C(opponent)[T.San Luis FC] 0.0546 0.216 0.252 0.801 -0.369 0.478\n", - "C(opponent)[T.San Marcos de Arica] -0.4325 0.363 -1.193 0.233 -1.143 0.278\n", - "C(opponent)[T.Sandefjord Fotball] 0.0704 0.223 0.315 0.753 -0.368 0.508\n", - "C(opponent)[T.Sandhausen] -0.2768 0.186 -1.485 0.137 -0.642 0.088\n", - "C(opponent)[T.Sandnes Ulf] 0.2228 0.214 1.041 0.298 -0.197 0.642\n", - "C(opponent)[T.Sanfrecce] -0.4658 0.203 -2.293 0.022 -0.864 -0.068\n", - "C(opponent)[T.Sangju Sangmu] -0.1953 0.257 -0.761 0.447 -0.698 0.308\n", - "C(opponent)[T.Santa Cruz FC] -0.0861 0.212 -0.407 0.684 -0.501 0.329\n", - "C(opponent)[T.Santander] 0.0934 0.199 0.469 0.639 -0.297 0.484\n", - "C(opponent)[T.Santiago Morning] -0.0077 0.253 -0.031 0.976 -0.504 0.489\n", - "C(opponent)[T.Santiago Wanderers] 0.0136 0.174 0.079 0.937 -0.327 0.354\n", - "C(opponent)[T.Santo Andre Esporte Clube] 0.1445 0.325 0.445 0.656 -0.492 0.781\n", - "C(opponent)[T.Santos FC] -0.4867 0.218 -2.229 0.026 -0.915 -0.059\n", - "C(opponent)[T.Santos Laguna] 0.0191 0.180 0.106 0.915 -0.333 0.371\n", - "C(opponent)[T.Sao Caetano] -0.2408 0.257 -0.936 0.350 -0.745 0.264\n", - "C(opponent)[T.Sao Paulo FC] -0.3353 0.217 -1.548 0.122 -0.760 0.089\n", - "C(opponent)[T.Sarmiento de Junin] 0.2990 0.206 1.454 0.146 -0.104 0.702\n", - "C(opponent)[T.Sarpsborg 08] 0.0447 0.181 0.247 0.805 -0.311 0.400\n", - "C(opponent)[T.Sassuolo] -0.4969 0.204 -2.438 0.015 -0.896 -0.097\n", - "C(opponent)[T.Schalke 04] -0.7559 0.203 -3.716 0.000 -1.155 -0.357\n", - "C(opponent)[T.Scunthorpe United] -0.2184 0.200 -1.092 0.275 -0.610 0.174\n", - "C(opponent)[T.Seattle Sounders] -0.3720 0.213 -1.748 0.081 -0.789 0.045\n", - "C(opponent)[T.Sedan] -0.1265 0.216 -0.587 0.557 -0.549 0.296\n", - "C(opponent)[T.Seinajoki] -0.6867 0.297 -2.308 0.021 -1.270 -0.104\n", - "C(opponent)[T.Seongnam FC] -0.3781 0.188 -2.016 0.044 -0.746 -0.011\n", - "C(opponent)[T.Servette Geneve] -1.0415 0.572 -1.822 0.069 -2.162 0.079\n", - "C(opponent)[T.Setubal] 0.0213 0.164 0.130 0.896 -0.300 0.342\n", - "C(opponent)[T.Sevilla Atletico] 0.3308 0.400 0.828 0.408 -0.452 1.114\n", - "C(opponent)[T.Sevilla FC] -0.3735 0.209 -1.784 0.074 -0.784 0.037\n", - "C(opponent)[T.Shandong Luneng] -0.1849 0.166 -1.113 0.266 -0.510 0.141\n", - "C(opponent)[T.Shanghai East Asia] -0.1277 0.289 -0.443 0.658 -0.693 0.438\n", - "C(opponent)[T.Shanghai Greenland] -0.1807 0.164 -1.099 0.272 -0.503 0.142\n", - "C(opponent)[T.Shanghai SIPG] -0.0804 0.250 -0.322 0.748 -0.570 0.409\n", - "C(opponent)[T.Shanghai Shenxin] 0.1368 0.220 0.620 0.535 -0.295 0.569\n", - "C(opponent)[T.Sheffield United] -0.1810 0.172 -1.053 0.292 -0.518 0.156\n", - "C(opponent)[T.Sheffield Wednesday] -0.2123 0.200 -1.063 0.288 -0.604 0.179\n", - "C(opponent)[T.Shenzhen FC] -0.2600 0.279 -0.932 0.352 -0.807 0.287\n", - "C(opponent)[T.Shijiazhuang Ever Bright] -0.1436 0.282 -0.508 0.611 -0.697 0.410\n", - "C(opponent)[T.Shimizu Pulse] -0.1557 0.191 -0.815 0.415 -0.530 0.219\n", - "C(opponent)[T.Shinnik Yaroslavl] -0.4029 0.174 -2.322 0.020 -0.743 -0.063\n", - "C(opponent)[T.Shonan Bellmare] -0.1648 0.174 -0.948 0.343 -0.506 0.176\n", - "C(opponent)[T.Shrewsbury Town] -0.0373 0.180 -0.207 0.836 -0.390 0.315\n", - "C(opponent)[T.Sibir Novosibirsk] -0.1298 0.159 -0.816 0.414 -0.441 0.182\n", - "C(opponent)[T.Siena] -0.1485 0.233 -0.636 0.525 -0.606 0.309\n", - "C(opponent)[T.Silkeborg] 0.1181 0.180 0.658 0.511 -0.234 0.470\n", - "C(opponent)[T.Sivasspor] -0.1561 0.177 -0.883 0.377 -0.503 0.190\n", - "C(opponent)[T.Sochaux] -0.4780 0.190 -2.516 0.012 -0.850 -0.106\n", - "C(opponent)[T.Sociedade Esportiva Palmeiras] -0.2783 0.211 -1.321 0.187 -0.691 0.135\n", - "C(opponent)[T.Sogndal IL] -0.2076 0.190 -1.092 0.275 -0.580 0.165\n", - "C(opponent)[T.Sokol Saratov] 0.0118 0.205 0.058 0.954 -0.389 0.413\n", - "C(opponent)[T.Solihull] 0.6316 0.224 2.821 0.005 0.193 1.070\n", - "C(opponent)[T.SonderjyskE] -0.0563 0.161 -0.349 0.727 -0.373 0.260\n", - "C(opponent)[T.Sonnenhof Grossaspach] 0.1919 0.221 0.867 0.386 -0.242 0.626\n", - "C(opponent)[T.Southampton] -0.6144 0.216 -2.848 0.004 -1.037 -0.192\n", - "C(opponent)[T.Southend] -0.1885 0.198 -0.954 0.340 -0.576 0.199\n", - "C(opponent)[T.Southern United] 0.2367 0.165 1.432 0.152 -0.087 0.561\n", - "C(opponent)[T.Southport] 0.3595 0.163 2.204 0.028 0.040 0.679\n", - "C(opponent)[T.Sparta Rotterdam] -0.1013 0.296 -0.342 0.732 -0.682 0.479\n", - "C(opponent)[T.Spartak Moscow] -0.4392 0.183 -2.397 0.017 -0.798 -0.080\n", - "C(opponent)[T.Spartak Moscow 2] -0.0157 0.269 -0.058 0.954 -0.544 0.512\n", - "C(opponent)[T.Spartak Nalchik] -0.4599 0.201 -2.287 0.022 -0.854 -0.066\n", - "C(opponent)[T.Spezia] -0.1381 0.218 -0.634 0.526 -0.565 0.289\n", - "C(opponent)[T.Sport Club Recife] 0.0427 0.203 0.211 0.833 -0.354 0.440\n", - "C(opponent)[T.Sportfreunde Lotte] -0.6263 0.514 -1.218 0.223 -1.634 0.382\n", - "C(opponent)[T.Sporting Braga] -0.6077 0.208 -2.927 0.003 -1.015 -0.201\n", - "C(opponent)[T.Sporting Gijon] -0.3746 0.177 -2.112 0.035 -0.722 -0.027\n", - "C(opponent)[T.Sporting Kansas City] -0.5353 0.236 -2.269 0.023 -0.998 -0.073\n", - "C(opponent)[T.Sporting Lisbon] -0.4915 0.180 -2.727 0.006 -0.845 -0.138\n", - "C(opponent)[T.St Etienne] -0.6459 0.233 -2.772 0.006 -1.103 -0.189\n", - "C(opponent)[T.St Johnstone] -0.5776 0.189 -3.052 0.002 -0.948 -0.207\n", - "C(opponent)[T.St Mirren] -0.0912 0.172 -0.530 0.596 -0.429 0.246\n", - "C(opponent)[T.St Pauli] -0.0128 0.173 -0.074 0.941 -0.351 0.326\n", - "C(opponent)[T.St Polten] 0.0372 0.388 0.096 0.924 -0.724 0.799\n", - "C(opponent)[T.St Raphael FC] 0.0131 0.166 0.079 0.937 -0.313 0.339\n", - "C(opponent)[T.St Truiden] -0.1122 0.193 -0.581 0.561 -0.491 0.266\n", - "C(opponent)[T.Stabaek IF] -0.0769 0.173 -0.445 0.656 -0.416 0.262\n", - "C(opponent)[T.Stade Gabesien] -0.4678 0.240 -1.949 0.051 -0.938 0.003\n", - "C(opponent)[T.Stade Plabennec] -0.0916 0.260 -0.352 0.725 -0.601 0.418\n", - "C(opponent)[T.Stade Tunisien] -0.0980 0.174 -0.563 0.573 -0.439 0.243\n", - "C(opponent)[T.Stade de Reims] -0.3956 0.180 -2.203 0.028 -0.748 -0.044\n", - "C(opponent)[T.Standard] -0.1791 0.166 -1.080 0.280 -0.504 0.146\n", - "C(opponent)[T.Start Kristiansand] 0.3128 0.174 1.798 0.072 -0.028 0.654\n", - "C(opponent)[T.Stenhousemuir] 0.0778 0.202 0.386 0.699 -0.317 0.473\n", - "C(opponent)[T.Stevenage] 0.0401 0.194 0.206 0.836 -0.340 0.420\n", - "C(opponent)[T.Stirling Albion] 0.0132 0.205 0.064 0.949 -0.389 0.416\n", - "C(opponent)[T.Stockport] 0.2776 0.228 1.217 0.224 -0.170 0.725\n", - "C(opponent)[T.Stoke City] -0.7879 0.205 -3.837 0.000 -1.190 -0.385\n", - "C(opponent)[T.Stranraer] 0.2951 0.183 1.615 0.106 -0.063 0.653\n", - "C(opponent)[T.Strasbourg] -0.3783 0.426 -0.888 0.375 -1.214 0.457\n", - "C(opponent)[T.Stromsgodset IF] -0.1279 0.164 -0.779 0.436 -0.450 0.194\n", - "C(opponent)[T.Sturm Graz] -0.1472 0.155 -0.951 0.342 -0.451 0.156\n", - "C(opponent)[T.Stuttgarter Kickers] 0.2681 0.212 1.266 0.206 -0.147 0.683\n", - "C(opponent)[T.Sunderland] -0.2942 0.189 -1.559 0.119 -0.664 0.076\n", - "C(opponent)[T.SuperSport United] -0.1753 0.182 -0.964 0.335 -0.532 0.181\n", - "C(opponent)[T.Sutton United] 0.0706 0.402 0.175 0.861 -0.718 0.859\n", - "C(opponent)[T.Suwon Bluewings] -0.0838 0.174 -0.481 0.631 -0.426 0.258\n", - "C(opponent)[T.Suwon City FC] -0.3618 0.419 -0.863 0.388 -1.183 0.460\n", - "C(opponent)[T.Swansea City] -0.5048 0.196 -2.574 0.010 -0.889 -0.120\n", - "C(opponent)[T.Swindon Town] -0.0858 0.179 -0.479 0.632 -0.437 0.265\n", - "C(opponent)[T.Sydney FC] -0.2153 0.201 -1.070 0.285 -0.610 0.179\n", - "C(opponent)[T.Syrianska FC] 0.2588 0.218 1.187 0.235 -0.168 0.686\n", - "C(opponent)[T.TPS Turku] -0.2600 0.202 -1.287 0.198 -0.656 0.136\n", - "C(opponent)[T.Talleres Cordoba] -0.6503 0.588 -1.106 0.269 -1.803 0.502\n", - "C(opponent)[T.Tampa Bay Rowdies] 0.0830 0.225 0.368 0.713 -0.358 0.524\n", - "C(opponent)[T.Tampere United] -0.2618 0.280 -0.936 0.349 -0.810 0.287\n", - "C(opponent)[T.Tamworth] 0.1037 0.206 0.504 0.615 -0.300 0.507\n", - "C(opponent)[T.Tasman United] 0.3427 0.224 1.530 0.126 -0.096 0.782\n", - "C(opponent)[T.Team Wellington] -0.2067 0.160 -1.290 0.197 -0.521 0.107\n", - "C(opponent)[T.Tecnico Universitario] 0.1657 0.235 0.705 0.481 -0.295 0.626\n", - "C(opponent)[T.Telford United] 0.3558 0.201 1.774 0.076 -0.037 0.749\n", - "C(opponent)[T.Tenerife] -0.1272 0.190 -0.670 0.503 -0.499 0.245\n", - "C(opponent)[T.Terek Grozny] -0.5153 0.202 -2.557 0.011 -0.910 -0.120\n", - "C(opponent)[T.Ternana] -0.1208 0.199 -0.606 0.545 -0.512 0.270\n", - "C(opponent)[T.Thespakusatsu] 0.2148 0.200 1.076 0.282 -0.176 0.606\n", - "C(opponent)[T.Tianjin Teda] -0.0693 0.155 -0.446 0.656 -0.374 0.235\n", - "C(opponent)[T.Tigre] -0.1745 0.188 -0.926 0.354 -0.544 0.195\n", - "C(opponent)[T.Tigres de la Universidad Autonoma] -0.4300 0.200 -2.148 0.032 -0.822 -0.038\n", - "C(opponent)[T.Tochigi SC] 0.1018 0.216 0.470 0.638 -0.322 0.526\n", - "C(opponent)[T.Tokushima Vortis] 0.0119 0.176 0.067 0.946 -0.333 0.357\n", - "C(opponent)[T.Tokyo Verdy] 0.1482 0.176 0.843 0.399 -0.196 0.493\n", - "C(opponent)[T.Tondela] 0.1103 0.267 0.412 0.680 -0.414 0.635\n", - "C(opponent)[T.Torino] -0.4704 0.193 -2.433 0.015 -0.849 -0.091\n", - "C(opponent)[T.Toronto FC] -0.1121 0.219 -0.512 0.609 -0.542 0.317\n", - "C(opponent)[T.Torpedo Moscow] -0.3919 0.241 -1.627 0.104 -0.864 0.080\n", - "C(opponent)[T.Torpedo Vladimir] 0.1883 0.355 0.530 0.596 -0.508 0.884\n", - "C(opponent)[T.Torquay] 0.3444 0.153 2.257 0.024 0.045 0.644\n", - "C(opponent)[T.Tottenham Hotspur] -0.7005 0.218 -3.207 0.001 -1.129 -0.272\n", - "C(opponent)[T.Toulouse] -0.6283 0.198 -3.167 0.002 -1.017 -0.239\n", - "C(opponent)[T.Tours] -0.1808 0.200 -0.904 0.366 -0.573 0.211\n", - "C(opponent)[T.Trabzonspor] -0.1569 0.174 -0.901 0.368 -0.498 0.185\n", - "C(opponent)[T.Tranmere] -0.2273 0.197 -1.153 0.249 -0.614 0.159\n", - "C(opponent)[T.Trapani] 0.1619 0.209 0.775 0.438 -0.247 0.571\n", - "C(opponent)[T.Trelleborgs FF] 0.2159 0.212 1.020 0.308 -0.199 0.631\n", - "C(opponent)[T.Triestina] -0.0069 0.247 -0.028 0.978 -0.491 0.477\n", - "C(opponent)[T.Tromso IL] -0.1730 0.178 -0.973 0.331 -0.522 0.176\n", - "C(opponent)[T.Troyes] -0.4877 0.216 -2.257 0.024 -0.911 -0.064\n", - "C(opponent)[T.Trujillanos FC] -0.2417 0.184 -1.314 0.189 -0.602 0.119\n", - "C(opponent)[T.Tucanes FC] 0.2244 0.251 0.893 0.372 -0.268 0.717\n", - "C(opponent)[T.Tuks FC] -0.4556 0.240 -1.900 0.057 -0.926 0.014\n", - "C(opponent)[T.Tupi FC] 0.2919 0.294 0.993 0.321 -0.284 0.868\n", - "C(opponent)[T.Twente Enschede] -0.0903 0.173 -0.521 0.602 -0.430 0.249\n", - "C(opponent)[T.UJA Alfortville] 0.3494 0.253 1.380 0.168 -0.147 0.846\n", - "C(opponent)[T.US Avranches] -0.1600 0.212 -0.755 0.450 -0.575 0.255\n", - "C(opponent)[T.US Ben Guerdane] -0.1700 0.356 -0.477 0.633 -0.868 0.528\n", - "C(opponent)[T.US Boulogne] -0.0493 0.159 -0.311 0.756 -0.360 0.262\n", - "C(opponent)[T.US Colomiers] -0.0106 0.278 -0.038 0.970 -0.555 0.534\n", - "C(opponent)[T.US Concarneau] 0.2377 0.299 0.796 0.426 -0.348 0.823\n", - "C(opponent)[T.US Creteil] 0.1739 0.151 1.152 0.250 -0.122 0.470\n", - "C(opponent)[T.US Luzenac] 0.0352 0.167 0.210 0.833 -0.292 0.363\n", - "C(opponent)[T.US Monastir] -0.4290 0.233 -1.841 0.066 -0.886 0.028\n", - "C(opponent)[T.US Quevilly] 0.2494 0.253 0.986 0.324 -0.247 0.745\n", - "C(opponent)[T.US Tataouine] -0.1106 0.426 -0.260 0.795 -0.945 0.724\n", - "C(opponent)[T.USL Dunkerque] -0.1167 0.203 -0.576 0.564 -0.514 0.280\n", - "C(opponent)[T.USM Alger] -0.3639 0.197 -1.843 0.065 -0.751 0.023\n", - "C(opponent)[T.USM Annaba] -0.5288 0.369 -1.434 0.152 -1.252 0.194\n", - "C(opponent)[T.USM Bel Abbes] -0.1594 0.288 -0.553 0.580 -0.724 0.405\n", - "C(opponent)[T.USM Blida] -0.2507 0.244 -1.025 0.305 -0.730 0.228\n", - "C(opponent)[T.USM El Harrach] -0.3866 0.174 -2.218 0.027 -0.728 -0.045\n", - "C(opponent)[T.Udinese] -0.1766 0.195 -0.904 0.366 -0.560 0.206\n", - "C(opponent)[T.Ulsan Hyundai] -0.3054 0.195 -1.568 0.117 -0.687 0.076\n", - "C(opponent)[T.Uniao Madeira] 0.0246 0.393 0.063 0.950 -0.745 0.795\n", - "C(opponent)[T.Union Berlin] 0.0224 0.193 0.116 0.907 -0.355 0.400\n", - "C(opponent)[T.Union Espanola] 0.1262 0.159 0.795 0.426 -0.185 0.437\n", - "C(opponent)[T.Union La Calera] -0.0482 0.207 -0.232 0.816 -0.455 0.358\n", - "C(opponent)[T.Union San Felipe] -0.1678 0.224 -0.750 0.453 -0.606 0.271\n", - "C(opponent)[T.Union de Santa Fe] 0.1697 0.178 0.955 0.339 -0.178 0.518\n", - "C(opponent)[T.Universidad Catolica] -0.1443 0.183 -0.787 0.432 -0.504 0.215\n", - "C(opponent)[T.Universidad de Chile] -0.2188 0.171 -1.283 0.200 -0.553 0.116\n", - "C(opponent)[T.Universidad de Concepcion] 0.0074 0.168 0.044 0.965 -0.322 0.337\n", - "C(opponent)[T.Unterhaching] 0.3848 0.172 2.238 0.025 0.048 0.722\n", - "C(opponent)[T.Urena Sport Club] -0.0352 0.260 -0.135 0.893 -0.546 0.475\n", - "C(opponent)[T.Utrecht] 0.1006 0.159 0.634 0.526 -0.210 0.412\n", - "C(opponent)[T.VVV Venlo] -0.2009 0.239 -0.842 0.400 -0.669 0.267\n", - "C(opponent)[T.Vaasan PS] -0.4350 0.178 -2.450 0.014 -0.783 -0.087\n", - "C(opponent)[T.Valencia] -0.2974 0.186 -1.596 0.111 -0.663 0.068\n", - "C(opponent)[T.Valenciennes] -0.2475 0.227 -1.093 0.275 -0.692 0.196\n", - "C(opponent)[T.Valerenga IF] 0.0693 0.164 0.423 0.672 -0.251 0.390\n", - "C(opponent)[T.Valladolid] -0.2482 0.172 -1.444 0.149 -0.585 0.089\n", - "C(opponent)[T.Vallecano] 0.1458 0.157 0.929 0.353 -0.162 0.453\n", - "C(opponent)[T.Vancouver Whitecaps] -0.2090 0.242 -0.863 0.388 -0.684 0.266\n", - "C(opponent)[T.Vannes OC] -0.2100 0.199 -1.055 0.291 -0.600 0.180\n", - "C(opponent)[T.Varen Nagasaki] -0.1418 0.223 -0.636 0.525 -0.578 0.295\n", - "C(opponent)[T.Varese] 0.0802 0.181 0.442 0.659 -0.276 0.436\n", - "C(opponent)[T.Vasco da Gama] -0.2155 0.208 -1.034 0.301 -0.624 0.193\n", - "C(opponent)[T.Vegalta Sendai] -0.4764 0.210 -2.272 0.023 -0.887 -0.065\n", - "C(opponent)[T.Velez Sarsfield] -0.3421 0.185 -1.852 0.064 -0.704 0.020\n", - "C(opponent)[T.Vendee Lucon] 0.0978 0.209 0.468 0.640 -0.312 0.507\n", - "C(opponent)[T.Ventforet Kofu] -0.4524 0.230 -1.971 0.049 -0.902 -0.002\n", - "C(opponent)[T.Veracruz Sporting Club] -0.2988 0.205 -1.458 0.145 -0.700 0.103\n", - "C(opponent)[T.Veria] -0.3332 0.248 -1.343 0.179 -0.820 0.153\n", - "C(opponent)[T.Vestsjalland] 0.1819 0.291 0.625 0.532 -0.388 0.752\n", - "C(opponent)[T.VfB Stuttgart] -0.3459 0.211 -1.639 0.101 -0.759 0.068\n", - "C(opponent)[T.VfB Stuttgart II] 0.1940 0.167 1.160 0.246 -0.134 0.522\n", - "C(opponent)[T.Viborg] -0.3810 0.363 -1.048 0.294 -1.093 0.331\n", - "C(opponent)[T.Vicenza] -0.2025 0.173 -1.169 0.242 -0.542 0.137\n", - "C(opponent)[T.Viking Stavanger] -0.4211 0.181 -2.321 0.020 -0.777 -0.065\n", - "C(opponent)[T.Vila Nova FC GO] 0.5380 0.220 2.443 0.015 0.106 0.970\n", - "C(opponent)[T.Villarreal] -0.4904 0.171 -2.865 0.004 -0.826 -0.155\n", - "C(opponent)[T.Villarreal B] 0.1491 0.205 0.727 0.467 -0.253 0.551\n", - "C(opponent)[T.Virtus Entella] 0.0840 0.213 0.394 0.694 -0.334 0.502\n", - "C(opponent)[T.Virtus Lanciano] 0.0126 0.206 0.061 0.951 -0.392 0.417\n", - "C(opponent)[T.Vissel Kobe] -0.3109 0.200 -1.557 0.120 -0.702 0.081\n", - "C(opponent)[T.Vitesse] -0.1042 0.166 -0.630 0.529 -0.429 0.220\n", - "C(opponent)[T.Vityaz Podolsk] -0.3114 0.303 -1.027 0.304 -0.906 0.283\n", - "C(opponent)[T.Volga Nizhniy Novgorod] -0.2614 0.182 -1.437 0.151 -0.618 0.095\n", - "C(opponent)[T.WA Tlemcen] -0.0119 0.218 -0.055 0.957 -0.439 0.415\n", - "C(opponent)[T.Waalwijk] -0.0806 0.224 -0.360 0.719 -0.519 0.358\n", - "C(opponent)[T.Waasland-Beveren] 0.0885 0.224 0.395 0.693 -0.351 0.528\n", - "C(opponent)[T.Wacker Burghausen] 0.2881 0.167 1.721 0.085 -0.040 0.616\n", - "C(opponent)[T.WaiBOP United] 0.0540 0.218 0.248 0.804 -0.374 0.482\n", - "C(opponent)[T.Waikato FC] 0.7004 0.200 3.509 0.000 0.309 1.092\n", - "C(opponent)[T.Waitakere United] -0.2329 0.170 -1.369 0.171 -0.567 0.101\n", - "C(opponent)[T.Walsall] -0.5383 0.262 -2.054 0.040 -1.052 -0.025\n", - "C(opponent)[T.Wanderers SC] 0.2830 0.218 1.301 0.193 -0.143 0.709\n", - "C(opponent)[T.Waregem] -0.2478 0.183 -1.355 0.176 -0.606 0.111\n", - "C(opponent)[T.Watford] -0.3951 0.183 -2.161 0.031 -0.753 -0.037\n", - "C(opponent)[T.Wehen Wiesbaden] 0.2213 0.163 1.360 0.174 -0.098 0.540\n", - "C(opponent)[T.Welling United] 0.3370 0.197 1.710 0.087 -0.049 0.723\n", - "C(opponent)[T.Wellington Phoenix] 0.0956 0.171 0.557 0.577 -0.240 0.432\n", - "C(opponent)[T.Wellington Phoenix R] 0.1635 0.195 0.837 0.402 -0.219 0.546\n", - "C(opponent)[T.Werder Bremen] -0.2306 0.197 -1.171 0.242 -0.616 0.155\n", - "C(opponent)[T.Werder Bremen II] 0.1535 0.182 0.845 0.398 -0.203 0.510\n", - "C(opponent)[T.West Bromwich Albion] -0.3420 0.184 -1.863 0.062 -0.702 0.018\n", - "C(opponent)[T.West Ham United] -0.3516 0.182 -1.935 0.053 -0.708 0.004\n", - "C(opponent)[T.Westerlo] 0.0918 0.179 0.514 0.607 -0.258 0.442\n", - "C(opponent)[T.Western Sydney Wanderers] -0.2043 0.252 -0.812 0.417 -0.697 0.289\n", - "C(opponent)[T.Wiener Neustadt] -0.0261 0.175 -0.149 0.882 -0.369 0.317\n", - "C(opponent)[T.Wigan Athletic] -0.3577 0.174 -2.051 0.040 -0.700 -0.016\n", - "C(opponent)[T.Willem II] 0.2972 0.167 1.778 0.075 -0.030 0.625\n", - "C(opponent)[T.Woking] 0.4396 0.173 2.542 0.011 0.101 0.779\n", - "C(opponent)[T.Wolfsberger AC] -0.2986 0.194 -1.536 0.124 -0.679 0.082\n", - "C(opponent)[T.Wolfsburg] -0.2706 0.176 -1.539 0.124 -0.615 0.074\n", - "C(opponent)[T.Wolverhampton] -0.3727 0.203 -1.838 0.066 -0.770 0.025\n", - "C(opponent)[T.Wrexham] 0.0826 0.185 0.446 0.655 -0.280 0.446\n", - "C(opponent)[T.Wuhan Zall FC] -0.0015 0.273 -0.005 0.996 -0.537 0.535\n", - "C(opponent)[T.Wuppertaler SV] 0.1210 0.356 0.340 0.734 -0.576 0.818\n", - "C(opponent)[T.Wurzburger Kickers] -0.1674 0.395 -0.423 0.672 -0.943 0.608\n", - "C(opponent)[T.Wycombe Wanderers] -0.0432 0.179 -0.241 0.809 -0.394 0.308\n", - "C(opponent)[T.Wydad AC] -0.4060 0.205 -1.979 0.048 -0.808 -0.004\n", - "C(opponent)[T.Wydad de Fes] -0.1049 0.201 -0.521 0.603 -0.500 0.290\n", - "C(opponent)[T.Xanthi] -0.1727 0.173 -1.000 0.317 -0.511 0.166\n", - "C(opponent)[T.Xerez] 0.2577 0.195 1.324 0.185 -0.124 0.639\n", - "C(opponent)[T.Yanbian FC] 0.2317 0.358 0.648 0.517 -0.469 0.933\n", - "C(opponent)[T.Yaracuyanos FC] -0.2350 0.208 -1.131 0.258 -0.642 0.172\n", - "C(opponent)[T.Yeovil Town] 0.1753 0.184 0.952 0.341 -0.186 0.536\n", - "C(opponent)[T.Yokohama FC] -0.0903 0.186 -0.486 0.627 -0.454 0.273\n", - "C(opponent)[T.Yokohama Marinos] -0.5490 0.226 -2.431 0.015 -0.992 -0.106\n", - "C(opponent)[T.York City] 0.0321 0.166 0.193 0.847 -0.294 0.358\n", - "C(opponent)[T.Young Boys] -0.0107 0.175 -0.061 0.951 -0.353 0.332\n", - "C(opponent)[T.YoungHeart Manawatu] 0.5280 0.232 2.279 0.023 0.074 0.982\n", - "C(opponent)[T.Zamora FC] -0.1310 0.169 -0.776 0.438 -0.462 0.200\n", - "C(opponent)[T.Zaragoza] 0.0269 0.175 0.153 0.878 -0.317 0.371\n", - "C(opponent)[T.Zenit St Petersburg] -0.5039 0.189 -2.660 0.008 -0.875 -0.133\n", - "C(opponent)[T.Zenit St Petersburg 2] 0.0894 0.314 0.285 0.776 -0.527 0.705\n", - "C(opponent)[T.Zhejiang Yiteng] -0.0666 0.427 -0.156 0.876 -0.903 0.769\n", - "C(opponent)[T.Zulia FC] -0.3528 0.192 -1.842 0.065 -0.728 0.023\n", - "C(opponent)[T.Zweigen] 0.2036 0.257 0.791 0.429 -0.301 0.708\n", - "C(opponent)[T.Zwickau] -0.0153 0.303 -0.051 0.960 -0.609 0.578\n", - "C(opponent)[T.Zwolle] 0.0077 0.173 0.045 0.964 -0.332 0.348\n", - "is_home 0.2917 0.010 30.415 0.000 0.273 0.311\n", - "====================================================================================================================\n" - ] - } - ], - "source": [ - "def ensure_finite_weights(df) -> pd.DataFrame():\n", + "def train_model(train_df: pd.DataFrame(), \n", + " logging_level: int = logging.INFO,\n", + " **kwargs: Any,\n", + " ) -> GLMResults:\n", " \"\"\"\n", - " Function to ensure weights are finite.\n", + " Train a Poisson regression model to estimate the number of goals.\n", + " \n", + " :param train_df: Input training set.\n", + " :return: Trained GLM model.\n", " \"\"\"\n", - " # Adding a small constant to goals to avoid log(0).\n", - " df[\"goals\"] = df[\"goals\"].apply(lambda x: x + 1e-9 if x == 0 else x)\n", - " # Check if there are any infinite or NaN weights and handle them\n", - " if df.isna().sum().sum() > 0:\n", - " print(\"NaN values found in the data. Removing rows with NaNs.\")\n", - " df.dropna(inplace=True)\n", - " if np.isinf(df.select_dtypes(include=[np.number])).sum().sum() > 0:\n", - " print(\"Infinite values found in the data. Removing rows with Infs.\")\n", - " df = df[~np.isinf(df.select_dtypes(include=[np.number])).any(1)]\n", - " return df\n", - "\n", + " # Create the formula to include team offensive and opponent defensive strengths and home advantage.\n", + " formula = \"goals ~ C(team) + C(opponent) + is_home\"\n", + " # Fit the Poisson regression model.\n", + " poisson_model = smf.glm(\n", + " formula=formula, data=train_df, family=sm.families.Poisson()\n", + " ).fit(maxiter=10)\n", + " _LOG.log(logging_level,\n", + " poisson_model.summary()\n", + " )\n", + " # Return the model.\n", + " return poisson_model\n", + "\n", + "def generate_predictions(model: GLMResults, test_df: pd.DataFrame, **kwargs: Any) -> pd.DataFrame():\n", + " \"\"\"\n", + " Generated predictions on the test dataset.\n", + " \n", + " :param model: GLM model to be used.\n", + " :param test_df: Test dataset.\n", + " :return: Dataframe with predictions.\n", + " \"\"\"\n", + " # Predict the expected goals for home and away teams in the test set.\n", + " test_df[\"predicted_goals\"] = model.predict(test_df)\n", + " # Split the dataframe into home and away rows.\n", + " home_df = test_df[test_df[\"is_home\"] == 1].copy()\n", + " away_df = test_df[test_df[\"is_home\"] == 0].copy()\n", + " # Rename columns for merging.\n", + " home_df.rename(\n", + " columns={\n", + " \"team\": \"HT\",\n", + " \"opponent\": \"AT\",\n", + " \"goals\": \"HS\",\n", + " \"predicted_goals\": \"Lambda_HS\",\n", + " },\n", + " inplace=True,\n", + " )\n", + " away_df.rename(\n", + " columns={\n", + " \"team\": \"AT\",\n", + " \"opponent\": \"HT\",\n", + " \"goals\": \"AS\",\n", + " \"predicted_goals\": \"Lambda_AS\",\n", + " },\n", + " inplace=True,\n", + " )\n", + " # Merge the home and away dataframes.\n", + " merged_df = pd.merge(\n", + " home_df,\n", + " away_df,\n", + " on=[\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\"],\n", + " suffixes=(\"_home\", \"_away\"),\n", + " )\n", + " # Select and reorder columns for the final dataframe.\n", + " test_df = merged_df[[\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\", \"HS\", \"AS\", \"Lambda_HS\", \"Lambda_AS\"]] \n", + " # Return the final dataframe.\n", + " return test_df\n", "\n", - "# Ensure weights are finite in the sampled training data.\n", - "sampled_train_df = ensure_finite_weights(sampled_train_df)\n", - "# Create the formula to include team offensive and opponent defensive strengths and home advantage.\n", - "formula = \"goals ~ C(team) + C(opponent) + is_home\"\n", - "# Fit the Poisson regression model.\n", - "poisson_model = smf.glm(\n", - " formula=formula, data=sampled_train_df, family=sm.families.Poisson()\n", - ").fit(maxiter=10)\n", - "# Display the summary of the model.\n", - "print(poisson_model.summary())" - ] - }, - { - "cell_type": "markdown", - "id": "bbdcf6b8", - "metadata": {}, - "source": [ - "## Generate Predictions" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "41dca981", - "metadata": { - "ExecuteTime": { - "end_time": "2024-05-29T18:33:01.580770Z", - "start_time": "2024-05-29T18:32:57.796530Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Date Sea Lge team opponent goals \\\n", - "0 2012-04-28 12-13 CHL1 CD Huachipato Universidad Catolica 2 \n", - "1 2014-04-13 13-14 CHL1 CD Huachipato Universidad de Chile 5 \n", - "2 2010-02-14 10-11 CHL1 CD Huachipato Union Espanola 1 \n", - "3 2010-11-07 10-11 CHL1 CD Huachipato Higgins 2 \n", - "4 2014-01-10 13-14 CHL1 CD Huachipato CSD Rangers 3 \n", - "\n", - " is_home predicted_goals \n", - "0 1 1.734987 \n", - "1 1 1.610440 \n", - "2 1 2.274002 \n", - "3 1 2.207315 \n", - "4 1 1.359418 \n" - ] - } - ], - "source": [ - "# Predict the expected goals for home and away teams in the test set.\n", - "unraveled_test_df[\"predicted_goals\"] = poisson_model.predict(unraveled_test_df)\n", - "print(unraveled_test_df.head())" + "def calculate_match_outcome_probabilities(row: pd.Series()) -> pd.Series():\n", + " \"\"\"\n", + " Function to calculate match outcome probabilities.\n", + " \n", + " :param row: Input row on which the match outcomes are calculates.\n", + " \"\"\"\n", + " # Set maximum score based on the data.\n", + " max_goals = 10\n", + " # Calculate Poisson probabilities for Home team.\n", + " home_goals_probs = [np.exp(-row[\"Lambda_HS\"]) * row[\"Lambda_HS\"] ** i / np.math.factorial(i)\n", + " for i in range(max_goals)\n", + " ]\n", + " # Calculate Poisson probabilities for Away team.\n", + " away_goals_probs = [np.exp(-row[\"Lambda_AS\"]) * row[\"Lambda_AS\"] ** i / np.math.factorial(i)\n", + " for i in range(max_goals)\n", + " ]\n", + " # Calculate the probabilities of winning for home and away.\n", + " prob_home_win = 0\n", + " prob_away_win = 0\n", + " prob_draw = 0\n", + " for i in range(max_goals):\n", + " for j in range(max_goals):\n", + " prob = home_goals_probs[i] * away_goals_probs[j]\n", + " if i > j:\n", + " prob_home_win += prob\n", + " elif i < j:\n", + " prob_away_win += prob\n", + " else:\n", + " prob_draw += prob\n", + " probabilities = pd.Series(\n", + " {\"prob_home_win\": prob_home_win,\n", + " \"prob_away_win\": prob_away_win,\n", + " \"prob_draw\": prob_draw,\n", + " }\n", + " )\n", + " # Return the calculated Probabilities.\n", + " return probabilities\n", + "\n", + "def evaluate_model_predictions(test_df: pd.DataFrame()) -> None:\n", + " \"\"\"\n", + " Evaluate the performance of the model.\n", + " \n", + " :param test_df: Test Dataframe with the model predictions.\n", + " \"\"\"\n", + " # Apply the function to the test set.\n", + " probabilities = test_df.apply(calculate_match_outcome_probabilities, axis=1)\n", + " test_df = pd.concat([test_df, probabilities], axis=1)\n", + " # Display the test set with probabilities.\n", + " print(test_df.head())\n", + " # Predict the outcomes based on probabilities.\n", + " test_df[\"predicted_outcome\"] = np.where(\n", + " test_df[\"prob_home_win\"] > test_df[\"prob_away_win\"],\n", + " \"home_win\",\n", + " np.where(\n", + " test_df[\"prob_away_win\"] > test_df[\"prob_home_win\"], \"away_win\", \"draw\"\n", + " ),\n", + " )\n", + " # Calculate actual outcomes for comparison.\n", + " test_df[\"actual_outcome\"] = np.where(\n", + " test_df[\"HS\"] > test_df[\"AS\"],\n", + " \"home_win\",\n", + " np.where(test_df[\"HS\"] < test_df[\"AS\"], \"away_win\", \"draw\"),\n", + " )\n", + " # Calculate accuracy.\n", + " accuracy = skm.accuracy_score(test_df[\"actual_outcome\"], test_df[\"predicted_outcome\"])\n", + " print(\"Model Accuracy on Test Set:\", accuracy)\n", + " " ] }, { "cell_type": "code", - "execution_count": 12, - "id": "d95140f9", + "execution_count": 61, + "id": "100e52ee", "metadata": { "ExecuteTime": { - "end_time": "2024-05-29T18:32:53.906836Z", - "start_time": "2024-05-29T18:32:53.504644Z" + "end_time": "2024-05-31T17:28:59.413988Z", + "start_time": "2024-05-31T17:28:59.406042Z" } }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Date Sea Lge HT AT HS AS \\\n", - "0 2012-04-28 12-13 CHL1 CD Huachipato Universidad Catolica 2 2 \n", - "1 2014-04-13 13-14 CHL1 CD Huachipato Universidad de Chile 5 2 \n", - "2 2010-02-14 10-11 CHL1 CD Huachipato Union Espanola 1 2 \n", - "3 2010-11-07 10-11 CHL1 CD Huachipato Higgins 2 1 \n", - "4 2014-01-10 13-14 CHL1 CD Huachipato CSD Rangers 3 2 \n", - "\n", - " Lambda_HS Lambda_AS \n", - "0 1.734987 2.075942 \n", - "1 1.610440 1.628436 \n", - "2 2.274002 1.759421 \n", - "3 2.207315 1.577537 \n", - "4 1.359418 0.995270 \n" - ] - } - ], - "source": [ - "# Split the dataframe into home and away rows.\n", - "home_df = unraveled_test_df[unraveled_test_df[\"is_home\"] == 1].copy()\n", - "away_df = unraveled_test_df[unraveled_test_df[\"is_home\"] == 0].copy()\n", - "# Rename columns for merging\n", - "home_df.rename(\n", - " columns={\n", - " \"team\": \"HT\",\n", - " \"opponent\": \"AT\",\n", - " \"goals\": \"HS\",\n", - " \"predicted_goals\": \"Lambda_HS\",\n", - " },\n", - " inplace=True,\n", - ")\n", - "away_df.rename(\n", - " columns={\n", - " \"team\": \"AT\",\n", - " \"opponent\": \"HT\",\n", - " \"goals\": \"AS\",\n", - " \"predicted_goals\": \"Lambda_AS\",\n", - " },\n", - " inplace=True,\n", - ")\n", - "# Merge the home and away dataframes\n", - "merged_df = pd.merge(\n", - " home_df,\n", - " away_df,\n", - " on=[\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\"],\n", - " suffixes=(\"_home\", \"_away\"),\n", - ")\n", - "# Select and reorder columns for the final dataframe\n", - "test_df = merged_df[\n", - " [\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\", \"HS\", \"AS\", \"Lambda_HS\", \"Lambda_AS\"]\n", - "]\n", - "# Display the resulting dataframe\n", - "print(test_df.head())" - ] - }, - { - "cell_type": "markdown", - "id": "326769b9", - "metadata": {}, + "outputs": [], "source": [ - "## Evaluate" + "def main():\n", + " # Define the S3 Buckets, dataset path and local directory for download.\n", + " bucket = \"cryptokaizen-data-test\"\n", + " dataset_path = \"kaizen_ai/soccer_prediction/datasets/OSF_football/\"\n", + " local_dir = \"datasets/OSF_football\"\n", + " # Download data from S3.\n", + " rasoprut.download_data_from_s3(bucket_name = bucket, dataset_path = dataset_path, local_path = local_dir)\n", + " # Load the data from S3 into pandas dataframe objects.\n", + " dataframes = rasoprut.load_data_to_dataframe(local_path = local_dir)\n", + " # Access the dataframes directly from the dictionary.\n", + " ISDBv1_df = dataframes.get(\"ISDBv1_df\")\n", + " ISDBv2_df = dataframes.get(\"ISDBv2_df\")\n", + " # Preprocess the selected dataframe (ISDBv2_df).\n", + " preprocessed_df = preprocess_data(ISDBv2_df)\n", + " # Create a train-test split. \n", + " dataframes_test_train = create_train_test_split(df = preprocessed_df)\n", + " # Access the test/train dataframes directly from the dictionary.\n", + " train_df = dataframes_test_train.get(\"train_df\")\n", + " test_df = dataframes_test_train.get(\"test_df\")\n", + " # Unravel the datasets.\n", + " unraveled_train_df = unravel_df(train_df)\n", + " unraveled_test_df = unravel_df(test_df)\n", + " # Create a representative sample of train set and define sample size.\n", + " sample_size = int(0.2 * len(unraveled_train_df))\n", + " # Perform representative sampling on the training set.\n", + " sampled_train_df = representative_sample(df = unraveled_train_df, sample_size = sample_size)\n", + " # Train Poisson Regression model.\n", + " poisson_model = train_model(sampled_train_df)\n", + " # Generate predictions on test set.\n", + " predictions_df = generate_predictions(poisson_model, unraveled_test_df)\n", + " # Evaluate model predictions.\n", + " evaluate_model_predictions(predictions_df)" ] }, { "cell_type": "code", - "execution_count": 15, - "id": "36cb4f92", + "execution_count": 62, + "id": "7e666b4a", "metadata": { "ExecuteTime": { - "end_time": "2024-05-29T18:33:26.174952Z", - "start_time": "2024-05-29T18:33:01.587092Z" + "end_time": "2024-05-31T17:33:57.997330Z", + "start_time": "2024-05-31T17:29:00.515342Z" } }, "outputs": [ @@ -3446,88 +404,25 @@ "name": "stdout", "output_type": "stream", "text": [ - " Date Sea Lge HT AT HS AS \\\n", - "0 2012-04-28 12-13 CHL1 CD Huachipato Universidad Catolica 2 2 \n", - "1 2014-04-13 13-14 CHL1 CD Huachipato Universidad de Chile 5 2 \n", - "2 2010-02-14 10-11 CHL1 CD Huachipato Union Espanola 1 2 \n", - "3 2010-11-07 10-11 CHL1 CD Huachipato Higgins 2 1 \n", - "4 2014-01-10 13-14 CHL1 CD Huachipato CSD Rangers 3 2 \n", + " Date Sea Lge HT AT HS AS Lambda_HS \\\n", + "0 09/11/2013 13-14 GER1 Wolfsburg Dortmund 2.0 1.0 1.299774 \n", + "1 25/02/2012 11-12 GER1 Wolfsburg Hoffenheim 1.0 2.0 1.904961 \n", + "2 02/02/2013 12-13 GER1 Wolfsburg Augsburg 1.0 1.0 1.813039 \n", + "3 21/01/2012 11-12 GER1 Wolfsburg FC Koln 1.0 0.5 1.962177 \n", + "4 28/01/2017 16-17 GER1 Wolfsburg Augsburg 1.0 2.0 1.813039 \n", "\n", - " Lambda_HS Lambda_AS prob_home_win prob_away_win prob_draw \n", - "0 2 2 0.396453 0.396453 0.207002 \n", - "1 2 2 0.396453 0.396453 0.207002 \n", - "2 2 2 0.396453 0.396453 0.207002 \n", - "3 2 2 0.396453 0.396453 0.207002 \n", - "4 1 1 0.345746 0.345746 0.308508 \n", - "Model Accuracy on Test Set: 0.40543596785267155\n" + " Lambda_AS prob_home_win prob_away_win prob_draw \n", + "0 2.002312 0.246577 0.537171 0.216204 \n", + "1 1.572617 0.457751 0.321579 0.220633 \n", + "2 1.133287 0.532794 0.236845 0.230340 \n", + "3 1.133403 0.566161 0.216042 0.217757 \n", + "4 1.133287 0.532794 0.236845 0.230340 \n", + "Model Accuracy on Test Set: 0.4717499293243407\n" ] } ], "source": [ - "# Round off the predicted goals to integers\n", - "test_df[\"Lambda_HS\"] = test_df[\"Lambda_HS\"].round().astype(int)\n", - "test_df[\"Lambda_AS\"] = test_df[\"Lambda_AS\"].round().astype(int)\n", - "\n", - "\n", - "# Define the\n", - "def calculate_match_outcome_probabilities(row):\n", - " \"\"\"\n", - " Function to calculate match outcome probabilities.\n", - " \"\"\"\n", - " max_goals = 10\n", - " home_goals_probs = [\n", - " np.exp(-row[\"Lambda_HS\"]) * row[\"Lambda_HS\"] ** i / np.math.factorial(i)\n", - " for i in range(max_goals)\n", - " ]\n", - " away_goals_probs = [\n", - " np.exp(-row[\"Lambda_AS\"]) * row[\"Lambda_AS\"] ** i / np.math.factorial(i)\n", - " for i in range(max_goals)\n", - " ]\n", - " prob_home_win = 0\n", - " prob_away_win = 0\n", - " prob_draw = 0\n", - " for i in range(max_goals):\n", - " for j in range(max_goals):\n", - " prob = home_goals_probs[i] * away_goals_probs[j]\n", - " if i > j:\n", - " prob_home_win += prob\n", - " elif i < j:\n", - " prob_away_win += prob\n", - " else:\n", - " prob_draw += prob\n", - " return pd.Series(\n", - " {\n", - " \"prob_home_win\": prob_home_win,\n", - " \"prob_away_win\": prob_away_win,\n", - " \"prob_draw\": prob_draw,\n", - " }\n", - " )\n", - "\n", - "\n", - "# Apply the function to the test set\n", - "probabilities = test_df.apply(calculate_match_outcome_probabilities, axis=1)\n", - "test_df = pd.concat([test_df, probabilities], axis=1)\n", - "# Display the test set with probabilities\n", - "print(test_df.head())\n", - "# Predict the outcomes based on probabilities\n", - "test_df[\"predicted_outcome\"] = np.where(\n", - " test_df[\"prob_home_win\"] > test_df[\"prob_away_win\"],\n", - " \"home_win\",\n", - " np.where(\n", - " test_df[\"prob_away_win\"] > test_df[\"prob_home_win\"], \"away_win\", \"draw\"\n", - " ),\n", - ")\n", - "# Calculate actual outcomes for comparison\n", - "test_df[\"actual_outcome\"] = np.where(\n", - " test_df[\"HS\"] > test_df[\"AS\"],\n", - " \"home_win\",\n", - " np.where(test_df[\"HS\"] < test_df[\"AS\"], \"away_win\", \"draw\"),\n", - ")\n", - "# Calculate accuracy\n", - "accuracy = skm.accuracy_score(\n", - " test_df[\"actual_outcome\"], test_df[\"predicted_outcome\"]\n", - ")\n", - "print(\"Model Accuracy on Test Set:\", accuracy)" + "main()" ] } ], diff --git a/research_amp/soccer_prediction/sota_baseline_glm.py b/research_amp/soccer_prediction/sota_baseline_glm.py index ad360a29c4..4dccee31ed 100644 --- a/research_amp/soccer_prediction/sota_baseline_glm.py +++ b/research_amp/soccer_prediction/sota_baseline_glm.py @@ -12,9 +12,27 @@ # name: python3 # --- +# %% [markdown] +# # Establish a baseline Poisson Regression Model +# - Use the International soccer database (ISDB) to predict the goals scored by each team. +# - Dataset Description: +# - `'Date'`: Date on which the match took place. +# - `'Sea'` : Describes the yearly season in which the match happened. +# - `'Lea'` : League of in which the match is part of. +# - `'HT'` : Home Team. +# - `'AT'` : Away Team. +# - `'HS'` : Goals scored by Home Team. +# - `'AS'` : Goals scored by Away Team. +# - `'GD'` : Goal difference (`HS - AS`) +# - `'WDL'` : Match outcome w/r to Home team (home win, home loss, draw) +# - Use the poisson regressor of the GLM model in stats models +# - Evaluate the model performance + # %% import os import warnings +import logging +from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Union import numpy as np import pandas as pd @@ -22,317 +40,227 @@ import sklearn.model_selection as sms import statsmodels.api as sm import statsmodels.formula.api as smf +from statsmodels.genmod.generalized_linear_model import GLMResults import helpers.haws as haws +import helpers.hdbg as hdbg +import research_amp.soccer_prediction.utils as rasoprut pd.set_option("display.max_columns", None) warnings.filterwarnings("ignore") # %% -# Initialize a session. -s3 = haws.get_service_resource(aws_profile="ck", service_name="s3") - -# Set the S3 bucket and dataset path. -s3_bucket_name = "cryptokaizen-data-test" -s3_dataset_path = "kaizen_ai/soccer_prediction/datasets/OSF_football/" +_LOG = logging.getLogger(__name__) -# Define the local directory to save the files. -local_directory = "datasets/OSF_football" -os.makedirs(local_directory, exist_ok=True) - -def download_files_from_s3(bucket_name, prefix, local_dir): +# %% run_control={"marked": true} +def preprocess_data(df: pd.DataFrame()) -> pd.DataFrame(): """ - Function to download files from S3. + Preprocess the loaded ISDB dataframe of interest. + - Filter and select match from seasons starting from 2009. + - Convert column formats. + - Add epsilon = 0.5 to scores with value as `0` to avoid log(0). + - Check for NaN and infinite values and drop the rows. + + :param df: Input DataFrame. + :return: Preprocessed DataFrame. """ - bucket = s3.Bucket(bucket_name) - for obj in bucket.objects.filter(Prefix=prefix): - key = obj.key - if key.endswith(".txt"): - local_file_path = os.path.join(local_dir, os.path.basename(key)) - print(f"Downloading {key} to {local_file_path}") - bucket.download_file(key, local_file_path) - - -# Call the function to download the files -download_files_from_s3(s3_bucket_name, s3_dataset_path, local_directory) - -# Load the datasets into pandas dataframes -dataframes_3 = {} -for dirname, _, filenames in os.walk(local_directory): - for filename in filenames: - if filename.endswith(".txt"): - file_key = filename.split(".")[0] + "_df" - filepath = os.path.join(dirname, filename) - print(f"Loading {filepath}") - df = pd.read_csv(filepath, sep="\t", encoding="UTF-8") - print(file_key, df.shape) - df = df.drop_duplicates() - dataframes_3[file_key] = df - -print("Data imported") - -# Verify the content of dataframes_3 dictionary. -for key, df in dataframes_3.items(): - print(f"{key}: {df.shape}") - -# Access the dataframes directly from the dictionary. -ISDBv1_df = dataframes_3.get("ISDBv1_df") -ISDBv2_df = dataframes_3.get("ISDBv2_df") - -# Print the shapes to confirm they are loaded correctly. -print( - f"ISDBv1_df shape: {ISDBv1_df.shape if ISDBv1_df is not None else 'Not found'}" -) -print( - f"ISDBv2_df shape: {ISDBv2_df.shape if ISDBv2_df is not None else 'Not found'}" -) - -# %% -ISDBv2_df.head() - -# %% -ISDBv2_df["season"] = ISDBv2_df["Sea"].apply(lambda x: int("20" + str(x)[:2])) -df = ISDBv2_df[ISDBv2_df["season"] >= 2009] -# Preprocess the dataset -# Preprocess the dataset -df["Date"] = pd.to_datetime(df["Date"], dayfirst=True) -df.sort_values(by="Date", inplace=True) - - -# Define the burn-in period and warm-up season removal -def remove_warmup_and_burnin(df, warmup_seasons, burnin_rounds=5): - filtered_df = pd.DataFrame() - leagues = df["Lge"].unique() - - for league in leagues: - league_df = df[df["Lge"] == league] - seasons = league_df["Sea"].unique() - for season in seasons: - season_df = league_df[league_df["Sea"] == season] - if season == seasons[0] and season in warmup_seasons: - continue - season_df = season_df.iloc[burnin_rounds:] - filtered_df = pd.concat([filtered_df, season_df]) - + df["season"] = df["Sea"].apply(lambda x: int("20" + str(x)[:2])) + filtered_df = df[df["season"] >= 2009] + # Preprocess the dataset. + df["Date"] = pd.to_datetime(df["Date"], dayfirst=True) + df.sort_values(by="Date", inplace=True) + # Covert the categorical columns to category type. + categorical_columns = ["HT", "AT"] + for col in categorical_columns: + filtered_df[col] = filtered_df[col].astype("category") + # Adding a small constant to goals to avoid log(0). + columns = ['AS', 'HS'] + epsilon = 0.5 + for column in columns: + filtered_df[column] = filtered_df[column].apply(lambda x: x + epsilon if x == 0 else x) + # Check if there are any infinite or NaN weights and handle them. + if filtered_df.isna().sum().sum() > 0: + _LOG.debug("NaN values found in the data. Removing rows with NaNs.") + filtered_df.dropna(inplace=True) + if filtered_df.isin([-np.inf, np.inf]).sum().sum() > 0: + _LOG.debug("Infinite values found in the data. Removing rows with Infs.") + filtered_df = filtered_df[~np.isinf(filtered_df.select_dtypes(include=[np.number])).any(1)] + # Return the preprocessed DataFrame. return filtered_df - -warmup_seasons = {2009} -df_final = remove_warmup_and_burnin(df, warmup_seasons) -# Split the data into training, validation, and test sets -train_size = int(0.6 * len(df_final)) -val_size = int(0.2 * len(df_final)) -train_df = df_final[:train_size] -val_df = df_final[train_size : train_size + val_size] -test_df = df_final[train_size + val_size :] - -# %% [markdown] -# # GLM Model - -# %% -ISDBv2_df["season"] = ISDBv2_df["Sea"].apply(lambda x: int("20" + str(x)[:2])) -df = ISDBv2_df[ISDBv2_df["season"] >= 2009] -# Preprocess the dataset. -df["Date"] = pd.to_datetime(df["Date"], dayfirst=True) -df.sort_values(by="Date", inplace=True) -categorical_columns = ["HT", "AT"] -for col in categorical_columns: - df[col] = df[col].astype("category") -# Ensure reproducibility. -random_state = 42 -# Step 1: Split by team to ensure each team is represented in the train split. -teams = df["HT"].unique() -train_indices = [] -test_indices = [] -for team in teams: - team_df = df[df["HT"] == team] - train_team, test_team = sms.train_test_split( - team_df, test_size=0.2, random_state=random_state - ) - train_indices.extend(train_team.index) - test_indices.extend(test_team.index) -# Create train and test DataFrames. -train_df = df.loc[train_indices] -test_df = df.loc[test_indices] - - -def unravel_dataset(df) -> pd.DataFrame(): +def create_train_test_split(df: pd.DataFrame(), test_size: float = 0.2) -> Dict: + """ + Create a train-test split with the preprocessed DataFrame. Ensure all the teams are + represented in the training set. + + :param df: Input dataframe. + :return: Dictionary of training and testing DataFrames """ - Unravel the dataset by creating one entry for each row as team-opponent + # Ensure reproducibility. + random_state = 42 + # Step 1: Split by team to ensure each team is represented in the train split. + teams = df["HT"].unique() + train_indices = [] + test_indices = [] + for team in teams: + team_df = df[df["HT"] == team] + train_team, test_team = sms.train_test_split( + team_df, test_size=test_size, random_state=random_state + ) + train_indices.extend(train_team.index) + test_indices.extend(test_team.index) + # Create train and test DataFrames. + train_df = df.loc[train_indices] + test_df = df.loc[test_indices] + dataframes = {} + # Add train and test dataframes to the dictionary. + dataframes['train_df'] = train_df + dataframes['test_df'] = test_df + # Return the dictionary of dataframes. + return dataframes + +def unravel_df(df: pd.DataFrame()) -> pd.DataFrame(): + """ + Unravel the dataset by creating two entries for each row as team-opponent pair. + + :param df: Input dataframe. + :return: unraveled dataframe. """ + # Create entry for home team `HT`. home_df = df[["Date", "Sea", "Lge", "HT", "AT", "HS"]].copy() home_df.rename( - columns={"HT": "team", "AT": "opponent", "HS": "goals"}, inplace=True - ) + columns={"HT": "team", "AT": "opponent", "HS": "goals"}, inplace=True + ) home_df["is_home"] = 1 + # Create entry for away team `AT`. away_df = df[["Date", "Sea", "Lge", "HT", "AT", "AS"]].copy() away_df.rename( - columns={"AT": "team", "HT": "opponent", "AS": "goals"}, inplace=True - ) + columns={"AT": "team", "HT": "opponent", "AS": "goals"}, inplace=True + ) away_df["is_home"] = 0 + # Concatenate the two splits. unraveled_df = pd.concat([home_df, away_df], ignore_index=True) + # return the unraveled dataframe. return unraveled_df - -# Unravel the training dataset. -unraveled_train_df = unravel_dataset(train_df) -# Unravel the test dataset. -unraveled_test_df = unravel_dataset(test_df) - -# %% -unraveled_train_df.head() - - -# %% -def representative_sample(df, sample_size) -> pd.DataFrame(): +def representative_sample(df: pd.DataFrame(), sample_size: int) -> pd.DataFrame(): """ - Function to perform representative sampling to ensure each team is + Function to perform representative sampling on training set to ensure each team is represented. - + param: df: Input dataframe for sampling. param: sample_size: Size of the extracted sample (output dataframe). return: sampled_df: Sampled dataframe. """ + # Collect the unique values of teams. teams = df["team"].unique() + # Identify samples/team. samples_per_team = sample_size // len(teams) - sampled_df = pd.DataFrame() + sampled_df_list = [] + # Iteratively add the samples for each team. for team in teams: team_df = df[df["team"] == team] team_sample = team_df.sample( n=min(samples_per_team, len(team_df)), random_state=1 ) - sampled_df = pd.concat([sampled_df, team_sample]) - # Additional random sampling to fill the remaining sample size + sampled_df_list.append(team_sample) + # Create a sampled dataframe. + sampled_df = pd.concat(sampled_df_list) + # Additional random sampling to fill the remaining sample size. remaining_sample_size = sample_size - len(sampled_df) if remaining_sample_size > 0: additional_sample = df.drop(sampled_df.index).sample( n=remaining_sample_size, random_state=1 ) sampled_df = pd.concat([sampled_df, additional_sample]) + # Return the sampled dataframe. return sampled_df - -# Sample 20% of the training data. -sample_size = int(0.2 * len(unraveled_train_df)) -# Perform representative sampling on the training set. -sampled_train_df = representative_sample(unraveled_train_df, sample_size) -sampled_train_df.head() - -# %% -print("NaN values per column:") -print(sampled_train_df.isna().sum()) - -numeric_cols = sampled_train_df.select_dtypes(include=[np.number]).columns -print("\nInfinite values per numeric column:") -for col in numeric_cols: - num_infs = np.isinf(sampled_train_df[col]).sum() - print(f"{col}: {num_infs}") -print(sampled_train_df.dtypes) -print(sampled_train_df.describe(include="all")) - - -# %% [markdown] -# ## Train Poisson model. - - -# %% -def ensure_finite_weights(df) -> pd.DataFrame(): +def train_model(train_df: pd.DataFrame(), + logging_level: int = logging.INFO, + **kwargs: Any, + ) -> GLMResults: """ - Function to ensure weights are finite. + Train a Poisson regression model to estimate the number of goals. + + :param train_df: Input training set. + :return: Trained GLM model. """ - # Adding a small constant to goals to avoid log(0). - df["goals"] = df["goals"].apply(lambda x: x + 1e-9 if x == 0 else x) - # Check if there are any infinite or NaN weights and handle them - if df.isna().sum().sum() > 0: - print("NaN values found in the data. Removing rows with NaNs.") - df.dropna(inplace=True) - if np.isinf(df.select_dtypes(include=[np.number])).sum().sum() > 0: - print("Infinite values found in the data. Removing rows with Infs.") - df = df[~np.isinf(df.select_dtypes(include=[np.number])).any(1)] - return df - - -# Ensure weights are finite in the sampled training data. -sampled_train_df = ensure_finite_weights(sampled_train_df) -# Create the formula to include team offensive and opponent defensive strengths and home advantage. -formula = "goals ~ C(team) + C(opponent) + is_home" -# Fit the Poisson regression model. -poisson_model = smf.glm( - formula=formula, data=sampled_train_df, family=sm.families.Poisson() -).fit(maxiter=10) -# Display the summary of the model. -print(poisson_model.summary()) - -# %% [markdown] -# ## Generate Predictions - -# %% -# Predict the expected goals for home and away teams in the test set. -unraveled_test_df["predicted_goals"] = poisson_model.predict(unraveled_test_df) -print(unraveled_test_df.head()) - -# %% -# Split the dataframe into home and away rows. -home_df = unraveled_test_df[unraveled_test_df["is_home"] == 1].copy() -away_df = unraveled_test_df[unraveled_test_df["is_home"] == 0].copy() -# Rename columns for merging -home_df.rename( - columns={ - "team": "HT", - "opponent": "AT", - "goals": "HS", - "predicted_goals": "Lambda_HS", - }, - inplace=True, -) -away_df.rename( - columns={ - "team": "AT", - "opponent": "HT", - "goals": "AS", - "predicted_goals": "Lambda_AS", - }, - inplace=True, -) -# Merge the home and away dataframes -merged_df = pd.merge( - home_df, - away_df, - on=["Date", "Sea", "Lge", "HT", "AT"], - suffixes=("_home", "_away"), -) -# Select and reorder columns for the final dataframe -test_df = merged_df[ - ["Date", "Sea", "Lge", "HT", "AT", "HS", "AS", "Lambda_HS", "Lambda_AS"] -] -# Display the resulting dataframe -print(test_df.head()) - -# %% [markdown] -# ## Evaluate - -# %% -# Round off the predicted goals to integers -test_df["Lambda_HS"] = test_df["Lambda_HS"].round().astype(int) -test_df["Lambda_AS"] = test_df["Lambda_AS"].round().astype(int) - + # Create the formula to include team offensive and opponent defensive strengths and home advantage. + formula = "goals ~ C(team) + C(opponent) + is_home" + # Fit the Poisson regression model. + poisson_model = smf.glm( + formula=formula, data=train_df, family=sm.families.Poisson() + ).fit(maxiter=10) + _LOG.log(logging_level, + poisson_model.summary() + ) + # Return the model. + return poisson_model + +def generate_predictions(model: GLMResults, test_df: pd.DataFrame, **kwargs: Any) -> pd.DataFrame(): + """ + Generated predictions on the test dataset. + + :param model: GLM model to be used. + :param test_df: Test dataset. + :return: Dataframe with predictions. + """ + # Predict the expected goals for home and away teams in the test set. + test_df["predicted_goals"] = model.predict(test_df) + # Split the dataframe into home and away rows. + home_df = test_df[test_df["is_home"] == 1].copy() + away_df = test_df[test_df["is_home"] == 0].copy() + # Rename columns for merging. + home_df.rename( + columns={ + "team": "HT", + "opponent": "AT", + "goals": "HS", + "predicted_goals": "Lambda_HS", + }, + inplace=True, + ) + away_df.rename( + columns={ + "team": "AT", + "opponent": "HT", + "goals": "AS", + "predicted_goals": "Lambda_AS", + }, + inplace=True, + ) + # Merge the home and away dataframes. + merged_df = pd.merge( + home_df, + away_df, + on=["Date", "Sea", "Lge", "HT", "AT"], + suffixes=("_home", "_away"), + ) + # Select and reorder columns for the final dataframe. + test_df = merged_df[["Date", "Sea", "Lge", "HT", "AT", "HS", "AS", "Lambda_HS", "Lambda_AS"]] + # Return the final dataframe. + return test_df -# Define the -def calculate_match_outcome_probabilities(row): +def calculate_match_outcome_probabilities(row: pd.Series()) -> pd.Series(): """ Function to calculate match outcome probabilities. + + :param row: Input row on which the match outcomes are calculates. """ + # Set maximum score based on the data. max_goals = 10 - home_goals_probs = [ - np.exp(-row["Lambda_HS"]) * row["Lambda_HS"] ** i / np.math.factorial(i) - for i in range(max_goals) - ] - away_goals_probs = [ - np.exp(-row["Lambda_AS"]) * row["Lambda_AS"] ** i / np.math.factorial(i) - for i in range(max_goals) - ] + # Calculate Poisson probabilities for Home team. + home_goals_probs = [np.exp(-row["Lambda_HS"]) * row["Lambda_HS"] ** i / np.math.factorial(i) + for i in range(max_goals) + ] + # Calculate Poisson probabilities for Away team. + away_goals_probs = [np.exp(-row["Lambda_AS"]) * row["Lambda_AS"] ** i / np.math.factorial(i) + for i in range(max_goals) + ] + # Calculate the probabilities of winning for home and away. prob_home_win = 0 prob_away_win = 0 prob_draw = 0 @@ -345,36 +273,80 @@ def calculate_match_outcome_probabilities(row): prob_away_win += prob else: prob_draw += prob - return pd.Series( - { - "prob_home_win": prob_home_win, - "prob_away_win": prob_away_win, - "prob_draw": prob_draw, - } + probabilities = pd.Series( + {"prob_home_win": prob_home_win, + "prob_away_win": prob_away_win, + "prob_draw": prob_draw, + } + ) + # Return the calculated Probabilities. + return probabilities + +def evaluate_model_predictions(test_df: pd.DataFrame()) -> None: + """ + Evaluate the performance of the model. + + :param test_df: Test Dataframe with the model predictions. + """ + # Apply the function to the test set. + probabilities = test_df.apply(calculate_match_outcome_probabilities, axis=1) + test_df = pd.concat([test_df, probabilities], axis=1) + # Display the test set with probabilities. + print(test_df.head()) + # Predict the outcomes based on probabilities. + test_df["predicted_outcome"] = np.where( + test_df["prob_home_win"] > test_df["prob_away_win"], + "home_win", + np.where( + test_df["prob_away_win"] > test_df["prob_home_win"], "away_win", "draw" + ), + ) + # Calculate actual outcomes for comparison. + test_df["actual_outcome"] = np.where( + test_df["HS"] > test_df["AS"], + "home_win", + np.where(test_df["HS"] < test_df["AS"], "away_win", "draw"), ) + # Calculate accuracy. + accuracy = skm.accuracy_score(test_df["actual_outcome"], test_df["predicted_outcome"]) + print("Model Accuracy on Test Set:", accuracy) + -# Apply the function to the test set -probabilities = test_df.apply(calculate_match_outcome_probabilities, axis=1) -test_df = pd.concat([test_df, probabilities], axis=1) -# Display the test set with probabilities -print(test_df.head()) -# Predict the outcomes based on probabilities -test_df["predicted_outcome"] = np.where( - test_df["prob_home_win"] > test_df["prob_away_win"], - "home_win", - np.where( - test_df["prob_away_win"] > test_df["prob_home_win"], "away_win", "draw" - ), -) -# Calculate actual outcomes for comparison -test_df["actual_outcome"] = np.where( - test_df["HS"] > test_df["AS"], - "home_win", - np.where(test_df["HS"] < test_df["AS"], "away_win", "draw"), -) -# Calculate accuracy -accuracy = skm.accuracy_score( - test_df["actual_outcome"], test_df["predicted_outcome"] -) -print("Model Accuracy on Test Set:", accuracy) +# %% +def main(): + # Define the S3 Buckets, dataset path and local directory for download. + bucket = "cryptokaizen-data-test" + dataset_path = "kaizen_ai/soccer_prediction/datasets/OSF_football/" + local_dir = "datasets/OSF_football" + # Download data from S3. + rasoprut.download_data_from_s3(bucket_name = bucket, dataset_path = dataset_path, local_path = local_dir) + # Load the data from S3 into pandas dataframe objects. + dataframes = rasoprut.load_data_to_dataframe(local_path = local_dir) + # Access the dataframes directly from the dictionary. + ISDBv1_df = dataframes.get("ISDBv1_df") + ISDBv2_df = dataframes.get("ISDBv2_df") + # Preprocess the selected dataframe (ISDBv2_df). + preprocessed_df = preprocess_data(ISDBv2_df) + # Create a train-test split. + dataframes_test_train = create_train_test_split(df = preprocessed_df) + # Access the test/train dataframes directly from the dictionary. + train_df = dataframes_test_train.get("train_df") + test_df = dataframes_test_train.get("test_df") + # Unravel the datasets. + unraveled_train_df = unravel_df(train_df) + unraveled_test_df = unravel_df(test_df) + # Create a representative sample of train set and define sample size. + sample_size = int(0.2 * len(unraveled_train_df)) + # Perform representative sampling on the training set. + sampled_train_df = representative_sample(df = unraveled_train_df, sample_size = sample_size) + # Train Poisson Regression model. + poisson_model = train_model(sampled_train_df) + # Generate predictions on test set. + predictions_df = generate_predictions(poisson_model, unraveled_test_df) + # Evaluate model predictions. + evaluate_model_predictions(predictions_df) + + +# %% +main() diff --git a/research_amp/soccer_prediction/utils.py b/research_amp/soccer_prediction/utils.py new file mode 100644 index 0000000000..0dffeb9092 --- /dev/null +++ b/research_amp/soccer_prediction/utils.py @@ -0,0 +1,101 @@ +""" +Import as: + +import research_amp.soccer_prediction.utils as rasoprut +""" + +import logging +import os +from typing import Any, Dict + +import pandas as pd + +import helpers.haws as haws +import helpers.hdbg as hdbg + +_LOG = logging.getLogger(__name__) + + +def download_data_from_s3( + bucket_name: str, + dataset_path: str, + local_path: str, + logging_level: int = logging.INFO, +) -> None: + """ + Function to download files from S3. + + :param bucket_name: S3 bucket name. + :param dataset_path: Path for the dataset in the S3 bucket. + :param local_path: Destination path for downloading the dataset from + the S3 to local machine. + """ + # Initialize S3 session. + s3 = haws.get_service_resource(aws_profile="ck", service_name="s3") + # Fetch S3 bucket. + bucket = s3.Bucket(bucket_name) + # Define the local directory to save the files. + os.makedirs(local_path, exist_ok=True) + # Download the files the S3 path recursively. + bucket = s3.Bucket(bucket_name) + objects = list(bucket.objects.filter(Prefix=dataset_path)) + # Check for Null objects. + if not objects: + msg = "No files present in the S3 Location: " + s3_path = f"s3://{bucket}/{dataset_path}" + hdbg.dassert_eq(0, len(objects), msg, s3_path) + for obj in bucket.objects.filter(Prefix=dataset_path): + key = obj.key + # Select the files that end with `.txt` format. + if key.endswith(".txt"): + local_file_path = os.path.join(local_path, os.path.basename(key)) + _LOG.log(logging_level, f"Downloading {key} to {local_file_path}") + bucket.download_file(key, local_file_path) + _LOG.log(logging_level, "Data Downloaded.") + + +def load_data_to_dataframe( + local_path: str, + file_format: str = ".txt", + logging_level: int = logging.INFO, + sep: str = "\t", + encoding: str = "UTF-8", + **kwargs: Any, +) -> Dict: + """ + Load the International Soccer Databases(ISDB) into pandas dataframes and + collect the dataframes into a dictionary. + - ISDBv2: 218,916 entries. 52 leagues, from 2000/01 to 2016/17 seasons + completed leagues only. + - ISDBv1: 216,743 entries. 52 leagues, from 2000/01 to 2017/18 seasons. + Some leagues incomplete and some cover only subset of seasons. + + :param local_path: Local directory where the S3 data was downloaded. + :param file_format: The format of the files to be loaded. Default is ".txt". + :param logging_level: Logging level. Default is logging.INFO. + :param kwargs: Additional arguments to pass to pandas read_csv. + :return: Dictionary of the datasets downloaded. + """ + dataframes = {} + # Iterate in the directory to collect the files and load them into dataframes. + for dirname, _, filenames in os.walk(local_path): + for filename in filenames: + if filename.endswith(file_format): + file_key = filename.split(".")[0] + "_df" + filepath = os.path.join(dirname, filename) + _LOG.log(logging_level, f"Loading {filepath}") + df = pd.read_csv(filepath, sep=sep, encoding=encoding, **kwargs) + _LOG.log( + logging_level, + f" {file_key}, {df.shape}", + ) + # Check if the dataframe is empty. + if df.empty: + hdbg.dassert_eq(0, df.shape[0], "Empty Dataframe: ", file_key) + # Drop duplicates. + df = df.drop_duplicates() + # Append to dictionary. + dataframes[file_key] = df + _LOG.log(logging_level, "Data loaded into dataframes.") + # Return the dictionary of the dataframes. + return dataframes From 72b0f14bc90e2615077242062e4dbc07f5ffb0e1 Mon Sep 17 00:00:00 2001 From: tkpratardan Date: Fri, 31 May 2024 22:20:46 +0000 Subject: [PATCH 2/3] Changes --- .../soccer_prediction/sota_baseline_glm.ipynb | 109 ++++++++++-------- .../soccer_prediction/sota_baseline_glm.py | 40 ++++--- 2 files changed, 88 insertions(+), 61 deletions(-) diff --git a/research_amp/soccer_prediction/sota_baseline_glm.ipynb b/research_amp/soccer_prediction/sota_baseline_glm.ipynb index 0d03e07daf..bf78072857 100644 --- a/research_amp/soccer_prediction/sota_baseline_glm.ipynb +++ b/research_amp/soccer_prediction/sota_baseline_glm.ipynb @@ -2,33 +2,33 @@ "cells": [ { "cell_type": "markdown", - "id": "6f0753b8", + "id": "6f1c0882", "metadata": {}, "source": [ "# Establish a baseline Poisson Regression Model \n", - "- Use the International soccer database (ISDB) to predict the goals scored by each team. \n", + "- Use the International soccer database (ISDB) to predict the goals scored by each team.\n", "- Dataset Description:\n", - " - `'Date'`: Date on which the match took place.\n", - " - `'Sea'` : Describes the yearly season in which the match happened.\n", - " - `'Lea'` : League of in which the match is part of.\n", - " - `'HT'` : Home Team.\n", - " - `'AT'` : Away Team.\n", - " - `'HS'` : Goals scored by Home Team.\n", - " - `'AS'` : Goals scored by Away Team.\n", - " - `'GD'` : Goal difference (`HS - AS`)\n", - " - `'WDL'` : Match outcome w/r to Home team (home win, home loss, draw)\n", + " - `'Date'`: Date on which the match took place.\n", + " - `'Sea'` : Describes the yearly season in which the match happened.\n", + " - `'Lea'` : League of in which the match is part of.\n", + " - `'HT'` : Home Team.\n", + " - `'AT'` : Away Team.\n", + " - `'HS'` : Goals scored by Home Team.\n", + " - `'AS'` : Goals scored by Away Team.\n", + " - `'GD'` : Goal difference (`HS - AS`)\n", + " - `'WDL'` : Match outcome w/r to Home team (home win, home loss, draw)\n", "- Use the poisson regressor of the GLM model in stats models\n", "- Evaluate the model performance" ] }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 1, "id": "7dac9bd7", "metadata": { "ExecuteTime": { - "end_time": "2024-05-31T17:28:54.765131Z", - "start_time": "2024-05-31T17:28:54.735677Z" + "end_time": "2024-05-31T21:09:45.292852Z", + "start_time": "2024-05-31T21:09:40.151684Z" } }, "outputs": [], @@ -56,12 +56,12 @@ }, { "cell_type": "code", - "execution_count": 59, - "id": "e71aea61", + "execution_count": 2, + "id": "5bb3e4ea", "metadata": { "ExecuteTime": { - "end_time": "2024-05-31T17:28:55.777474Z", - "start_time": "2024-05-31T17:28:55.772397Z" + "end_time": "2024-05-31T21:09:45.301409Z", + "start_time": "2024-05-31T21:09:45.297980Z" } }, "outputs": [], @@ -71,12 +71,12 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 15, "id": "6bd0013c", "metadata": { "ExecuteTime": { - "end_time": "2024-05-31T17:28:57.481763Z", - "start_time": "2024-05-31T17:28:57.437038Z" + "end_time": "2024-05-31T21:38:06.839953Z", + "start_time": "2024-05-31T21:38:06.803350Z" }, "run_control": { "marked": true @@ -270,7 +270,7 @@ " suffixes=(\"_home\", \"_away\"),\n", " )\n", " # Select and reorder columns for the final dataframe.\n", - " test_df = merged_df[[\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\", \"HS\", \"AS\", \"Lambda_HS\", \"Lambda_AS\"]] \n", + " test_df = merged_df[[\"Date\", \"Sea\", \"Lge\", \"HT\", \"AT\", \"HS\", \"AS\", \"Lambda_HS\", \"Lambda_AS\"]] \n", " # Return the final dataframe.\n", " return test_df\n", "\n", @@ -321,8 +321,6 @@ " # Apply the function to the test set.\n", " probabilities = test_df.apply(calculate_match_outcome_probabilities, axis=1)\n", " test_df = pd.concat([test_df, probabilities], axis=1)\n", - " # Display the test set with probabilities.\n", - " print(test_df.head())\n", " # Predict the outcomes based on probabilities.\n", " test_df[\"predicted_outcome\"] = np.where(\n", " test_df[\"prob_home_win\"] > test_df[\"prob_away_win\"],\n", @@ -340,17 +338,23 @@ " # Calculate accuracy.\n", " accuracy = skm.accuracy_score(test_df[\"actual_outcome\"], test_df[\"predicted_outcome\"])\n", " print(\"Model Accuracy on Test Set:\", accuracy)\n", - " " + " # Round off the predicted goals to integers.\n", + " test_df[\"Lambda_HS\"] = test_df[\"Lambda_HS\"].round().astype(int)\n", + " test_df[\"Lambda_AS\"] = test_df[\"Lambda_AS\"].round().astype(int)\n", + " # Display the test set with probabilities.\n", + " print(test_df.head())\n", + " # Return the final dataframe\n", + " return test_df" ] }, { "cell_type": "code", - "execution_count": 61, - "id": "100e52ee", + "execution_count": 16, + "id": "bd3bdf32", "metadata": { "ExecuteTime": { - "end_time": "2024-05-31T17:28:59.413988Z", - "start_time": "2024-05-31T17:28:59.406042Z" + "end_time": "2024-05-31T21:38:06.851937Z", + "start_time": "2024-05-31T21:38:06.842637Z" } }, "outputs": [], @@ -386,17 +390,23 @@ " # Generate predictions on test set.\n", " predictions_df = generate_predictions(poisson_model, unraveled_test_df)\n", " # Evaluate model predictions.\n", - " evaluate_model_predictions(predictions_df)" + " final_df = evaluate_model_predictions(predictions_df)\n", + " # Save dataframe to S3.\n", + " final_df.to_csv(\"glm_predictions.csv\", index = False)\n", + " save_path = \"kaizen_ai/soccer_predictions/model_output/glm_predictions.csv\"\n", + " s3 = haws.get_service_resource(aws_profile=\"ck\", service_name=\"s3\")\n", + " # Upload the file to S3\n", + " s3.Bucket(bucket).upload_file('glm_predictions.csv', save_path)" ] }, { "cell_type": "code", - "execution_count": 62, - "id": "7e666b4a", + "execution_count": 17, + "id": "ba0620cc", "metadata": { "ExecuteTime": { - "end_time": "2024-05-31T17:33:57.997330Z", - "start_time": "2024-05-31T17:29:00.515342Z" + "end_time": "2024-05-31T21:42:52.811095Z", + "start_time": "2024-05-31T21:38:06.855386Z" } }, "outputs": [ @@ -404,20 +414,27 @@ "name": "stdout", "output_type": "stream", "text": [ + "Model Accuracy on Test Set: 0.4717499293243407\n", " Date Sea Lge HT AT HS AS Lambda_HS \\\n", - "0 09/11/2013 13-14 GER1 Wolfsburg Dortmund 2.0 1.0 1.299774 \n", - "1 25/02/2012 11-12 GER1 Wolfsburg Hoffenheim 1.0 2.0 1.904961 \n", - "2 02/02/2013 12-13 GER1 Wolfsburg Augsburg 1.0 1.0 1.813039 \n", - "3 21/01/2012 11-12 GER1 Wolfsburg FC Koln 1.0 0.5 1.962177 \n", - "4 28/01/2017 16-17 GER1 Wolfsburg Augsburg 1.0 2.0 1.813039 \n", + "0 09/11/2013 13-14 GER1 Wolfsburg Dortmund 2.0 1.0 1 \n", + "1 25/02/2012 11-12 GER1 Wolfsburg Hoffenheim 1.0 2.0 2 \n", + "2 02/02/2013 12-13 GER1 Wolfsburg Augsburg 1.0 1.0 2 \n", + "3 21/01/2012 11-12 GER1 Wolfsburg FC Koln 1.0 0.5 2 \n", + "4 28/01/2017 16-17 GER1 Wolfsburg Augsburg 1.0 2.0 2 \n", + "\n", + " Lambda_AS prob_home_win prob_away_win prob_draw predicted_outcome \\\n", + "0 2 0.246577 0.537171 0.216204 away_win \n", + "1 2 0.457751 0.321579 0.220633 home_win \n", + "2 1 0.532794 0.236845 0.230340 home_win \n", + "3 1 0.566161 0.216042 0.217757 home_win \n", + "4 1 0.532794 0.236845 0.230340 home_win \n", "\n", - " Lambda_AS prob_home_win prob_away_win prob_draw \n", - "0 2.002312 0.246577 0.537171 0.216204 \n", - "1 1.572617 0.457751 0.321579 0.220633 \n", - "2 1.133287 0.532794 0.236845 0.230340 \n", - "3 1.133403 0.566161 0.216042 0.217757 \n", - "4 1.133287 0.532794 0.236845 0.230340 \n", - "Model Accuracy on Test Set: 0.4717499293243407\n" + " actual_outcome \n", + "0 home_win \n", + "1 away_win \n", + "2 draw \n", + "3 home_win \n", + "4 away_win \n" ] } ], diff --git a/research_amp/soccer_prediction/sota_baseline_glm.py b/research_amp/soccer_prediction/sota_baseline_glm.py index 4dccee31ed..96d77f74de 100644 --- a/research_amp/soccer_prediction/sota_baseline_glm.py +++ b/research_amp/soccer_prediction/sota_baseline_glm.py @@ -14,17 +14,17 @@ # %% [markdown] # # Establish a baseline Poisson Regression Model -# - Use the International soccer database (ISDB) to predict the goals scored by each team. +# - Use the International soccer database (ISDB) to predict the goals scored by each team. # - Dataset Description: -# - `'Date'`: Date on which the match took place. -# - `'Sea'` : Describes the yearly season in which the match happened. -# - `'Lea'` : League of in which the match is part of. -# - `'HT'` : Home Team. -# - `'AT'` : Away Team. -# - `'HS'` : Goals scored by Home Team. -# - `'AS'` : Goals scored by Away Team. -# - `'GD'` : Goal difference (`HS - AS`) -# - `'WDL'` : Match outcome w/r to Home team (home win, home loss, draw) +# - `'Date'`: Date on which the match took place. +# - `'Sea'` : Describes the yearly season in which the match happened. +# - `'Lea'` : League of in which the match is part of. +# - `'HT'` : Home Team. +# - `'AT'` : Away Team. +# - `'HS'` : Goals scored by Home Team. +# - `'AS'` : Goals scored by Away Team. +# - `'GD'` : Goal difference (`HS - AS`) +# - `'WDL'` : Match outcome w/r to Home team (home win, home loss, draw) # - Use the poisson regressor of the GLM model in stats models # - Evaluate the model performance @@ -240,7 +240,7 @@ def generate_predictions(model: GLMResults, test_df: pd.DataFrame, **kwargs: Any suffixes=("_home", "_away"), ) # Select and reorder columns for the final dataframe. - test_df = merged_df[["Date", "Sea", "Lge", "HT", "AT", "HS", "AS", "Lambda_HS", "Lambda_AS"]] + test_df = merged_df[["Date", "Sea", "Lge", "HT", "AT", "HS", "AS", "Lambda_HS", "Lambda_AS"]] # Return the final dataframe. return test_df @@ -291,8 +291,6 @@ def evaluate_model_predictions(test_df: pd.DataFrame()) -> None: # Apply the function to the test set. probabilities = test_df.apply(calculate_match_outcome_probabilities, axis=1) test_df = pd.concat([test_df, probabilities], axis=1) - # Display the test set with probabilities. - print(test_df.head()) # Predict the outcomes based on probabilities. test_df["predicted_outcome"] = np.where( test_df["prob_home_win"] > test_df["prob_away_win"], @@ -310,7 +308,13 @@ def evaluate_model_predictions(test_df: pd.DataFrame()) -> None: # Calculate accuracy. accuracy = skm.accuracy_score(test_df["actual_outcome"], test_df["predicted_outcome"]) print("Model Accuracy on Test Set:", accuracy) - + # Round off the predicted goals to integers. + test_df["Lambda_HS"] = test_df["Lambda_HS"].round().astype(int) + test_df["Lambda_AS"] = test_df["Lambda_AS"].round().astype(int) + # Display the test set with probabilities. + print(test_df.head()) + # Return the final dataframe + return test_df # %% @@ -345,7 +349,13 @@ def main(): # Generate predictions on test set. predictions_df = generate_predictions(poisson_model, unraveled_test_df) # Evaluate model predictions. - evaluate_model_predictions(predictions_df) + final_df = evaluate_model_predictions(predictions_df) + # Save dataframe to S3. + final_df.to_csv("glm_predictions.csv", index = False) + save_path = "kaizen_ai/soccer_predictions/model_output/glm_predictions.csv" + s3 = haws.get_service_resource(aws_profile="ck", service_name="s3") + # Upload the file to S3 + s3.Bucket(bucket).upload_file('glm_predictions.csv', save_path) # %% From 69b5e2d4659efa879f9ab355fc74379473743823 Mon Sep 17 00:00:00 2001 From: tkpratardan Date: Fri, 31 May 2024 23:45:44 +0000 Subject: [PATCH 3/3] changes --- .../soccer_prediction/sota_baseline_glm.ipynb | 15 ++++++++++----- .../soccer_prediction/sota_baseline_glm.py | 7 ++++++- research_amp/soccer_prediction/utils.py | 10 +++------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/research_amp/soccer_prediction/sota_baseline_glm.ipynb b/research_amp/soccer_prediction/sota_baseline_glm.ipynb index bf78072857..b13458ebe2 100644 --- a/research_amp/soccer_prediction/sota_baseline_glm.ipynb +++ b/research_amp/soccer_prediction/sota_baseline_glm.ipynb @@ -2,12 +2,17 @@ "cells": [ { "cell_type": "markdown", - "id": "6f1c0882", + "id": "1d6e9e60", "metadata": {}, "source": [ "# Establish a baseline Poisson Regression Model \n", "- Use the International soccer database (ISDB) to predict the goals scored by each team.\n", - "- Dataset Description:\n", + "- Database Description:\n", + " - ISDBv2: 218,916 entries. 52 leagues, from 2000/01 to 2016/17 seasons\n", + " completed leagues only.\n", + " - ISDBv1: 216,743 entries. 52 leagues, from 2000/01 to 2017/18 seasons.\n", + " Some leagues incomplete and some cover only subset of seasons.\n", + "- Metadata:\n", " - `'Date'`: Date on which the match took place.\n", " - `'Sea'` : Describes the yearly season in which the match happened.\n", " - `'Lea'` : League of in which the match is part of.\n", @@ -57,7 +62,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "5bb3e4ea", + "id": "b7d2b23a", "metadata": { "ExecuteTime": { "end_time": "2024-05-31T21:09:45.301409Z", @@ -350,7 +355,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "bd3bdf32", + "id": "efee4393", "metadata": { "ExecuteTime": { "end_time": "2024-05-31T21:38:06.851937Z", @@ -402,7 +407,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "ba0620cc", + "id": "8c516481", "metadata": { "ExecuteTime": { "end_time": "2024-05-31T21:42:52.811095Z", diff --git a/research_amp/soccer_prediction/sota_baseline_glm.py b/research_amp/soccer_prediction/sota_baseline_glm.py index 96d77f74de..cfc14439a1 100644 --- a/research_amp/soccer_prediction/sota_baseline_glm.py +++ b/research_amp/soccer_prediction/sota_baseline_glm.py @@ -15,7 +15,12 @@ # %% [markdown] # # Establish a baseline Poisson Regression Model # - Use the International soccer database (ISDB) to predict the goals scored by each team. -# - Dataset Description: +# - Database Description: +# - ISDBv2: 218,916 entries. 52 leagues, from 2000/01 to 2016/17 seasons +# completed leagues only. +# - ISDBv1: 216,743 entries. 52 leagues, from 2000/01 to 2017/18 seasons. +# Some leagues incomplete and some cover only subset of seasons. +# - Metadata: # - `'Date'`: Date on which the match took place. # - `'Sea'` : Describes the yearly season in which the match happened. # - `'Lea'` : League of in which the match is part of. diff --git a/research_amp/soccer_prediction/utils.py b/research_amp/soccer_prediction/utils.py index 0dffeb9092..aa09a4cd20 100644 --- a/research_amp/soccer_prediction/utils.py +++ b/research_amp/soccer_prediction/utils.py @@ -63,15 +63,11 @@ def load_data_to_dataframe( **kwargs: Any, ) -> Dict: """ - Load the International Soccer Databases(ISDB) into pandas dataframes and - collect the dataframes into a dictionary. - - ISDBv2: 218,916 entries. 52 leagues, from 2000/01 to 2016/17 seasons - completed leagues only. - - ISDBv1: 216,743 entries. 52 leagues, from 2000/01 to 2017/18 seasons. - Some leagues incomplete and some cover only subset of seasons. + Function to load datasets into pandas dataframe. :param local_path: Local directory where the S3 data was downloaded. - :param file_format: The format of the files to be loaded. Default is ".txt". + :param file_format: The format of the files to be loaded. Default is + ".txt". :param logging_level: Logging level. Default is logging.INFO. :param kwargs: Additional arguments to pass to pandas read_csv. :return: Dictionary of the datasets downloaded.