การถดถอยโลจิสติกและโครงสร้างชุดข้อมูล


17

ฉันหวังว่าฉันจะถามคำถามนี้ได้อย่างถูกวิธี ฉันสามารถเข้าถึงข้อมูลแบบเล่นโดยการเล่นดังนั้นจึงเป็นปัญหามากขึ้นด้วยวิธีที่ดีที่สุดและสร้างข้อมูลได้อย่างถูกต้อง

สิ่งที่ฉันต้องการทำคือการคำนวณความน่าจะเป็นในการชนะเกมของ NHL จากคะแนนและเวลาที่เหลืออยู่ในการควบคุม ฉันคิดว่าฉันสามารถใช้การถดถอยโลจิสติก แต่ฉันไม่แน่ใจว่าชุดข้อมูลควรมีลักษณะอย่างไร ฉันจะมีข้อสังเกตหลายครั้งต่อเกมและทุกครั้งที่ฉันสนใจ ฉันจะมีหนึ่งการสังเกตการณ์ต่อเกมและพอดีกับโมเดลที่แยกกันต่อส่วนของเวลาหรือไม่? การถดถอยของโลจิสติกเป็นวิธีที่ถูกต้องหรือไม่

ความช่วยเหลือใด ๆ ที่คุณสามารถให้จะได้รับการชื่นชมอย่างมาก!

ขอแสดงความนับถืออย่างสูง.


คำถามยาก! ฉันเดาว่ามันจะช่วยให้รู้มากกว่าที่ฉันทำเกี่ยวกับกระบวนการนับ (และมากกว่าที่ Wikipedia ทำ: en.wikipedia.org/wiki/Counting_process )
onestop

คุณมีโอกาสเข้าถึงวารสาร ASA หรือไม่ ดูเหมือนว่ามีบทความที่เกี่ยวข้องปรากฏในปีที่แล้วหรือไม่ว่าจะเกี่ยวกับฮอกกี้หรือกีฬาอื่น
rolando2

ฉันพยายามที่จะปฏิรูปปัญหา (เพื่อกระตุ้นการสนทนา?): สมมติว่าเรามีสถานะที่ไม่ต่อเนื่องในเกม (เช่นในโอเอกซ์) ตอนนี้มันมีเหตุผลที่จะสร้างหนึ่งรูปแบบต่อรัฐ (อาจใช้การถดถอยโลจิสติก) เพื่อทำนายผล ตอนนี้ที่นี่เรามีเกมด้วย แต่มีสถานะต่อเนื่อง (เช่นเวลาเล่นเกม) คำถามของ OP คือ: วิธี a) แยกเวลาออกเป็นรัฐ จำกัด หรือ b) วิธีสร้างแบบจำลองที่มีพารามิเตอร์แตกต่างกันไปขึ้นอยู่กับ (!) ในเวลาเล่นเกมปัจจุบัน จะต้องมีใครบางคนที่ได้แก้ปัญหา "ทั่วไป" นี้แล้ว
steffen

คำตอบ:


9

ทำการถดถอยโลจิสติกกับเพื่อนร่วมทีม "เวลาเล่น" และ "เป้าหมาย (ทีมเหย้า) - เป้าหมาย (ทีมเยือน)" คุณจะต้องมีเอฟเฟกต์การโต้ตอบของข้อกำหนดเหล่านี้เนื่องจากการนำไปสู่ ​​2 ประตูในครึ่งเวลาจะมีผลที่เล็กกว่ามากกว่าเป้าหมายที่ 2 นำโดยเหลือเวลาเพียง 1 นาที คำตอบของคุณคือ "ชัยชนะ (ทีมเจ้าบ้าน)"

อย่าเพียง แต่คิดเชิงเส้นนี้พอดีกับรูปแบบที่แตกต่างกันได้อย่างราบรื่นค่าสัมประสิทธิ์สำหรับผลของการ "เป้าหมาย (ทีมบ้าน) - เป้าหมาย (ทีมเยือน)" เช่นใน R คุณสามารถใช้mgcvของฟังก์ชั่นด้วยสูตรรูปแบบเช่นgam win_home ~ s(time_remaining, by=lead_home)ให้ lead_homeเข้ามาเป็นปัจจัยเพื่อที่คุณจะได้รับผลกระทบที่แตกต่างกันสำหรับค่าของทุกtime_remaininglead_home

