アルゴリズムによる未来予測

 あえぎ声.xlsはありませんが、ナンバーズ3.xlsやロト6.xlsは持っています。

 

 使用しているのは乱数生成する方程式を取捨選択して進化させていくという、遺伝型アルゴリズムと呼ばれるものの一種であり、既存の技術です。新しいアプローチは全くありません(私が思いついた時には新しかったのですが、カオスの研究分野で既に発表されてしまいました)。既存の研究であり、今更研究してももう大した意味はありません(院生の学会レベルなら問題ありませんが)が、知っていると得をすることができます。

 

  1. 乱数を生成するための乱数表、または方程式を用意します。これは無限に存在します。アルゴリズムは、これらの無限に存在する方程式の中から、過去データに合う条件のものを残し、合わないものを削除していきます。
  2. その方程式には改変が加えられ、過去データと照合し結果と合うようなら残し、合わないなら削除します。
  3.  1は並行して繰り返され続け、2で作られた方程式よりも合致する場合、2の方程式に取り入れる。取り入れた方程式が合っていれば残し、合わない場合は削除する(戻す)。
  4.  2~3の繰り返し。

 このようにして作成したアルゴリズムから出力されたデータを最終的に判断するのは人、またはAI(ディープラーニング)です。

 

 『無限に存在する乱数表、または方程式』という表現に「?」となる方もいらっしゃるかもしれませんが、統計上の出現率を元に並べ替えたり、過去データから同じ並びを検索したり、過去データを元に偏差を出して数値に直接加算したり、回転板の動きに対して微積分を用いるなどをし、さらにその結果をずらすことで理論上は無限に作成が可能です。

 

 ただし、この乱数表は全て再現可能なものでなければなりません。温度を参照して作成したような、毎回結果が違うものや、真乱数は使えません。計算によって求められた疑似乱数であることが絶対条件です。

 

 これらの無限に存在する乱数表から、ある程度の周期性のあるもの(乱流には至らない程度のカオス)を残し、さらに直近で的中率が高いものに重みをつけていきます。

 こうして選別した乱数表の中からいくつかをピックアップして比較します。これらを仮に乱数表A、B、C、Dと呼びます(実際には4つではなく、50個ほどピックアップ)。AB、CD、AC、ADなど比較していき、共通する予測結果を出します(これが第1世代)。

 そうしてできたアルゴリズムによって過去データを素に予測をさせます。人間はズルをしてしまいがちですが、コンピューターには条件付けさえすれば結果を隠した状態で過去5,000回分以上のデータで参照が可能です。

 

 その結果が的中したかどうかでさらに重みをつけていきます。また、別の乱数表グループから同様に予測したデータと比較し、さらにそれを素にまた予測をし……という風に何世代か継承させていきます。予測データに基づいて、要素に順位を付けていきます。その順位をもとにさらに……と続くため、この計算に終わりはありません。砂浜で一粒の砂粒を探すようなもので、人間がやるような作業ではありませんが、寝ている間にアルゴリズムを走らせておくには最適です。無限に続きますので、キリのいいところで終わらせます。あとは人間の判断や、AIでカバーします。