
FFT式ナンバーズ予想プログラム(C#)の概要
FFTとは、”Fast Fourier Transform” の頭文字をとった
ものです。
翻訳すると「高速フーリエ変換」という意味で、数学的解法
の一つです。
FFTの本来の目的は、ある信号波形がある一定時間に
おいて、
「どういう周波数成分をどの程度の割合で含んでいるか?」
ということを解析するものです。
私は、この解析方法を 「数字選択式宝くじ ナンバーズ3」 に応用しました。
「ナンバーズ」の各桁ごとの当選番号を 調べると、ある当選番号は周期的に出ている傾向があります。
この傾向を調べることにより 「どの当選番号がどの程度の割合」 で発生しているか?
ということを解析でき、次回の「当選番号」予測に応用するものです。
上記サイトからCSVファイルでダウンロードします。
下記画面は試作品です。(C#で作成しています。もともとC++で作成していましたが画面がMFCなので使いづらくてC#にしています。)
予想したい回号を入力して、さきほどダウンロードしたCSVファイルを選択します。
CSVファイルを読み込み、3桁に分解し、配列に格納します。
予測ボタンを押すと簡易ラベルに予想のパワースペクトルが表示されます。
強さに基づいて予測結果をソートし、最も強い(=最も次に来る可能性が高い)数字を順に表示します。

第6506回は、「511」、百の位は「5 , 1 , 4 , 9 , 6」十の位は「1 , 3 , 8 , 9 , 2」一の位は「1 , 6 , 8 , 5 , 3」のどれかと予測されます。
ある周期関数を構成している直流成分や基本波、第二次高調波、第三次高調波の振幅や周期、位相を数式で表すことができる。周期関数を構成している各成分の数式がわかるということは、次に発生する
波形の値を計算で求め予測することができるということになります。
チューニングが必要なのでこれから検証していきたいと思います。


コメント