Upgrade to Pro — share decks privately, control downloads, hide ads and more …

北海道日本ハムファイターズ連覇の可能性をPythonとデータで考えてみる #bpstudy

2c0947c6a28e7f771ebd9859ecf54e5c?s=47 Shinichi Nakagawa
March 28, 2017
770

北海道日本ハムファイターズ連覇の可能性をPythonとデータで考えてみる #bpstudy

Baseball Play Study 2017 NPB開幕直前SP登壇資料

Re:Dashとデータでホークスの倒し方を考察してみた

#python #redash #scrapy #sabrmetrics #野球統計学

2c0947c6a28e7f771ebd9859ecf54e5c?s=128

Shinichi Nakagawa

March 28, 2017
Tweet

Transcript

  1. ๺ւಓ೔ຊϋϜϑΝΠλʔζ࿈೼ͷ ՄೳੑΛPythonͱσʔλͰߟ͑ͯΈΔ ʙ·ͨ͸ɺ෱ԬιϑτόϯΫϗʔΫεͷ౗͠ํʙ Shinichi Nakagawa(Retty.Inc Engineer/Baseball Analyst) Baseball Play Study

    2017 NPB։ນ௚લSP(BPStudy #115)
  2. Who am I ? • Shinichi Nakagawa(@shinyorke) • Retty. Inc

    Engineer/ڕྉཧ୲౰ • ໺ٿͷਓ,ʮ໺ٿ PythonʯͰݕࡧʂ • ໺ٿ౷ܭֶ͕େ޷෺ • ೔ϋϜ/ΞεϨνοΫε/தౡ୎໵/Ԭେւ/ϏϦʔɾϏʔϯ • ʲϒϩάʳ໺ٿ޷͖͕౷ܭֶΛ֮͑ΔҝͷֶशϑϩʔΛ࡞ͬͯΈ·ͨ͠
 http://shinyorke.hatenablog.com/entry/yakyu-toukeigaku-manabou
  3. Starting member • σʔλΛूΊͯՄࢹԽ͢Δ(scrapy&Re:Dash) • 2016೥ύɾϦʔά;Γ͔͑Γ(σʔλͰ) • ೔ϋϜ͕ϗʔΫεΛ౗ͨ͢Ίʹ΍Δ΂͖͜ͱ • ·ͱΊ

  4. σʔλΛूΊΔɾՄࢹԽ͢Δ

  5. ࠓճ࡞ͬͨ͘͠Έ ͔ͳΓγϯϓϧͰ͢

  6. ෼ੳ(Re:Dash Query) εΫϨΠϐϯάͨ݁͠ՌΛ஍ಓʹQueryॻ͍ͯ΍ͬͯ·͢w

  7. ՄࢹԽ(Re:DashμογϡϘʔυ) άϥϑͰಡΊΔ&εέδϡʔϥͰఆظߋ৽΋ΠέΔ͓

  8. (ITษڧձͬΆ͍)ղઆ • PythonϝΠϯͷΤίγεςϜͰߏங • ScrapyͰ๭WebαΠτઐ༻ͷΫϩʔϥʔΛ࡞੒ • Scrapyͷitem pipelineͰMySQLʹσʔλΛૠೖ • ૠೖͨ͠σʔλΛRe:Dashʹܨ͍Ͱ෼ੳ&ՄࢹԽ

    • ৄ͘͠͸PyCon mini Kumamoto 2017Ͱൃද͠·͢ʂ
  9. 2016೥ύɾϦʔά;Γ͔͑Γ
 (σʔλΛத৺ʹ)

  10. 2016೥;Γ͔͑Γϧʔϧ • ҎԼͷ৚݅ʹ֘౰͢ΔબखΛϐοΫΞοϓ • 1܉Ͱ50ଧ੮Ҏ্ग़৔ͨ͠໺ख • ಉ͘͡,1܉Ͱ30ΠχϯάҎ্౤͛ͨ౤ख • େ୩ᠳฏ͸໺खɾ౤ख྆ํͰΧ΢ϯτ •

    ୀஂͨ͠બख(ཅଲ߯,৿෱ͳͲ)͸֎ͨ͠ • ଧऀ͸RC27,౤ख͸DIPS(FIP)ͰύϑΥʔϚϯεΛධՁ • ߋʹ೥เͱͷֻ͚߹ΘͤͰ܏޲΋ܰ͘νΣοΫ
  11. RC27(Run Created / 27outs) • RC(Run Created)Λ27Ξ΢τ(≒Ұࢼ߹෼)ʹ׳Βͨ͠ࢦඪ • “9ਓେ୩ͷଧઢ VS

    9ਓΪʔλͷଧઢͲ͕ͬͪڧ͍?”
 తͳ໰୊Λղ͘ʹଧ͚ͬͯͭͷࢦඪ • RC27 =((ग़ྥೳྗA × ਐྥೳྗB) / ग़ྥػձC) / 27outs
 ※େࡶ೺ͳࣜͷߏ଄ • ৄ͍ࣜ͠ɾߟ͑ํ͸ηΠόʔϝτϦΫεຊ΋͘͠͸άάΕ.
  12. RC27(೔ϋϜVSϗʔΫε) ϗʔΫε͕উͬͯΔ,աڈࡾ೥ؒਪҠ΋ͦΜͳײ͡ 2014೥͚ͩউͬͯΔͷ͸एׯṖ

  13. RC27ϕʔεͷ౤ࢿରޮՌ&બख੒੷ 1RC27͋ͨΓͷίετ͸ϗʔΫεͷ΄͏͕ߴ͍͔ͭ೔ϋϜͷഒۙ͘ ϥϯΩϯά͸େ୩ᠳฏͱ༄ా༔ذͷܼग़౓͕Ϡό͍(খฒײ)

  14. DIPS(FIP) • “౤ख͸ୣࡾৼɾ࢛ٿɾ௕ଧ,໺ख͸ΠϯϓϨʔʹ੹೚Λ”
 ͜ͷ֓೦ΛDIPS(σΟʔΞΠϐʔΤε)ͱݺͿ • DIPS͸֓೦Ͱ͋ΓࢦඪͰ͸ͳ͍,࣮ࡍ͸ҎԼͷࢦඪͰධՁ • FIP(xFIP) • tERA,etc…

    • ࠓճ͸σʔλͷ౎߹্,FIP(֓ࢉ஋)Λ࢖༻
 ˞ิਖ਼஋Λ3.12ݻఆ,ܟԕ࢛ٿͷߟྀͳ͠
  15. FIPͱίετ(೔ϋϜVSϗʔΫε) FIP͸೔ϋϜ͕ѹ౗తʹ͍͍,ϗʔΫε͸ٿ৔(ςϥε)ͰଛΛ͍ͯͦ͠͏ Πχϯά౰ͨΓͷίετ͸ϗʔΫεߴਿ͍ʂʂʂ

  16. σʔλͰΘ͔ͬͨ͜ͱ • ೔ϋϜͷ౤खਞ͸҆ఆ͍ͯ͠Δ(FIPϕʔεͰ) • ϗʔΫεͷ߈ܸྗ͸Ϡό͍(RC27ϕʔεͰ) • ౤ࢿରޮՌ͸ѹ౗తʹ೔ϋϜ͕ྑͦ͞͏ • ϗʔΫε͸ΨοπϦ౤ࢿͯ͠উͪʹߦͬͯΔ

  17. ೔ϋϜ͕ϗʔΫεΛ౗͢ʹ͸?

  18. ϗʔΫεΛ౗͢ํ๏ • ໺ख(ଧઢ) • ೋྥͷ߈ܸྗΛ্͛Δ(ࠩΛ޿͛Δ) • ҰྥͱDHͷ߈ܸྗͰϗʔΫεʹෛ͚ͳ͍ • ౤ख(कඋ) •

    தܧ͗ͷӡ༻Λ޻෉͢Δ • ֎໺ͷकඋྗΛ׆͔͢
  19. ϗʔΫεΛ౗͢ᶃʮଧܸʯ • ϗʔΫε͸ೋྥख͕ऑ఺ • ߈कڞʹϗʔΫε͸ೋྥख͕ෆࡏ • ϋϜ͸ాத݈հ+OPઓઈ޷ௐԣඌढ़ݐͷى༻͕ΧΪ • ҰྥͱDH͸ϗʔΫεͱޓ֯ʹ΍ΕΔ •

    ᠳ͞Μ͸γʔζϯऴྃޙFA(ݟࠐΈ),࠷ޙؤுΔ΍Ζ(֬৴) • େ୩ᠳฏͷDHग़৔ػձ૿͕ͳʹ͛ʹΧΪ
  20. ϗʔΫεΛ౗͢ᶄʮ౤खɾकඋʯ • தܧ͗ͷӡ༻Λ޻෉͢Δ • ઌൃਞͰ͸ϗʔΫεʹউͯͳ͍ͷͰதܧ͕͗ॏཁ • (ύϑΥʔϚϯεΛग़ͤΔͳΒ)૿Ҫߒढ़ͷதܧ͗෮ؼ͸ਖ਼ղ • 伴୩ཅฏͱനଜ໌߂ͷ੒௕ͱ෮׆͕ΧΪ •

    ֎໺ͷकඋྗͰࠩΛ͚ͭΔ • ϗʔΫε͸FIP͕ѱׂ͍ʹ֎໺कඋ͕एׯո͍͠.
 ͤΊͯΪʔλΛϥΠτʹճͤͨΒ…! • ੢઒ངًɾԬେւʹଓ͘޷कͷ֎໺ख͕ग़ͨΒࣦ఺ࠩͰউͯΔʂ
  21. ·ͱΊ • ͦΒʢϗʔΫε͸͓ۚΛ͍࣋ͬͯͯ߈ܸྗ͕͋ͬͯʣ
 ͦ͏ʢ೔ϋϜ͸૑ҙ޻෉ͱकඋͰউͪʹߦ͘ʹʣ
 Αɹʢܾ·͍ͬͯΔ͡Όͳ͍͔ʣ • ೔ϋϜ͸༗རϙδγϣϯͷೋྥͱதܧ͗Ͱ೪Ε͹࿈೼ߦ͚ͦ͏ • ϗʔΫε͸ઌൃͰࠩΛ͚ͭΔͱಉ࣌ʹ֎໺कඋͷվળΛ •

    ፰߅ͨ͠ͱ͖͸ҰྥͱDHͷࠩͰܾ·Γͦ͏ • ଞͷύɾϦʔά4ٿஂ͸…ΠΩϩ
  22. એ఻(ͪΐͬͱ͚ͩ) • Retty͸໺ٿͱPythonʹʮ͔ͳΓʯຊؾͰ͢ʂ • ػցֶश΋͘΋͘ձ,Python΋͘΋͘ձ΋͍ͣΕ΍ΔΑʂ • ໺ٿ޷͖αʔΫϧͷSlackνϟϯωϧ͋ΔΑʂ • Πϕϯτεϖʔε(50ʙ100ਓऩ༰)ͰύϒϦοΫϏϡʔΠϯά •

    ໺ٿ؍ઓΠϕϯτͱ͔,ͳΜͩͬͨΒσʔλ෼ੳձ΋΍ΔΑ?
 ※ݸਓͷݟղͰ͢
  23. (ϫΠͷνʔϜʹ)͓଴͍ͪͯ͠·͢m(__)m Ϣʔβʔ͞Μͱ͓ళ͞ΜͷHappyΛͭ͘ΔPython࢖͍ืूʂ https://www.wantedly.com/projects/93896

  24. ήʔϜηοτʂʂʂ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠&ࠓ೥΋೔ϋϜ೔ຊҰ΍Ͱʂ Shinichi Nakagawa(Twitter/Facebook/hatena:@shinyorke)