本文へ移動
  1. ホーム
  2. コラム
  3. データ分析・統計・過去検証

データ分析・統計・過去検証

欠損をゼロとして集計しない方法

競馬の欠損データは、未取得、未公表、項目の対象外、実績がない状態を分けて扱います。空欄を全てゼロへ置き換えると、馬体重の平均や勝率、指数の順位が本来とは別の意味になります。数値と欠損理由を別に保存し、集計の分母、取得できた割合、除外後に残った対象まで確認しましょう。

読む時間の目安:約11分

欠損をゼロとして集計しない方法をテーマにした競馬コラムのAI生成イメージ
記事のテーマに合わせてAIで制作したイメージです。実在の競走馬・騎手、コースや施設の実景、実際のレース結果を示すものではありません。

空欄の見た目より意味を先に分類する

競馬の表に空欄があっても、全て同じ理由とは限りません。まだ発表されていない、取得に失敗した、元の資料に項目がない、経験がないため数値を定義できない、という異なる状態が考えられます。

見た目が同じだからゼロを入れると、情報がないことを測定結果がゼロだったことへ変えてしまいます。まず元の資料を確認し、分かる理由を別の欄へ残します。確認できない理由を都合よく未経験へ分類しないようにします。

数値の欠損と、確認できたゼロを区別することが入口です。記録には値だけでなく、取得時点と出所、状態を付けます。空欄を埋めて表を完成させることより、何が分からない資料かを明らかにすることが重要です。

確認先:JRA|公式競走情報・確定結果

未取得と実績なしを同じ値へまとめない

あるコースでの成績が見つからない場合、未出走なのか、その資料の収録範囲外なのか、検索や取得の問題なのかを確認します。表示がないことだけで、その馬が一度も経験していないという事実にはできません。

対象範囲を決めてゼロを使う

対象期間とコースを完全に調べ、出走がなかったと確認できたなら、その範囲の出走数ゼロを保存できます。ただし勝率は分母ゼロなので、零パーセントという実測の率にはしません。未経験と十回走って未勝利は別です。

十出走で勝ち数ゼロなら、定義した範囲の勝率は零です。二つを同じゼロへまとめると、経験のない馬が十回負けた馬と同じ成績に見えます。出走数、勝ち数、率が定義できるかという状態を別々に残してください。

確認先:JRA|公式競走情報・確定結果

欠損を表す値は実数のゼロとは異なる

Rの公式マニュアルは、得られない値を示すNAと、数値計算で定義できないNaNを説明しています。NAはゼロという数値ではなく、情報が利用できないことを表す印です。使用する道具でも同じ意味を確認してください。

表計算の空白、文字のハイフン、データベースの欠損、プログラム上の特別な値は、表示が似ていても処理が同じとは限りません。読み込んだ時に自動でゼロへ変換されていないか、少数の記録を元の表と照合します。

Rの例では欠損の検出にis.naを用い、NAとの単純な等号比較と区別しています。記事の目的は特定の言語の導入ではなく、欠損は普通の実数と同じに扱えないと理解することです。数値化した後も元の状態を保持します。

確認先:R公式マニュアル|欠損値NAと未定義の計算値NaN

架空例一:馬体重の空欄をゼロにした平均

第一の架空例では、三つの出走記録の馬体重が四百八十キログラム、五百キログラム、未取得とします。空欄へゼロを入れて三で割ると、平均は約三百二十六・七キログラムになります。

一方、取得できた二つだけの平均は四百九十キログラムです。ただしこれは観測できた二記録の平均で、元の三記録全体の平均が四百九十と確認されたわけではありません。三つ目の値は依然として不明です。

ゼロ補完は平均を実測の意味から変えてしまうことが、この例の要点です。未取得の体重を勝手に軽い馬と評価したり、健康や成長の診断へ使ったりしません。数字は計算用の架空設定で、実際の馬の記録ではありません。

表は左右にスクロールできます。

欠損とゼロの意味が違う架空例
項目確認できた状態扱い
馬体重480・500・未取得観測2件の平均490、3件全体は不明
出走数と勝ち数10出走0勝対象範囲の勝率0%
出走数と勝ち数0出走0勝率は分母ゼロで定義できない
指数未取得未評価として低い数値と分ける

実際の馬の測定値ではない。観測分の平均を全対象の真の値として示さない。

確認先:JRA|公式競走情報・確定結果

欠損を除けば全対象の評価になるわけではない

