<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>混合モデル on Solving Baseball Blog</title><link>https://ghl-ball.github.io/solving-baseball/tags/%E6%B7%B7%E5%90%88%E3%83%A2%E3%83%87%E3%83%AB/</link><description>Recent content in 混合モデル on Solving Baseball Blog</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Tue, 06 May 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://ghl-ball.github.io/solving-baseball/tags/%E6%B7%B7%E5%90%88%E3%83%A2%E3%83%87%E3%83%AB/index.xml" rel="self" type="application/rss+xml"/><item><title>CSAA: Baseball Prospectus</title><link>https://ghl-ball.github.io/solving-baseball/breakdown/csaa/</link><pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate><guid>https://ghl-ball.github.io/solving-baseball/breakdown/csaa/</guid><description>&lt;h2 id="baseball-prospectus-csaaver1解説"&gt;Baseball Prospectus CSAA（ver.1）解説
&lt;/h2&gt;&lt;p&gt;捕手のフレーミング評価は野球分析の中では比較的単純で、期待されるストライク率（数）と比較して当該捕手がどの程度ストライクを増やしたかを算出するだけです。この大まかな枠組みはWOWYの時代から各投球座標にアクセスできる現代まで変わってはいませんし、これからも変わることはないでしょう。&lt;/p&gt;
&lt;p&gt;今回は、そのストライク獲得貢献の推定について、Baseball Prospectusの手法をなぞっていけば、少し野球に詳しくなれると思うのでやっていきます。&lt;/p&gt;
&lt;h3 id="貢献とは誤差"&gt;貢献とは誤差
&lt;/h3&gt;&lt;p&gt;野球ファンの100%がご存じであるように、“理論上は”ストライク判定率は投球座標で決まります。公認野球規則にもそのような記述があるはずです。&lt;/p&gt;
&lt;p&gt;ただ、“実際の”ストライク判定率は投球座標“だけ”で説明できないのも野球ファンの99%はご存じであると思います。&lt;/p&gt;
&lt;p&gt;その『誤差』が捕手のフレーミング貢献ですが、当然その誤差を生み出したのは捕手のみではありません。その誤差を各要素に適切に分配することが、捕手のフレーミング貢献の精度向上にも不可欠であることも理解いただけると思います。&lt;/p&gt;
&lt;p&gt;投球座標のみで説明できない誤差と一口に言っても、その誤差にもタイプがあります。ここでは大まかに2つに分けます。&lt;/p&gt;
&lt;h3 id="固定効果"&gt;固定効果
&lt;/h3&gt;&lt;p&gt;例えばイニングの表裏。
ホームチームが守備をするイニングの表と攻撃をするイニングの裏ではストライク確率に“違い”が生じます。&lt;/p&gt;
&lt;p&gt;イメージとしては“違い”を明示したい要素です。野球的には他にはピッチカウント、打者や投手の利き手とかですかね。&lt;/p&gt;
&lt;p&gt;普通の線形回帰の説明変数が固定効果という認識でも大丈夫です。&lt;/p&gt;
&lt;h3 id="ランダム変量効果"&gt;ランダム（変量）効果
&lt;/h3&gt;&lt;p&gt;ここからが肝です。&lt;/p&gt;
&lt;p&gt;例えば球審。
MLBでは1シーズンで100人ほどの審判が球審を担当します。この球審というグループの中で各球審のストライク判定率には“ブレ”が生じています。&lt;/p&gt;
&lt;p&gt;イメージとしては個体差が存在している集団です。野球的には他には投手や打者といったところでしょう。&lt;/p&gt;
&lt;p&gt;普通の線形回帰の変数とは違い、それぞれを集団に属する（母集団の傾向から）ブレを持った個体として扱います。&lt;/p&gt;
&lt;p&gt;このタイプ分けがサンプルサイズの異なる変数が互いに絡み合う野球において重要になってきます。&lt;/p&gt;
&lt;h3 id="ランダム効果の特性とglmmの役割"&gt;ランダム効果の特性とGLMMの役割
&lt;/h3&gt;&lt;p&gt;Baseball Prospectusは、誤差を各要素に分配するフェーズで一般化線形混合モデル（GLMM）を利用しています。GLMMではその名の通り、固定効果とランダム効果を組み合わせたモデルを構築できます。&lt;/p&gt;
&lt;p&gt;先ほども言ったとおり、野球分析でもよく見る普通の線形モデル（LM、GLM）では、各効果を独立した固定の効果として扱います。ただそれでは実務的な問題と理論的な問題が生じます。&lt;/p&gt;
&lt;p&gt;実務的な問題は、捕手100人、球審100人、投手800人、打者1000人をそれぞれ固定効果として扱うような激重モデルの運用は現実的に困難ということです。&lt;/p&gt;
&lt;p&gt;理論的な問題としては、固定効果として扱うと、言うなれば完璧な説明を遂行したがるので、それぞれの選手や審判で信頼性が異なるプロ野球において、過剰に責任を帰属してしまいます。簡単な例を挙げます。&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;捕手A　&lt;strong&gt;5000球&lt;/strong&gt;　平均 +1% のストライク確率誤差&lt;/li&gt;
&lt;li&gt;捕手B　&lt;strong&gt;2500球&lt;/strong&gt;　平均 +2% のストライク確率誤差&lt;/li&gt;
&lt;li&gt;捕手C　&lt;strong&gt;1000球&lt;/strong&gt;　平均 +5% のストライク確率誤差&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;この3選手のフレーミング貢献は本当に同じなのか？&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;固定効果として扱うと上記の『結果』を全て捕手に“そのまま”帰属します。
ただ観測される誤差には「捕手に帰属すべきか分からない」誤差も含まれています。文字通りの運や、モデルの限界や、考慮していない他の要素などです。
そしてその誤差が占める割合は傾向として、サンプルサイズの小さい捕手ほど大きくなります。&lt;/p&gt;
&lt;p&gt;GLMMでは、ランダム効果として扱うと、それぞれの捕手を捕手という（正規分布を持った）グループの中の一つの個体として扱います。
これにより、サンプルサイズが小さかったり、一貫した誤差を生み出していないような個体に対して、その分布の傾向を取り入れる量を多くすることができます。いわゆる平均への回帰が、個体に合わせて合理的に働きます。&lt;/p&gt;
&lt;p&gt;そして、LMやGLMは多重共線性への対応が上手くないというのも聞いたことがある方は多いかと思います。&lt;/p&gt;
&lt;p&gt;現実的なプロ野球のデータ構造では、それぞれを独立した変数と仮定している固定効果のみを扱ったモデルでは、各効果の推定が不安定になります。&lt;/p&gt;
&lt;p&gt;大きな共線性があるのは、例えば投手×捕手でしょう。投手の効果を推定したい場合に観測されている誤差には捕手の効果が相当割合混ざります。この時、固定効果として扱うモデルでは、完璧な説明を遂行したいがために各効果の切り分けが困難になります。&lt;/p&gt;
&lt;p&gt;ランダム効果として扱うと、各効果を母集団からのブレとして扱うので上記のような信頼性の低い誤差に対して、母集団の傾向を合理的に取り入れることができます。&lt;/p&gt;
&lt;p&gt;そして、投手より組む相手の範囲が広く、サンプルサイズも大きい、より信頼性の高い捕手の効果を投手の効果の推定に利用できる点も強みです。&lt;/p&gt;
&lt;h3 id="baseball-prospectus-csaa"&gt;Baseball Prospectus CSAA
&lt;/h3&gt;&lt;p&gt;文章ばかりで飽きてきたと思うので、モデル例を見て実感を掴んでいただければと思います。&lt;/p&gt;
&lt;p&gt;2015年のBaseball Prospectusの記事やFanGraphsでBaseball ProspectusのCSAAについての記述がある記事を参考にします。&lt;/p&gt;
&lt;p&gt;まず用意するのは、ベースとなるストライク確率です。
記事によると、投球位置、カウント、球種、球場を効果として盛り込んだPitchInfo提供のものを利用しているので以下のようになるでしょう。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ベースとなるストライク確率を算出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cs_prob_model&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; &lt;span class="nf"&gt;gam&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;cs&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="nf"&gt;s&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;relative_x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;relative_z&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;pitch_category&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;home_team&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;family&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;binomial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pitch_data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;na.action&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;na.exclude&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;投球座標を利用するストライク確率予測では、GAM（一般化加法モデル）のような交互作用や非線形性を捉えられるモデルが適しています。
実際のところは知りませんが、投球位置は相対的投球座標に、球種は合理性を失わない程度にカテゴリーとして分類しています。&lt;/p&gt;</description></item></channel></rss>