Analisis Data – Prediksi March Madness

[ad_1]

Saya tidak terlalu memperhatikan basket kuliah tahun ini, jadi saya memutuskan untuk mengambil pendekatan yang berbeda untuk mengisi bracket saya.

Saya mulai dengan mengunduh jadwal penuh Divisi 1 Pria Bola Basket (dikeruk dari saingan.yahoo.com), bersama dengan skor setiap pertandingan, tanggal, dan tim tuan rumah.

Dalam model, saya berasumsi bahwa masing-masing tim memiliki dua (tidak diketahui) vektor bilangan real yang menggambarkan seberapa baik pelanggaran dan pertahanannya dalam beberapa atribut, masing-masing. Sebagai contoh, kita mungkin ingin mewakili seberapa baik penjaga pada masing-masing tim, seberapa baik ke depan, dan seberapa baik pusat itu – baik pada pelanggaran dan pembelaan. Kita bisa melakukan ini menggunakan vektor yang ofensif dan defensif:

Pelanggaran: [5, 10, 4]

Pertahanan: [2, 3, 10]

Ini berarti bahwa penjaga adalah 5 pada pelanggaran dan 2 pada pertahanan, dll. Dalam model saya, itu akan lebih mudah jika kita berasumsi bahwa angka yang tinggi lebih baik untuk pelanggaran, dan angka yang rendah lebih baik untuk pertahanan.

Skor permainan antara tim i dan tim j kemudian dapat dihasilkan sebagai produk titik dari vektor serangan tim saya dengan vektor pertahanan tim j, dan sebaliknya. Dalam contoh yang kami jalankan, jika tim kami dari sebelumnya memainkan tim dengan vektor:

Pelanggaran: [3, 2, 4]

Pertahanan: [2, 5, 5]

Kemudian skor tim pertama diperkirakan 5 * 2 + 10 * 5 + 4 * 5 = 80

dan skor tim kedua diprediksi menjadi 3 * 2 + 2 * 3 + 4 * 10 = 52

Sungguh ledakan!

Sekarang, satu-satunya masalah adalah bahwa kita sebenarnya tidak tahu vektor yang menggambarkan serangan dan pertahanan masing-masing tim. Tidak apa-apa – kita akan belajar mereka dari data.

Secara formal, tujuannya adalah untuk menemukan matriks laten O dan D yang meminimalkan jumlah kesalahan kuadrat antara skor prediksi dan skor yang diamati. Dalam matematika,

sum_g (score_gi – O_i: * D_j:) ^ 2 + (score_gj – O_j: * D_i:) ^ 2

di mana saya menggunakan notasi bahwa tim saya memainkan tim j di g permainan (i dan j tergantung pada g, tapi saya menjatuhkan ketergantungan ini dalam notasi untuk menjaga hal-hal sederhana) *.

Saya tidak akan membahas detailnya, tetapi kami dapat mengambil turunan dari fungsi kesalahan sehubungan dengan masing-masing vektor laten untuk menemukan perubahan pada vektor yang akan membuat mereka lebih cocok dengan hasil dari semua game di awal musim. Saya ulangi ini sampai tidak ada perubahan yang akan memperbaiki kesalahan (batch gradient descent, untuk orang-orang berorientasi detail di luar sana).

Hasil Dalam kasus di mana saya memilih vektor laten menjadi 1 dimensi, saya mendapatkan output sebagai nilai ofensif dan defensif untuk setiap tim. Ingat, untuk memprediksi skor tim pertama melawan tim lain, kalikan peringkat penyerangan tim pertama (lebih tinggi lebih baik) oleh peringkat pertahanan tim kedua (lebih rendah lebih baik).

Berikut adalah 10 pelanggaran dan pertahanan teratas, seperti yang dipelajari oleh versi 1D model saya:

Pelanggaran

Carolina Utara (9.79462281797)

Pittsburgh (9.77375501699)

Connecticut (9.74628326851)

Memphis (9.71693872544)

Louisville (9.69785532917)

Duke (9.65866585522)

UCLA (9.59945808934)

West Virginia (9.56811566735)

Arizona St. (9.56282860536)

Missouri (9.55043151623)

Pertahanan

North Carolina (7.02359489844)

Pittsburgh (7.0416251036)

Memphis (7.05499448413)

Connecticut (7.07696194481)

Louisville (7.14778041166)

Duke (7.18950625894)

UCLA (7.21883856723)

Gonzaga (7.22607569868)

Kansas (7.2289767174)

Missouri (7.2395184452)

Dan inilah hasil simulasi turnamen penuh dengan model 5 dimensi. Untuk setiap game, saya melaporkan skor yang diprediksi, tetapi untuk braket saya hanya memilih pemenang yang diprediksi.

==================== ROUND 1 ====================

Louisville 75.8969699266, Morehead St. 54.31731649

Ohio St. 74.9907105909, Siena 69.6702059811

Utah 69.7205426091, Arizona 69.2592708246

Wake Forest 72.3264784371, Cleveland St. 64.3143396939