欠損を除外する処理は、取得できた値だけの平均を求める一つの定義にはなります。しかし欠ける理由が対象の特徴と関係していれば、残った対象が元の全体と同じ構成とは限りません。

例えば特定の年代や地方の資料だけ取得しにくい設定なら、除外後は別の年代や場へ偏る可能性があります。実際にそうなっているかを、元の件数と取得できた件数を区分別に数えて確認してください。

除外後の数字を公表する場合は、何件から何件へ減ったかを添えます。欠損を外したから正確という説明にせず、観測できた対象に限定した数字という範囲を保ちます。元の集団へ一般化するための仮定は別に必要です。

確認先:JRA|公式競走情報・確定結果

架空例二:結果が不明な二記録を負けにしない

第二の架空例では、十出走を検証対象とし、八出走の結果を取得でき、その中に二勝があった設定を考えます。残る二出走は勝敗自体が未取得です。取得分の勝率は二を八で割った二十五パーセントです。

未取得の二つをゼロ勝として全十出走で割れば二十パーセントですが、それは二つとも負けたと仮定した数字です。実際の結果はまだ分かりません。結果がないことを敗戦として保存しないようにします。

単純に全十出走の率が取り得る範囲を考えるなら、未取得が全て負けの場合の二十から、全て勝ちの場合の四十パーセントです。これは情報の不足による範囲で、信頼区間や実際の勝率の推定を示すものではありません。

確認先:JRA|公式競走情報・確定結果

取得率と成績率を別に公表する

前の架空例では十件中八件を取得できたので取得率は八十パーセントです。この八十は勝率ではなく、対象のうち結果を確認できた割合です。取得率と観測分の勝率二十五パーセントを並べると、数字の範囲が明確になります。

対象期間、総件数、取得件数、欠損件数、観測した勝ち数を一緒に保存します。観測できた件数だけを最初から全対象のように示すと、欠けている部分を読者が評価できません。区分ごとの取得の違いも確認してください。

後から不足分を取得できれば、元データの版を更新して再計算します。以前の二十五が計算誤りだったのか、取得範囲が変わったため全体の率が変わったのかを区別できるように、取得日と元の版を残すことが必要です。

別の架空の確認例で、百件中四件の欠損が全て十件しかない一つの区分に集中していたとします。全体の欠損率は四パーセントでも、その区分では四十パーセントです。全体の取得率だけでは特定の群の不足が見えないため、場や年代など必要な区分の件数も確認してください。

確認先:JRA|公式競走情報・確定結果

前走がないことと履歴が取れないことを分ける

初出走などで前走が存在しない場合と、前走はあるが自分の資料では取得できない場合では、同じ前走時計の空欄でも意味が異なります。無理にゼロ秒や順位ゼロを入れると、実在しない非常に速い時計や着順を作ってしまいます。

定義できない項目はその理由を保持する

前回の計量が確認できないなら、体重の増減をゼロとすることもできません。ゼロは前回と同じだったという意味になるからです。今回値、比較元の値、差が計算できるかを別に残します。

未経験のコースで適性の情報がない場合も、不得手を示す実績ゼロとは区別します。経験の有無と取得できた範囲を確認し、未知であることを悪い成績に置き換えないことが予想の材料を正確に読むために必要です。

確認先:R公式マニュアル|欠損値NAと未定義の計算値NaN

欠損を含む指数を最下位へ落とさない

一部の馬の指数が未取得の時、空欄をゼロへ変えて順位を付けると、未評価の馬を低評価と表示してしまう場合があります。指数の定義で欠損時の扱いが明示されているかを確認してください。

数値がある馬だけの順位なら、その範囲の順位と明示します。未取得の馬を別の区分へ置き、全出走馬を同じ条件で比較できたように見せないようにします。欠損馬が一着になった場合も、元から最下位予想だったという記録にはしません。

未評価と低評価を分けて表示することが重要です。数値がない理由を推定で補わず、取得が遅れたのか計算対象外なのかを確認します。画面の並びだけで根拠のない順位を作らないようにしてください。

確認先:JRA|公式競走情報・確定結果

平均などで補完する場合も実測とは分ける

不足値を平均などで補う方法を選ぶなら、補完した値である印と元の欠損理由を残します。平均を入れたことは新しい測定を行ったことではありません。未知の値が本当に平均だったと確認されたわけではないからです。

