スピード指数を改良してみる

しかし暑いですねぇ。。。
黙っていても何だか汗がしたたり落ちてまいります(´;ω;`)
そんな中でもめげずにまだまだコーディング実施中です。

いつぞやですか?
スピード指数ってどうなんやろね?って言ってたと思いますが、実は足りない要素を足せばもっと使える値に化けるのでは?ということで、、Pythonでループさせて部品となる値を作っている最中であります。
なので、前回の投稿で申したカラム要素から追加で計算用のカラムを付け足す感じです。

まぁ、中央競馬と違って地方競馬は年間出走数(同馬が違うレースにも出るから重複は勿論ある)が13万出走~14万出走ですからね。
こういうサンプリング実数を知っていると便利ですよね、その中でどうするか?を考えられます。

今から持論を申すのでこの部分はスルーで構いません。
今の私には、こういう展開だからこう「思う」という概念は無くなりました。
よくある競馬情報詐欺は元よりですが、、、。
そんなこんやだからパドックや返し馬とかだけで良く的中する人や、これは極秘の馬主情報だとか厩舎情報だとか、集めた情報が極小なのにも関わらず馬場読みからの想定ペース配分と想定展開だとかであっても、たとい当てたとてそれは一過性や刹那的であって、そのようなオカルト教祖様やら勘ピュータ教祖様程一番宛にならんのです!
むしろそういった方々の見分け方は、研究した結果のエビデンスを公表しないですからね。
なのでそういう、否、方々に肖ろうと、多額なサブスクや書籍代や情報代を支払って情報を受け取る理由が在って良い訳ないのです!!
ひろゆき的文言に例えるなら、それってエビデンスあるのですか?それって個人の感想ですよね?と言った具合。
私はそのような理由で、経験を積んだ持ち前の勝負勘や、他責思考の強い情報などとはそもそも研究するアプローチが全く逆なのです。
先ず他責思考なんてあってはならんことだし、何の意味をも持たない、それこそひろゆきで言うところの個人の感想でしかない訳です。
そんな読書感想文なんかに大事なお金は払えませんよ(苦笑)
経験なんつーのは、コンピュータにロジック覚えさせた上で、AIでシュミュレートさせればいいんです。
どなたかと言えませんけど、それがギャグならともかく真面目に「自分にはここ(頭を指して)にデータがある」とか平然と息を吐くように嘯けるのが私には俄かに信じられません。
ここまで来ると帯封的中して脳汁分泌というより、救われない脳内お花畑です。
逆にそういった方々を崇めて信奉するでも、証跡(エビデンス)となる、サンプル14万件×年数からの実績データを取れて且つ、その根拠を説明できるのなら何の問題はありません。
そこまで出来るなら、最早オカルトと言えなくなるからです。
そうこう突き詰めても外すのなら、それはもう仕様が無い事だと笑って諦めもつきようものです(苦笑)
一つ自己否定を申すと、占い的要素(六星占星術とかバイオリズムとか)は取り入れない事にしました。
いや、算出方法は物凄く簡単です。
しかしながら年間や多年データを取っても不確定要素色が強い、スピ系オカルトと言っても良い所ですから。
そう思うと引き寄せの法則とか含めて未だに競馬系youtuberとかでも、そんなことやってる方々もいるのねwww
そもそもギャンブルの的中自体が海千山千なのに、判例が少なく根拠ない情報を垂れ流すのは全く持って頂けません。
それでも一応、取捨保留でオッズ断層や馬番配置は残しますが。。。
(まさかの胴元陰謀論残す??w)

このパートで一番言いたいことは、そういう眉唾なオカルト情報には騙されないでくださいね!という事です。
お金出した分自身を納得させるべく、信じるしかなくてそこから抜け出せないスパイラルに陥ります。
レースが近づくに際し「きっとそうであろう→そう思うよ同意する」と不安から考えが変化するのは、オカルト発信者の思い描いた読書感想文の術中に嵌っています。
それが例え無料の情報であったとしても、良いとは言えません。
オカルト情報信奉者目当てで「無料なんだから外れても責任持てんよ」という言い訳が成立しますしね。(それに有料級と言うサムネ煽りw)
オカルト発信者達は、外した言い訳なんて幾らでも出来るし、口八丁手八丁で幾らでも逃げ通せる訳です。
正に百害あって一利なし、なので客観的な視点と大枚叩いたその情報だけで本当に大丈夫なのか?今一度疑いの目を持ちましょう。
どうせならその大枚を研究代にして、突き詰めた上で納得行く勝ちパターンを自分で編み出して門外不出位が丁度いいと思いますよw

独りで盛り上がっていてすみません(;^_^A
ぶっちゃけると昔騙されたクチとも言えますが。
さて、、冷静になって本題戻ります。

肝心のサンプルの取り扱いですが。
極論ですけど、西田式の時代でこんなのに一々電卓叩いて計算していたら即脳死レベルです(笑)
Excelなんかでも最大14万件の複数検索条件付きデータの指数算出なんてVBA処理で何とかレベルで、関数処理なんて無理ですよw
タダでさえアプリのオーバヘッドや、数列や文字列の長さ表示や、文字コード変換問題があるのにね。
netkeibaとかもここは自動処理しているでしょう。

計算ロジックについて。
馬場指数の算出の中で、数年単位のレンジを取って平均値計算するとか、これはすごーーく間違っていると思ったので(何しろ去年の大井みたく、ダートの砂質が変わるとかあるし)、「1年単位」で平均値を取ることにしています。
部品を作る上での技術的な部分で言えば、今の所、、lamdaの派生型if/elifなんかのdf.applyで値を代入すれば、、それぞれのクラス分け(C1、B1、未勝利、Jpn2などなど)の基準タイム算出とかちゃんと求められるようになりました。
lamda x:xみたく1行一発回答処理は、値を求める検索要素が多すぎて無理っす、使えまへん。
そんな時コード作るのに当って、Copilot先生のご教授様様でした(人''▽`)

