Subscribed unsubscribe Subscribe Subscribe

F# Monkey

about

R言語を使ってロト6を当ててみる!

この記事はR Advent Calendar2016 9日目の記事です ( see : R Advent Calendar 2016 - Qiita )

Summary

とつぜんですが、ロト6をあててお金もちになりたいです!

callmekoheiは!

で、R言語を使ってロト6の予測をしてみたいと思います!

Way

ロト6をあてるために

当たりやすい数字を組み合わせたいと思います

で、過去の実績から当たりやすい数字を調べてみます

Past data

みずほ銀行のホームページから過去の出目が公開されているのでこれをゲット!

www.mizuhobank.co.jp

こんな感じのcsvデーターにします。

1,2000/10/05,02,08,10,13,27,30
2,2000/10/12,01,09,16,20,21,43
3,2000/10/19,01,05,15,31,36,38
...
...

1128,2016/12/01,03,15,21,29,30,35
1129,2016/12/05,06,11,19,28,30,43
1130,2016/12/08,01,11,37,38,39,42

Vivid numbers

よく出る数字があるかどうか調べてみます

// 各数字ごとの当選回数をしらべる
~$ cat loto6.csv | csvcut -c 3,4,5,6,7,8 | tr ',' '\n' | sort -n | uniq -c | awk -F ' ' '{print $2 " " $1}' | column -c 50

01 145    09 137    17 152    25 161    33 150    41 143
02 155    10 164    18 156    26 153    34 149    42 157
03 157    11 153    19 159    27 181    35 158    43 160
04 151    12 173    20 160    28 158    36 159
05 154    13 158    21 165    29 145    37 169
06 174    14 157    22 163    30 162    38 175
07 143    15 163    23 167    31 164    39 165
08 159    16 158    24 145    32 156    40 147


// 各数字ごとの当選回数をグラフにしてみる
~$ cat loto6.csv | csvcut -c 3,4,5,6,7,8 | tr ',' '\n' | sort -n | uniq -c | awk -F ' ' '{print $2 " " $1}'|feedgnuplot --terminal 'dumb 60,25' --points --domain --unset grid --exit

                                                                                                                        
  185 +-+---+----+-----+----+-----+----+-----+----+---+-+   
      +     +    +     +    +     +    +     +    +     +   
  180 +-+                           A                 +-+   
      |                                                 |   
  175 +-+    A                                  A     +-+   
      |            A                                    |   
  170 +-+                                      A      +-+   
      |                         A                       |   
  165 +-+        A           A          A        A    +-+   
      |                A      A        A                |   
  160 +-+      A           AA     A           A       A-+   
      |  A          A A A            A       A       A  |   
  155 +-A   A             A               A           +-+   
      |           A      A         A                    |   
  150 +-+ A                                AA         +-+   
      |                                           A     |   
  145 +A+                        A    A               +-+   
      |       A                                     A   |   
  140 +-+                                             +-+   
      +     +   A+     +    +     +    +     +    +     +   
  135 +-+---+----+-----+----+-----+----+-----+----+---+-+   
      0     5    10    15   20    25   30    35   40    45  

うむむむ。

ざっとみとくになさそう。。。

Chaos

ランダムに出目がでてるか確認してみます

たとえば1から42の数字をテキトウに選ぶときの確率を調べてみます

~$ echo x | rio -e '1 - pchisq(10,42,lower.tail=T)'

0.9999999

実際の出目だとどうなのかテストしてみます

// 各数字ごとの当選回数をソートしたデーターを用意
freq='137,143,143,145,145,145,147,149,150,151,152,153,153,154,155,156,156,157,157,157,158,158,158,158,159,159,159,160,160,161,162,163,163,164,164,165,165,167,169,173,174,175,181'

// テストしてみる
echo x | rio -e 'chisq.test(c('$freq'))'


// 結果
Chi-squared test for given probabilities

data:  c(137, 143, 143, 145, 145, 145, 147, 149, 150, 151, 152, 153,     153, 154, 155, 156, 156, 157, 157, 157, 158, 158, 158, 158,     159, 159, 159, 160, 160, 161, 162, 163, 163, 164, 164, 165,     165, 167, 169, 173, 174, 175, 181)

X-squared = 22.752, df = 42, p-value = 0.9933

ふむふむ。

理論上0.9999999

実際の出目は0.9933

これをどう捉えるかなんですが、、、

Conclusion

たぶんでたらめに数字がでてるので、予想できない(かもしれない)

予想できんじゃん、、、。

はふーん。

Remove all ads