Prediksi hasil Super Bowl 2023 menggunakan Python

Feb 11 2023
NFL Super Bowl hanya beberapa hari lagi dan saya benar-benar merasa bersemangat tahun ini. Sebagai orang yang penasaran, saya tidak sabar menunggu beberapa hari lagi untuk melihat pemenangnya, jadi saya pikir akan menarik untuk mencoba memprediksi pemenang sebelumnya.

NFL Super Bowl hanya beberapa hari lagi dan saya benar-benar merasa bersemangat tahun ini. Sebagai orang yang penasaran, saya tidak sabar menunggu beberapa hari lagi untuk melihat pemenangnya, jadi saya pikir akan menarik untuk mencoba memprediksi pemenang sebelumnya. Saya menggunakan Python dan RandomForest Classifier untuk memprediksi pemenang, dan kemudian menggunakan Regressor untuk menebak skor. Inilah cara saya untuk memprediksi hasil Super Bowl.

data

Hal pertama datang pertama. Jadi saya sudah mulai dengan data. Setelah beberapa penelitian dan ikhtisar statistik singkat yang saya sadari, tidak masuk akal untuk melihat data selain musim lalu. Terlalu banyak variabel yang berubah dari waktu ke waktu. Pemain baru, transfer baru, strategi dan cedera baru. Semua ini membuat game sangat tidak terduga dan menarik untuk ditonton. Jadi, saya hanya menggunakan statistik musim 2022 untuk memprediksi hasil Super Bowl. Tentu saja itu membuat saya hanya memiliki 17 pertandingan untuk setiap tim. Tidak banyak data jika tidak dikatakan lebih buruk. Tapi mari kita lihat seberapa jauh kita bisa melakukannya.

Data yang saya gunakan mencakup setiap pertandingan musim 2022. Jadi, total ada 532 baris informasi berharga. Saya telah menggunakan metrik berikutnya untuk analisis.

Saya telah melihat 32 tim NFL selama musim lalu dan mengambil intinya, jadi inilah sebar untuk metrik tim untuk setiap pertandingan musim ini.

Plot sebar menunjukkan korelasi antara setiap pasangan metrik dalam bingkai data.

Melihat data secara singkat, saya tidak dapat melihat adanya korelasi linier antara kinerja tim dan skor yang diharapkan mereka peroleh selama pertandingan. Saya akan berasumsi bahwa yard bergegas lebih signifikan, daripada yard passing dan jumlah turnover cenderung berkorelasi dengan permainan passing.

Hal berikutnya yang perlu diperhatikan sebelum melanjutkan dengan prediksi adalah varian metrik inti. Berapa rentang skor yang harus saya bidik?

Skor total didistribusikan sekitar 44 poin per game

Distribusi poin total per game

Dan Skor untuk pemenang dan pecundang masing-masing sekitar 28 dan 17 poin

Pembagian poin untuk pemenang dan pecundang
Histogram skor yang diperoleh untuk pemenang dan pecundang

Tim Sasaran

Karena saya cukup beruntung melihat Super Bowl dimulai dalam beberapa hari, saya sudah tahu, tim mana yang akan bersaing memperebutkan trofi. Memiliki bantuan yang luar biasa, prediksi harus semudah memilih antara A dan B. Jadi, mari kita lihat tim lebih dekat.

Kansas City Chiefs, yang memenangkan Super Bowl dua kali dalam sejarah mereka. Terakhir kali di tahun 2019. Belum lama ini.

Philadelphia Eagles baru sekali menang dalam sejarah mereka, yaitu pada tahun 2018. Ok, sepertinya ini tidak akan membuat kita dekat untuk memilih game favorit. Mari kita lihat performa tim selama musim lalu.

Sepertinya kedua tim sama-sama kuat. Satu-satunya hal yang dapat saya perhatikan, adalah bahwa Phila cenderung mendapatkan lebih banyak Rushing Yard per game, karena Chief lebih baik dalam passing. Oke, mari kita lihat seberapa jauh kita bisa mendapatkan data ini.

RandomForest Classifier untuk memprediksi pemenang

Pada awalnya Mari kita pisahkan data menjadi dataset Latih dan uji. Itu berarti lebih sedikit data untuk melatih model, tetapi setidaknya kami dapat memverifikasi apakah kami dapat memprediksi sesuatu atau tidak.

Pisahkan data menjadi kumpulan data latih dan uji

Saat memilih prediktor untuk membangun model saya, saya harus mengabaikan faktor-faktor seperti pertandingan Kandang/Tamu dan nomor Pertandingan di musim ini karena sama untuk kedua tim.

Berdasarkan data tersebut RF dapat membuat prediksi dengan tingkat akurasi 73,6%.
Skor presisi adalah 0,731

Ini dia! Model yang kami buat dapat memprediksi pemenang dalam 106 dari 145 pertandingan dan pecundang dalam 98 dari 132 pertandingan. Yang memberi kita skor presisi 0,731. Sama sekali tidak buruk untuk data yang terbatas.

Dan inilah momen Kebenaran. Siapa yang akan menang?

Elang!

Bendungan. Chiefs bisa kalah dengan , yang berarti kemenangan untuk Eagles dengan akurasi 73,6%.

RandomForest Regressor untuk memprediksi skor

Ke depan kita mungkin ingin mengetahui hasil potensial dari permainan. Dan di sini kita akan menggunakan RandomForest Regressor untuk membuat model untuk data nominal.

Oke, sepertinya memprediksi skor adalah tugas yang lebih rumit bahkan untuk model ML lanjutan. Di sini kami hanya mendapatkan tingkat akurasi 62,16%. Ok, mari kita lihat kemana itu akan membawa kita.

Menggunakan metrik inti untuk setiap tim, kami memiliki prediksi ..

RandomForest Regressor untuk memprediksi skor

24–31. Elang menang!

Ringkasan

Itu dia! Kami sekarang memiliki prakiraan yang mempertimbangkan statistik musiman, kinerja tim, dan prediksi pemenang pertandingan Super Bowl. Tentu saja, kemungkinan skor akhir kurang dari 100% dan saya tidak bisa mengatakan saya akan bertaruh untuk itu. Tetapi hasil ini tampaknya lebih mungkin terjadi daripada yang lain. Model ini dapat dikembangkan lebih lanjut dengan menambahkan lebih banyak faktor ke dalam analisis, seperti: statistik Quarterback, laporan cedera, kondisi cuaca, dan sebagainya. Jadi, nanti kami akan mencoba memberikan prediksi yang lebih akurat.

Tautan

  • Notebook Jupyter Asli
  • LinkedIn