• 締切済み

当りを予想するシミュレーション方法について

はじめまして 現在、オートレースの予想ソフトをExcelで作成しています。 相談内容は、当りを予想するシミュレーション方法についてです。下記に詳細を記述します。 1、本予想ソフトは、過去のレースデータ(約1万件)のデータを元に予想します。 2、予想方法は、各項目に対して一着率の高い順にポイント化し、各項目の合計が一番高い   順に着順を予想します。 3、項目は約15項目です。 4、15項目の1項目毎にレベルがついています。(-50~50) 5、レベルの調整により、各項目の重視レベルを変更できます。   (数値が高ければその項目のポイント値の割合が増える) 6、過去のレース(一万件)を上記の内容を元にシミュレートします。 7、シミュレートした結果を元に15項目のレベルを調整し、各項目のレベル調整を行います。 そこで質問ですが、15項目のレベル100段階(-50~50)をシミュレートし最適な各項目の 設定値を探るには、膨大な時間が掛かります。 最適な設定値を早く見つけ出す方法はありますか?

みんなの回答

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

ボトルネックをハッキリさせて下さい。 今時、メモリ上での1万データくらいの計算は1秒掛かりません。 Excel のオブジェクトにアクセスする事自体が非常に重いので、 そこで時間を食っているなら Excel へのアクセスを減らす 事です。究極を言えば Excel を使わない事です。 計算ステップ数が多くて時間が掛かっているなら、計算アルゴリズム 自体を見直して下さい。ループで単純に全通り計算するのではなく、 最適解に早く辿り着くような手順を考えるとか、可能性の薄いデータ を間引くとか。過去の実行結果を基準にその周辺から探すとか。

  • f272
  • ベストアンサー率46% (8477/18147)
回答No.1

エクセルで作ろうとしているんなら,どのセルに何を入れて,何を求めたいのかを書いてくれないかな? 全然やりたいことが分からないよ。

AutoRacer
質問者

補足

早速の入力ありがとうございます。 詳細を記述させていただきます。 ExcelのVBAを使い計算処理をしています。 例えば     A      B     C      D     E     F   試走Time ハンデ 走路温度 走路状況 レース場 合計 1   50     30    25     40     55    200 2   45     40    30     50     25    190 3   30     35    50     20     15    150 :    :     :     :      :      :     : 一番左の数字はレーサーの人数です。(レーサーは1レース8人で行います) Pointは各項目に対しての1着率をPoint化しています。 (Pointは1~100の数値で指定) 1レースをPoint化するのに約10秒掛かります。 このように各項目に対しポイントを付け、合計値の一番高い人が有力と判断する仕組みです。 その仕組みで、過去のレースを振り返り、当たるかどうかを検証し、当選確率を計算します。 しかしながら、全ての項目(列)を均等にPoint化しても確立はあまりよくなりません。 そこで、項目のPoint値を変動できるようにレベル化します。 例 Racer1の試走Timeの[50]ポイントを重視したい場合、レベルの調整(%)で上下できるようにする。(50Pointの25%アップで62.5Pointのように。) そして、再度過去のレースを検証します。 レベルの調整を行い、過去のレース結果を元に、各項目のレベルがどの数値になれば一番当選確率が高いのかを導き出したいのですが。 1レース10秒×10000件 さらにそのレベル検証となり、処理時間は膨大です。 いち早く最適なレベル設定を探る方法は無いでしょうか? ご理解いただけましたでしょうか? (それとも私の考えはおかしいかな?)

関連するQ&A

専門家に質問してみよう