Virginia Barat 66.7025939102, Dayton 57.550404701

Kansas 84.0565034675, North Dakota St 71.281863854

Boston Coll. 65.0669174572, USC 68.7027018576

Michigan St. 77.3858437718, Robert Morris 59.6407479

Connecticut 91.9763662649, Chattanooga 63.9941388666

BYU 74.7464520646, Texas A & M 70.5677646712

Purdue 69.8634461612, Northern Iowa 59.4892887466

Washington 81.8475059935, Mississippi St. 74.6374151171

Marquette 73.4307446299, Utah St. 69.1796188404

Missouri 83.8888903275, Cornell 68.1053984941

California 74.9638076999, Maryland 71.2565877894

Memphis 78.3145709447, CSU Northridge 59.0206289492

Pittsburgh 85.5983991252, E. Tennessee St. 64.8099546261

Oklahoma St. 81.6131739754, Tennessee 81.8021658489

Florida St. 59.994769086, Wisconsin 60.9139371828

Xavier 77.3537694, Portland St. 63.8161558802

UCLA 76.790261041, VCU 65.2726887151

Villanova 72.9957948506, Amerika 58.6863439306

Texas 64.5805075558, Minnesota 62.3595994418

Adipati 85.084666484, Binghamton 61.1984347353

Carolina Utara 99.2788271609, Radford 69.7291392149

LSU 65.0807263343, Butler 64.9895028812

Illinois 70.6250577544, Barat. Kentucky 57.6646396014

Gonzaga 75.0447785407, Akron 61.0678281691

Arizona St. 64.7151394863, Temple 58.0578420156

Syracuse 74.7825424779, Stephen F. Austin 60.5056731732

Clemson 74.4054903161, Michigan 70.8395522274

Oklahoma 78.5992492855, Morgan St. 59.7587888038

==================== ROUND 2 ====================

Louisville 67.3059313968, Ohio St. 60.5835683909

Utah 71.3007847464, Wake Forest 73.2895225467

West Virginia 67.9574088476, Kansas 67.4869037187

USC 62.1192840465, Michigan St. 64.56295945

Connecticut 76.8719158147, BYU 71.8412099454

Purdue 74.245343296, Washington 73.6100911982

Marquette 76.4607554812, Missouri 80.5497967091

California 64.7143532135, Memphis 70.9373235427

Pittsburgh 79.1278381289, Tennessee 70.6786108051

Wisconsin 63.0943233452, Xavier 63.5379857382

UCLA 74.1282015782, Villanova 71.4919550735

Texas 66.3817261194, Duke 70.9875941571

North Carolina 86.2296333847, LSU 73.8695973309

Illinois 62.6218220536, Gonzaga 65.6078661776

Arizona St. 74.0588194422, Syracuse 71.254787147

Clemson 76.9943827197, Oklahoma 78.9108038697

==================== SWEET 16 ====================

Louisville 72.8097088102, Wake Forest 68.2411945982

Virginia Barat 66.1905929215, Michigan St. 65.2198396254

Connecticut 70.4975234274, Purdue 67.014115714

Missouri 66.6046145365, Memphis 69.9964130636

Pittsburgh 72.8975484716, Xavier 64.848615134

UCLA 72.3676109557, Duke 73.1522519556

Carolina Utara 84.6606149747, Gonzaga 80.3910425893

Arizona St. 67.8668018941, Oklahoma 67.0441371239

==================== ELITE DELAPAN ====================

Louisville 64.0822047092, West Virginia 61.7652102534

Connecticut 64.875382557, Memphis 65.9485921907

Pittsburgh 72.8027424093, Duke 70.5222034022

North Carolina 76.2640153058, Arizona St. 72.3363504426

==================== EMPAT EMPAT ====================

Louisville 60.7832463768, Memphis 61.4830569498

Pittsburgh 80.3421788636, North Carolina 81.0056716364

==================== GAME AKHIR ====================

Memphis 73.8935857273, Carolina Utara 74.259537592

Pada akhirnya, prediksi ini cukup untuk memenangkan braket saya. Tentunya, semua itu harus diambil dengan butiran garam, tetapi menjadi mahasiswa PhD dalam Machine Learning [http://www.machinelearningphdstudent.com/], itu menyenangkan untuk menaruh uang saya di mana mulut saya dan bersenang-senang sedikit.

Oh, dan beri tahu saya jika Anda ingin data yang saya kumpulkan atau kode yang saya tulis untuk membuat ini berfungsi – Saya senang untuk berbagi.

* Saya juga mengatur vektor laten dengan menambahkan independen nol-mean Gaussian prior (atau ekuivalen, penalti linier pada norma L2 kuadrat dari laten vektor). Hal ini dikenal untuk meningkatkan model-faktor-seperti-matriks-seperti ini dengan mendorong mereka untuk menjadi lebih sederhana, dan kurang bersedia untuk mengambil pada karakteristik palsu dari data.

[ad_2]

You may also like...

Popular Posts

Leave a Reply

Your email address will not be published. Required fields are marked *