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

`この記事はR Advent Calendar2016 ９日目の記事です`
see :  [R Advent Calendar 2016](http://qiita.com/advent-calendar/2016/r-rstudio)

##Summary

とつぜんですが、ロト６をあててお金もちになりたいです！`callmekohei`は！ 

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


## Method

ロト６をあてるために
当たりやすい数字を組み合わせたいと思います
で、過去の実績から当たりやすい数字を調べてみます


### Past data

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

[mizuho loto data](https://www.mizuhobank.co.jp/takarakuji/loto/loto6/index.html) 

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

```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
よく出る数字があるかどうか調べてみます

```shell

// 各数字ごとの当選回数をしらべる
~$ 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

ランダムに出目がでてるか確認してみます
たとえば１から４２の数字をテキトウに選ぶときの確率を調べてみます

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

0.9999999
```

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

```shell

// 各数字ごとの当選回数をソートしたデーターを用意
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

たぶんでたらめに数字がでてるので、予想できない（かもしれない）
予想できんじゃん
はふーん