Neler yeni

Python Kullanarak 2022 FIFA Dünya Kupasını Tahmin Etmek

  • Konbuyu başlatan muqo
  • Başlangıç tarihi
  • Cevaplar 1
  • Görüntüleme 344

muqo

Aktif Üye
Uzman
Katılım
24 Eki 2022
Konular
60
Mesajlar
154
Puanları
2,223
ModArt Kredi
0
Pek çok kişi (ben dahil) futbolu "öngörülemeyen oyun" olarak adlandırır çünkü bir futbol karşılaşmasının skoru değiştirebilecek farklı faktörleri vardır.

Bu doğru… bir dereceye kadar.

Bir maçın son skorunu veya galibini tahmin etmek zordur, ancak iş bir müsabakanın galibini tahmin etmeye geldiğinde durum böyle değildir. Son 5 yılda, Bayern Münih tüm Bundesliga'ları kazanırken, Manchester City 4 Premier Lig kazandı.

Tesadüf? Öyle düşünmüyorum.

Aslında, 20-21 sezonunun ortasında Premier Lig, La Liga, Serie A ve Bundesliga'nın galibini tahmin etmek için bir model oluşturdum ve bu model , hepsinin galibini başarıyla tahmin etti.

O noktada 19 maç oynandığı için bu tahmini yapmak o kadar da zor değildi. Şimdi aynı modeli 2022 Dünya Kupası'nı tahmin etmek için kullanıyorum.


Maçları nasıl tahmin edeceğiz?

Tahmin yapmanın farklı yolları vardır. Süslü bir makine öğrenimi modeli oluşturabilir ve onu birden çok değişkenle besleyebilirdim, ancak bazı makaleleri okuduktan sonra Poisson dağılımına bir şans vermeye karar verdim.

Neden? Niye? Peki, Poisson dağılımının tanımına bir göz atalım.


Poisson dağılımı, sabit bir zaman aralığında veya fırsat bölgesinde meydana gelen olayların sayısını açıklayan ayrık bir olasılık dağılımıdır.
Golü bir futbol maçının 90 dakikasında olabilecek bir olay olarak düşünürsek, bir maçta A takımı ve B takımı tarafından atılabilecek gol sayısının olasılığını hesaplayabiliriz.

Ama bu yeterli değil. Hala Poisson dağılımının varsayımlarını karşılamamız gerekiyor.


  1. Olayların sayısı sayılabilir (bir maçta 1, 2, 3 veya daha fazla gol olabilir)
  2. Olayların oluşumu bağımsızdır (bir golün gerçekleşmesi başka bir golün olasılığını etkilememelidir)
  3. Olayların meydana gelme hızı sabittir (belirli bir zaman aralığında bir hedefin gerçekleşme olasılığı, aynı uzunluktaki diğer tüm zaman aralıkları için tam olarak aynı olmalıdır)
  4. İki olay tam olarak aynı anda gerçekleşemez (iki gol aynı anda gerçekleşemez)
Kuşkusuz 1 ve 4 numaralı varsayımlar karşılanır, ancak 2 ve 3 kısmen doğrudur. Bununla birlikte, 2. ve 3. varsayımların her zaman doğru olduğunu varsayalım.

Avrupa'nın en iyi liglerinin kazananlarını tahmin ettiğimde, en iyi 4 lig için son 5 yıldaki her maçtaki gol sayısının histogramını çizdim.

0*O7t9vlLea-QHZ62W.png

4 ligdeki gol sayısının histogramı
Herhangi bir ligin uygunluk eğrisine bakarsanız, Poisson dağılımı gibi görünür.

Artık bir maçta atılabilecek gol sayısının olasılığını hesaplamak için Poisson dağılımını kullanmanın mümkün olduğunu söyleyebiliriz.

İşte Poisson dağılımının formülü.

0*mS13hITSE58ZoWrx.png

Düşündüğüm tahminleri yapmak için:

lambda : 90 dakikadaki gollerin medyanı (A Takımı ve B Takımı)
x : A Takımı ve B Takımı tarafından bir maçta atılabilecek gol sayısı

Lambda'yı hesaplamak için, her bir milli takımın attığı/yediği ortalama gollere ihtiyacımız var. Bu bizi bir sonraki noktaya götürür.


Her milli takımın attığı/yediği goller

1930'dan 2018'e kadar oynanan tüm Dünya Kupası maçlarından veri topladıktan sonra , her bir milli takımın attığı ve yediği ortalama golü hesaplayabilirim.

1*uVcHohY32JavLpz1eyp9GQ.png

Avrupa'nın en iyi 4 ligi için yaptığım tahminde iç saha/deplasman faktörünü dikkate aldım ancak Dünya Kupası'nda hemen hemen tüm takımlar tarafsız bir stadyumda oynadığı için bu analizde bu faktörü dikkate almadım.

Her milli takımın attığı/yediği golleri aldığımda, her takımın grup aşamasında alacağı puan sayısını tahmin eden bir fonksiyon oluşturdum.


Grup aşamasını tahmin etme

Aşağıda, her bir milli takımın grup aşamasında alacağı puanları tahmin etmek için kullandığım kod var. Göz korkutucu görünüyor, ancak yalnızca bu noktaya kadar bahsettiğim birçok şeyi koda çevirdi.


1*zYzjn5eySaFrciH45KI1_g.png


Golleri tahmin etmek

Goller için puanları değil, her grubun galibini tahmin etmem gerekiyor.
Basitçe söylemek gerekirse , kazanandan büyükse ev sahibi takım, aksi takdirde kazanan deplasman takımıdır.



1*VEUXEIL5KZKQGrPa4tK8Bw.png


Çeyrek final, yarı final ve final tahminleri

Tekrar kullanırsam get_winner, Dünya Kupası'nın galibini tahmin edebilirim. İşte nihai sonuç!!

1*cYAPDdAr7Rg1flwB94EAFA.png


Fonksiyonu bir kez daha çalıştırarak, kazananın...
 

Ekli dosyalar

  • fifa-world-cup-2022.zip
    3.3 MB · Görüntüleme: 99

™ROOT

Moderasyon Ekibi
Moderatör
Katılım
26 Eki 2022
Konular
300
Mesajlar
1,563
Çözümler
1
Puanları
11,883
ModArt Kredi
0
Ellerinize sağlık test edeceğim merak ettim
 

Bu konuyu görüntüleyen kullanıcı ve ziyaretçiler

Online yöneticiler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Gece/Gündüz modunu seç

Gece ve gündüz modlarından tarzınıza yada ihtiyaçlarınıza uygun olanı seçerek kullana bilirsiniz.

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.