こんにちは。ミルクおじさんです。
緊急事態宣言が出て、おうち時間が増える中いかがお過ごしでしょうか?
最近の興味は、最近の投稿からもお判りいただけますが、「宝くじの統計データからの予測」です。
いつもはエクセルだけで処理をしていましたが、
データサイエンスの手法(python)を取り入れてやってみようと思います。
狙いは2021年9月10日の抽選日です。
それではいってみましょう。
①エクセルによる次の数字の予測
まず、はじめに各数字の傾向線と傾向線との差を求めます。
どんな感じで行うか知りたい方は、前のサイトをご参照いただきたく思います。
その差を抽選日から一回ずつずらしてその数字の自己相関係数数を求めます。
また、ずらし日(回)の差を次の傾向線の値(データ数86で解析したら、87を入力)と足して、予想数字を求めます。
その予想数字とその差の自己相関係数は紐づいていますので、自己相関係数の高い順に予想数字を並べ替えます。
ずらし日(回)を15回分の自己相関係数を求めるた場合、15個の候補数字がでます。
各数字(ロト7では、1~7)およびボーナス数字2つに対して行います。
*予想数字が同じ数字が出現した場合は、ボーナス数字から補填いたします。
結果を示します。
![](http://milkojisan.com/wp-content/uploads/2021/09/5621deba8a18b839c7a4321764bb05e8-500x264.jpg)
②Pythonによる主成分分析とK平均法を使用してクラス分け
次にPythonによる主成分分析とK平均法を使用して、これまでのデータのクラス分けをします。
次に出現するクラスはわかりませんが、①で求めた中で一番頻度が高いクラスが出現するとします。
やり方をざっと説明します。
1)まず、データを読み込み、数字の統計量を確認します。
![](http://milkojisan.com/wp-content/uploads/2021/09/2a831ec055ed4fee4e1d0936ea40500d-500x293.jpg)
2)データフレームに数字1~7を格納し、標準化したのち主成分分析を行います。
![](http://milkojisan.com/wp-content/uploads/2021/09/ee3be1d100caf1aa771552d59c2bd436-500x76.jpg)
![](http://milkojisan.com/wp-content/uploads/2021/09/5f63f49b6b7d98988e1002a4a4f2d6d5-500x135.jpg)
3)第一主成分を横軸に示し、第二主成分を横軸に示します。
![](http://milkojisan.com/wp-content/uploads/2021/09/04f86ea9c104d100d663feb8a9a65769-500x296.jpg)
4)そして、K平均法によって、最適なクラスター数を見つけ、クラスを色分けします。
*そうすると13のクラスにわけることができました。
![](http://milkojisan.com/wp-content/uploads/2021/09/63ead695680eb0c485fa3f134844052f-500x163.jpg)
![](http://milkojisan.com/wp-content/uploads/2021/09/2839ab849d9b2c81bd86f4778e9767e3-500x217.jpg)
![](http://milkojisan.com/wp-content/uploads/2021/09/0ae7c62e50dc705df75843b104ce66cd-500x216.jpg)
5) ①で求めた数字がどのクラスに分類されるか予想してみます。
![](http://milkojisan.com/wp-content/uploads/2021/09/60275ab58ebd7cd921d15fb49998721b-500x289.jpg)
![](http://milkojisan.com/wp-content/uploads/2021/09/9d831d187199270f191b3999ca596311-500x130.jpg)
![](http://milkojisan.com/wp-content/uploads/2021/09/c64c5ece666a6407486987541305a212-500x257.jpg)
![](http://milkojisan.com/wp-content/uploads/2021/09/a402c696bf493a873c765923653c07e6-500x238.jpg)
6)予想した数字群について、どのクラスが多いか見てみます。
*クラス9が一番多いことがわかりました。あくまで予想の予想ですが、、、、。
![](http://milkojisan.com/wp-content/uploads/2021/09/7ecbec8b200a97f5b85a8a31ece4115c-500x172.jpg)
7)クラス9の範囲がどんな範囲かみてみます。
![](http://milkojisan.com/wp-content/uploads/2021/09/d3f3f00cf1a7f0b7549c20d4afc63a1b-500x166.jpg)
8)予想した数字に色をつけてみてみます。
![](http://milkojisan.com/wp-content/uploads/2021/09/9b4ccaedd1bef1dacccd44245c6b928f-500x259.jpg)
③まとめ
エクセルとPythonを使用して次週のロト7の予想をしてみました。
主にPythonは、エクセルが出した数字の妥当性検証みたいになってますが、、、。
当たるか当たらないかは神のみぞ知るです。
万が一当たらなくても恨みっこなしです。
Pythonの使い方も含めて楽しんでいただけたら幸いです。
エクセルで予想した数字の妥当性については、現在、ランダムフォレストを使用して検証中です。
ではまた。
コメント
面白く拝読しました。
一等当たると育児が楽になりますね。
是非、機械&深層学習の参考テキストなどの紹介もお願いします。
コメントありがとうございます。
少しでも予想出来たらと好奇心で始めました。
テキストの紹介もやっていきたいと思います。
今後ともよろしくお願いいたします。