例として挙げるなら以下の様なコードになります。
1行毎に平均値が適用されるようなコードになります。
elifで次に算出したい処理とかを追加します。
複雑な処理を継ぎ足す場合はご参考の程に。
しかしあくまで一例ですので、実際のコーディングに落とし込むには「自力の検索力」を培いましょう!!

## [Python] ##
import pandas as pd

# defineはループ内でもコード中埋め込みで大丈夫です。
# rowつまり行毎の処理です。
# mean()は平均値を求めるという関数。
def value(row):
   if (row['距離'] == 1000) and (row['走破タイム'] != ''):
      return round(df['走破タイム'].mean(), 1)
   elif ....

# returnの値を['平均値']カラムへ適用する。
# axis=1で行毎にという意味です。
df['平均値'] = df.apply(value, axis=1)

コードの省スペース化も行いたい所なのですけど、、何か値を求める処理件数が何個もあると、どうしてもダブりが発生してしまい、上手くコードの圧縮化に繋がらないのですよね。。。
デグレが怖いくらいにソースコードがえらい行数になっております。
必然的に実行時にソコソコの処理時間が掛かります。
※結局再回帰数が多過ぎてエラーが出ました。
一時的に以下の設定で回避出来るようだが、やってみたけどダメだったので、ロジックより物理的な問題なのだろう。

"""
私は実数増やしても同じエラーで実行できないです。
なので、連続で実施する検索要素の処理数を減らしました。
トライアンドエラーだなぁ。。。
"""

import sys

# 一旦再回帰数を増やす、デフォルト値は1000らしい。
sys.setrecursionlimit(2000)

さて、風の検索要素やらペースの検索要素なども取り入れられるし、標準化すれば良い感じかも知れませんね。

但し、、ですけど。
機械学習も勉強中だし、、データ加工中だけど、追記もしておかないとな。。。
勉強中なので極めて短絡的なアプローチでしかモノが言えませんが。。。
そう、大方で思われるのが果たして役に立つ要素なの?です。
もっと言うと、クラス分けや馬場指数、脚質等についてのデータサンプリングの不均衡判定が必要ですよね。
これが無いと信頼できる正答率が求められなくなることも承知しております。
スピード指数に追加する判定要素を増やすのは良いけど、異常性まで極めて信頼できる正常性と判定されてしまっては、せっかく頑張って要素を足しても意味が無いですもんね。
ここは慎重にトライアンドエラーしながら取捨が必要でしょう。(勿論レシオとか色々検討を諸々含めての指数変換:ペースとか脚質とかが必要と言えるわけですよね。)
そういう試行錯誤と言う意味でもデータサイエンティスト学習って面白いと思っています。
何にせよビジネスには直結する潰しの利く分野ですしね!

そういや、WindowsPCでシステムダウンが多発中らしいですね。
どうやらセキュリティソフトアップデート後の問題らしいです。
昔からそんなことありましたね。
Windows標準のセキュリティで良いと思うのだが、、企業ベースじゃそうはいかないよね(苦笑)
関係ないと思うけど、テキストエディタ使用中にVSCがフリーズっぽい変な動きしてた気がするw
ネットとは繋がってたので、GitHubのリポジトリ更新とかで影響は浅からも遠からずかなぁ?(ホストに足を引っ張られる事もある)

そんなこんなで、又です!!


この記事が気に入ったらサポートをしてみませんか?