ฉันจะสร้างการสังเกตหลายครั้งต่อเกมหนึ่งครั้งสำหรับทุกช่วงเวลาที่คุณสนใจ


ที่ดี! ขอบคุณสำหรับความช่วยเหลือ ฉันจะใช้ R และจะตั้งค่าข้อมูลที่คล้ายกับที่คุณแนะนำเอฟเฟกต์การโต้ตอบและทั้งหมด ดีใจที่ได้เห็นฉันอยู่ในเส้นทางที่ถูกต้องและฉันชอบเวลาของคุณมาก
Btibert3

1
ระวังด้วยความไม่เป็นอิสระที่เกิดจากการรวมเวลาหลายชิ้น แบบจำลองเอฟเฟกต์แบบหลายระดับสามารถช่วยได้
Eduardo Leoni

1
@ Eduardo: ฉันยอมรับว่าการพึ่งพานั้นไม่ได้เป็นแบบอย่างและนี่เป็นปัญหาค่อนข้างมากขอบคุณที่ชี้ให้เห็น ฉันไม่แน่ใจว่าเอฟเฟกต์แบบสุ่มจะช่วยได้อย่างไร - เนื่องจากผลลัพธ์แบบไบนารีwin_homeนั้นคงที่ในระดับของการจัดกลุ่ม (เช่นสำหรับการแบ่งเวลาทุกครั้งสำหรับการแข่งขันที่กำหนดให้เป็น 0 หรือ 1) รวมถึงเช่นการสกัดกั้นแบบสุ่มสำหรับการแข่งขัน จะส่งผลให้เกิดปัญหาใหญ่กับการแยกในบริบทนี้
fabians

คุณอาจต้องการพิจารณารวมถึงพารามิเตอร์สำหรับคะแนนรวมของเป้าหมายด้วยเนื่องจากโอกาสในการขายให้ได้มากขึ้นในเกมที่ทำคะแนนสูงได้ง่ายขึ้น
James

6

ฉันจะเริ่มจำลองข้อมูลจากแบบจำลองของเล่น สิ่งที่ต้องการ:

n.games <- 1000
n.slices <- 90

score.away <- score.home <- matrix(0, ncol=n.slices, nrow=n.games)

for (j in 2:n.slices) {
  score.home[ ,j] <- score.home[ , j-1] + (runif(n.games)>.97)
  score.away[ ,j] <- score.away[ , j-1] + (runif(n.games)>.98)
}

ตอนนี้เรามีสิ่งที่จะเล่นกับ คุณสามารถใช้ข้อมูลดิบ แต่ฉันพบว่าการจำลองข้อมูลมีประโยชน์มากในการคิดสิ่งต่าง ๆ

ต่อไปฉันจะทำพล็อตข้อมูลนั่นคือเวลาวางแผนของเกมเมื่อเทียบกับบ้านนำโดยมีระดับสีที่สอดคล้องกับความน่าจะเป็นที่สังเกตได้จากการชนะ

score.dif <- score.home-score.away

windf <- data.frame(game=1:n.games, win=score.home[ , n.slices] > score.away[, n.slices])

library(reshape)
library(ggplot2)

dnow <- melt(score.dif)
names(dnow) <- c('game', 'time', 'dif')
dnow <- merge(dnow, windf)

res <- ddply(dnow, c('time', 'dif'), function(x) c(pwin=sum(x$win)/nrow(x)))

qplot(time, dif, fill=pwin, data=res, geom='tile') + scale_color_gradient2() 

สิ่งนี้จะช่วยคุณค้นหาการสนับสนุนข้อมูลของคุณและให้ความเห็นที่เป็นไปได้เกี่ยวกับความน่าจะเป็น

พล็อต


1

ตรวจสอบข้อมูลสถิติที่Football ภายนอกและหนังสือMathleticsสำหรับแรงบันดาลใจบางอย่าง

พวกคนนอกฟุตบอลทำการทำนายเกมโดยอ้างอิงจากการเล่นทุกครั้งในเกมฟุตบอล

Winston in Mathletics ใช้เทคนิคบางอย่างเช่นการเขียนโปรแกรมแบบไดนามิกเช่นกัน

คุณสามารถพิจารณาอัลกอริธึมอื่น ๆ เช่น SVM

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.