どの範囲の平均を使うかで結果が変わります。異なる距離や施設、年代の時計を混ぜた平均がそのまま適切とは限りません。項目の定義と単位、集団を確認し、補完の前提を示してください。

予測の検証では、後の期間を含む全データで平均などを作り、過去の時点の欠損へ戻して使うと未来の情報が混ざる可能性があります。処理の方法も探索期間で決め、確認用の期間へ適用する範囲を明示する必要があります。

確認先:JRA|公式競走情報・確定結果

結合の失敗を経験なしと誤認しない

馬の基本情報と過去結果、騎手やコースの別の表を結び付ける時、キーの形式がずれると空欄が生じる場合があります。取得元に記録がないことと、自分の結合に失敗したことは別です。

馬名の表記揺れや場の略称、日付の形式、馬番だけの一致などを点検します。結合前後の件数と一意性を確認し、一件が複数へ増えた重複も調べます。欠損をゼロへ変える前に、元の資料へ戻ることが必要です。

正しい結合キーを確認できない場合は、近い名前を推定で同じ馬へまとめないようにします。確認できた記録だけの範囲を示し、未結合の件数を別に残します。見かけ上の完成度より、追跡できる正確さを優先します。

確認先:JRA|公式競走情報・確定結果

データ状態と競走の状態を別に保存する

出走取消や競走除外、競走中止などの状態と、時計や結果の取得ができない状態を同じ欠損ラベルへまとめないようにします。前者は競走についての事実、後者は自分の資料の不足です。

例えば出走しなかった記録に通常の着順を補うことはできません。一方で出走して完走したのに時計だけが取れない場合は、出走の事実まで消す理由にはなりません。何を分母にする集計かに合わせて扱いを定義します。

払戻の取得漏れも、不的中で払戻ゼロが確認されたこととは別です。購入額と結果、返還と払戻の記録を分け、金額が不明な行を自動で損失へ計上しないようにします。収支の確定には実際の履歴の確認が必要です。

確認先:JRA|公式競走情報・確定結果

欠損処理を再現できる記録にする

集計の前に項目の定義、許容する数値、欠損の種類、除外や補完の規則を決めます。処理後の表だけでなく元の値と状態を残し、どの行へ何を行ったかを追えるようにします。規則の変更には版を付けてください。

検算では件数、取得率、値の範囲、元の資料との少数照合を確認します。欠損を除く前と後、補完前と後で結果が大きく変わるなら、その差を公表し、都合のよい版だけを選ばないことが必要です。

分からないことをゼロで分かったことにしないのが、競馬の欠損データを扱う中心です。未取得と実績なし、未評価と低評価を分け、分母と残る限界を明示すれば、集計の数字を過信せず予想の資料として使えます。

確認先:R公式マニュアル|欠損値NAと未定義の計算値NaN

よくある質問

空欄は全てゼロへ置き換えてよいですか?

未取得、未公表、対象外、経験がない状態は意味が異なります。ゼロは確認できた数値として使い、欠損理由を別に残してください。空欄をゼロへ変えると、平均や率、指数の順位が元の実測と違う意味になる場合があります。

出走数ゼロなら勝率もゼロですか?

定義した範囲で出走数がゼロと確認できても、勝率は分母ゼロで定義できません。十回出走して未勝利なら零パーセントですが、未経験とは別です。出走数、勝ち数、率が計算できる状態を分けて保存してください。

欠損を除外した平均なら全体の平均ですか?

観測できた対象だけの平均です。欠ける理由が年代や場などの特徴と関係していれば、残った群が元の全体と同じ構成とは限りません。元の件数と取得件数、除外した範囲を示し、全対象へ同じ値が確認されたように見せないでください。

平均で埋めた値は実測と同じに使えますか?

補完は仮定を置く処理で、新しい測定を行ったことではありません。元の欠損理由と補完した印を残し、どの集団の平均を使ったかを示します。将来のデータを含む平均を過去の予測へ戻して使うと情報が混ざる可能性もあるため、処理の時点を確認してください。

根拠・公式の確認先

本文の制度・用語の定義と、考察・架空例を区別しています。制度、発売、競走条件の変更は主催者の最新発表を優先してください。確認日:2026/10/25。

制作・責任者について

制作:KEIBA AI予想(文章・画像はAI支援で作成)
運営:ヨベル合同会社
サービス責任者:Makuru株式会社 代表取締役 岡田 康希

内容の誤りや公式情報の変更はお問い合わせからお知らせください。

記事の冒頭へ戻る ↑