予測方法
過去3回の当選履歴データをWEKAで計算する。
使用スキームはマルチレイヤーとSVMregです。これを元に自分の勘でアレンジしてみたい。
4 13 18 21 27 34
5 13 17 21 26 36
上記は計算のままの数字
5 13 17 25 26 38 ← WEKAの数値から選んだ組み合わせ
1 13 18 19 25 33 か 43 これは総合的な自分の勘。
最終的に下記に決定する。
5 13 17 25 27 36
1 13 17 25 27 36
追記
結果検証
1 13 17 25 27 36 (実際に買った数字たち)
6 13 19 20 30 31 ボーナス 8
予測では第一から第四までは近い数字となったが、第五、第六に関してはまるでダメ。
なんか違うなあ。。。
まあ1個は正解だから良しとして、いつも一つズレとかがあってじつに悔しい。
次回は与えるデータをちょっと変えてみたい。
いまの方法は直近の過去データから流れを読む方法だ。
今度はある仮定をもとに予測してみたい。
目的変数と説明変数、とくに説明のほうで「何がこの数字を選ばせたのか?」を知ることだ。
簡単なことではないが理由は確実にある。
物理的に言えば(当たり前のことではあるが。。)メチャクチャにかき混ぜたボールの渦から無作為のタイミングでガシャンとボールを抽出する、まさにその事が「何がこの数字を選ばせたのか?」という問いの答えとなるわけだ。
これが解れば誰だって予測が的中するのだけど、そんなこと解りっこない。
だから結果としてセット球とかに注目したりする。
現状ではセットとボーナス数字に関してはまったく関心を払っていない。
一つの仮定としてだが次回使われるであろうセットを変数として計算に組み込む。
これは10種類ほどあるはずだから、シナリオとしては10個だ。
もうひとつは計算結果をもういちどWEKAに入れて他の目的変数を計算し直すという方法を試してみよう。
これは可能性のある数字を当選したものとみなして、他の枠の数字の計算に影響を与えてみるという方法だ。うまく機能するのか?
2008年7月31日木曜日
2008年7月28日月曜日
ミニロト第468回の予測
今回は過去5回の履歴を使用。
WEKAのスキームはSVMreg、サポートベクトルレグレッションモデルというもの。
検索すれば専門的な内容のページもヒットする。
ミニロトは、ここのところ極端な出目が続いているなという感じ。
似たような形、そして似たような数字・・・なんか臭うよな。
いつものマルチレイヤーは今回は使わない。極端な出目のせいか平均値のような数値だったので。
7.898
12.91
16.55
21.674
25.833
8 13 17 22 26 ← とりあえずということで。
追記
さて結果の検証をしてみたい。
7 8 13 24 27 ボーナス 10
10 13 17 24 31 ←これは今回の買い目。
土壇場の気まぐれで数字を入れ換えたわけだが、どっちにしても本数字で2ヒットという結果に終わった。WEKAでは、まったく考える事なしで、ピンポイント予測で2個予測できたわけだから、かなり満足している。
12個~15個選んだって、当たらない時は一つも入らない。それを思えばWEKAを使った予測というのはすごく良い。
最低でも1個はヒットしているから。
WEKAのスキームはSVMreg、サポートベクトルレグレッションモデルというもの。
検索すれば専門的な内容のページもヒットする。
ミニロトは、ここのところ極端な出目が続いているなという感じ。
似たような形、そして似たような数字・・・なんか臭うよな。
いつものマルチレイヤーは今回は使わない。極端な出目のせいか平均値のような数値だったので。
7.898
12.91
16.55
21.674
25.833
8 13 17 22 26 ← とりあえずということで。
追記
さて結果の検証をしてみたい。
7 8 13 24 27 ボーナス 10
10 13 17 24 31 ←これは今回の買い目。
土壇場の気まぐれで数字を入れ換えたわけだが、どっちにしても本数字で2ヒットという結果に終わった。WEKAでは、まったく考える事なしで、ピンポイント予測で2個予測できたわけだから、かなり満足している。
12個~15個選んだって、当たらない時は一つも入らない。それを思えばWEKAを使った予測というのはすごく良い。
最低でも1個はヒットしているから。
2008年7月23日水曜日
第404回ロト6予測
遅れ2 遅れ3 遅れ4 遅れ5
2.753 9.171 7.063 8.567
21.707 23.109 11.424 19.682
28.22 30.699 19.175 23.736
28.957 34.071 25.184 28.496
32.237 37.871 28.095 33.782
35.206 42.659 36.318 37.698
上記は、いつもなら直近3回の出目をもとに数値を出すのを、遅れ時間を取って出した数値である。
与えたデータはそれぞれのインターバルで3回分遡ったもの。
つまり4回目の値を予測する形となる。M氏の理解が正しければ、遅れ時間で埋め込みを使った時系列解析では過去の類似軌道を探し出し、直近の値を推定するという流れになるはず。
WEKAを使った上記の方法はM氏の単なる思い付きだ。
こんなふうに分析することの意味があるのか?どうか?
まあ、とりあえず今後の参考にアップしておくことにする。
以下は過去2回分の履歴を同じように計算したものだ。
5.428
13.861
17.826
21.93
26.413
33
過去何回かこのやり方、過去3回分の履歴だけれど予測してみたがイマイチで、2個から、良くて3個までしか読めない。
結果から判断すると、あまり適した方法ではない。特に第一数字がまったく見えてこない。次に第六数字。
比較的感触が良いと感じるのは第二から第四数字かな。これもM氏の主観だから第三者から見るとデタラメに見えるかもしれない。
解り易くするため単純に四捨五入した数値が以下である。
3 9 7 9 → 9*2
22 23 11 20 28*3
28 31 19 24 38*2
29 34 25 28 34*2
32 38 28 34
35 43 36 38
一応四捨五入でダブった数字を強い数字として選ぼう。
23 19 は第二に強い数字として候補とする。
したがって今回は・・・
9 19 23 28 34 38 ・・・です。
追記
03 10 14 18 26 43 ボーナス数字 33
結果は一致なしで惨敗。
遅れ時間をとる方法はダメだったが、
以外にも過去2回のみの履歴でマルチレイヤーパーセプトロンにかけた結果が良かったんじゃないか?
小数点以下四捨五入の数値ではあるが、ピンポイント予測、つまり6個の数字だけ枠別に計算した結果が3個も正解している。残念ながら、正直買う気にはならなかったんだが。
13.861 17.826 26.413
おまけに第六数字として予測した 33 までがボーナス数字として出現。
偶然か必然か?
意見は割れるだろうけどM氏にとっては手応えを感じた今回の結果である。
2.753 9.171 7.063 8.567
21.707 23.109 11.424 19.682
28.22 30.699 19.175 23.736
28.957 34.071 25.184 28.496
32.237 37.871 28.095 33.782
35.206 42.659 36.318 37.698
上記は、いつもなら直近3回の出目をもとに数値を出すのを、遅れ時間を取って出した数値である。
与えたデータはそれぞれのインターバルで3回分遡ったもの。
つまり4回目の値を予測する形となる。M氏の理解が正しければ、遅れ時間で埋め込みを使った時系列解析では過去の類似軌道を探し出し、直近の値を推定するという流れになるはず。
WEKAを使った上記の方法はM氏の単なる思い付きだ。
こんなふうに分析することの意味があるのか?どうか?
まあ、とりあえず今後の参考にアップしておくことにする。
以下は過去2回分の履歴を同じように計算したものだ。
5.428
13.861
17.826
21.93
26.413
33
過去何回かこのやり方、過去3回分の履歴だけれど予測してみたがイマイチで、2個から、良くて3個までしか読めない。
結果から判断すると、あまり適した方法ではない。特に第一数字がまったく見えてこない。次に第六数字。
比較的感触が良いと感じるのは第二から第四数字かな。これもM氏の主観だから第三者から見るとデタラメに見えるかもしれない。
解り易くするため単純に四捨五入した数値が以下である。
3 9 7 9 → 9*2
22 23 11 20 28*3
28 31 19 24 38*2
29 34 25 28 34*2
32 38 28 34
35 43 36 38
一応四捨五入でダブった数字を強い数字として選ぼう。
23 19 は第二に強い数字として候補とする。
したがって今回は・・・
9 19 23 28 34 38 ・・・です。
追記
03 10 14 18 26 43 ボーナス数字 33
結果は一致なしで惨敗。
遅れ時間をとる方法はダメだったが、
以外にも過去2回のみの履歴でマルチレイヤーパーセプトロンにかけた結果が良かったんじゃないか?
小数点以下四捨五入の数値ではあるが、ピンポイント予測、つまり6個の数字だけ枠別に計算した結果が3個も正解している。残念ながら、正直買う気にはならなかったんだが。
13.861 17.826 26.413
おまけに第六数字として予測した 33 までがボーナス数字として出現。
偶然か必然か?
意見は割れるだろうけどM氏にとっては手応えを感じた今回の結果である。
2008年7月18日金曜日
ロト6 第403回の結果と答え合わせ
7 16 24 27 30 36
9 12 23 28 29 37 ←の二列は計算で出した数値。
9 16 23 27 29 37
上のは今回買いの組み合わせだ。
そして今回 8 10 13 20 24 33 これが答えだ。
偶然かどうか判断できないけど、第一と第二に関しては近い数値が出ている。
それと枠違いだが第三も。
24は予測枠がずれてるけど出ちゃったね。もっともこの24はあまり買う気にならない数字だが。
予測での第四数字以降はまったくカスる気配なし。
結果的に劇ハズレなんだけど、悪くない気もする。
案外超短期で計算したほうが良いのかも?
9 12 23 28 29 37 ←の二列は計算で出した数値。
9 16 23 27 29 37
上のは今回買いの組み合わせだ。
そして今回 8 10 13 20 24 33 これが答えだ。
偶然かどうか判断できないけど、第一と第二に関しては近い数値が出ている。
それと枠違いだが第三も。
24は予測枠がずれてるけど出ちゃったね。もっともこの24はあまり買う気にならない数字だが。
予測での第四数字以降はまったくカスる気配なし。
結果的に劇ハズレなんだけど、悪くない気もする。
案外超短期で計算したほうが良いのかも?
2008年7月16日水曜日
第403回ロト6予測
今回はWEKAに与えるデータを過去3回だけとした。
というのは局所的なトレンドというか、ごく短期のクセを捉えたいと思ったからだ。
WEKAでそういうことが可能か?どうか?
まったく解らないけどデータが少なければ、出てくる結果もかなり片寄ったものになるだろう。
つまり平均からはかなりズレた数値を示すんじゃないか?
使用したスキームは2個だけ、マルチレイヤーパーセプトロン、それとAdditive RegressionをBaggingで試してみた。
以下、端数を恣意的に調整した数値を示す。
7 16 24 27 30 36
9 12 23 28 29 37
この中からいくつ出るか?
個別の数字についてはまったく調べていないし、過去の記事でも調べたことはない。
それは情報が多いと迷うからだ。
できるだけ情報を集めて判断すべきか?
今回は一応当選履歴だけ見て選んでみた。
9 16 23 27 29 37
奇跡が起きないか?
というのは局所的なトレンドというか、ごく短期のクセを捉えたいと思ったからだ。
WEKAでそういうことが可能か?どうか?
まったく解らないけどデータが少なければ、出てくる結果もかなり片寄ったものになるだろう。
つまり平均からはかなりズレた数値を示すんじゃないか?
使用したスキームは2個だけ、マルチレイヤーパーセプトロン、それとAdditive RegressionをBaggingで試してみた。
以下、端数を恣意的に調整した数値を示す。
7 16 24 27 30 36
9 12 23 28 29 37
この中からいくつ出るか?
個別の数字についてはまったく調べていないし、過去の記事でも調べたことはない。
それは情報が多いと迷うからだ。
できるだけ情報を集めて判断すべきか?
今回は一応当選履歴だけ見て選んでみた。
9 16 23 27 29 37
奇跡が起きないか?
2008年7月14日月曜日
ミニロト466回WEKAによる予測値
非常に長くなるが、実際にWEKAでout putしたものを載せてみた。
上から順に第一から第五数字までの予測値となっている。
計算に使われたスキーム、アルゴリズムはおおよそ読み取れる。
与えたデータは過去15回の当選履歴だ。詳しい計算の考え方はよくわからない。
ただ時系列の観念はないだろう。15回の平均値に局所的な重み付けを行い、誤差が最小になるように予測モデルに当てはめた結果がpredictedで表される数値であろうと思われる。
一応ではあるけれど、直近15回の流れで予測するならば、?で示された数値が最もよく当てはまる数字となるはずである。
summaryで示される項は予測モデルの評価であろう。
この数値を見る限り、かなりの精度で当てはまっていることが確認できる。
データの数を増やしていくと当然当てはまり具合、つまり精度ということになるだろうけど、落ちていく。
そして数値は平均値に近づいていく。当然だ。なぜならハズレ値というのか、まったく流れを断ち切るような数値が多く入ってくるからだ。
事実アルゴリズムでも最近隣法というのが使用されているはず。(nearest neighbours)
まあ、なんとか近いところを狙いたいわけで、試行あるのみだね。
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 5.6
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.06 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 3 2.994 -0.006
2 2 2.078 0.078
3 4 3.891 -0.109
4 2 2.134 0.134
5 1 1.087 0.087
6 6 6.061 0.061
7 2 2.014 0.014
8 6 5.867 -0.133
9 12 11.983 -0.017
10 10 10.083 0.083
11 6 5.866 -0.134
12 4 4 0
13 12 12.006 0.006
14 1 1.137 0.137
15 13 12.809 -0.191
16 ? 3.775
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 0.9998
Mean absolute error 0.0793
Root mean squared error 0.0985
Relative absolute error 2.3043 %
Root relative squared error 2.4153 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 11.4
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.02 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 7 6.936 -0.064
2 12 12.239 0.239
3 7 6.883 -0.117
4 5 4.999 -0.001
5 10 10.042 0.042
6 8 8.044 0.044
7 16 15.963 -0.037
8 8 8.071 0.071
9 13 12.997 -0.003
10 11 10.977 -0.023
11 12 12.074 0.074
12 19 18.807 -0.193
13 13 12.964 -0.036
14 12 11.924 -0.076
15 18 18.02 0.02
16 ? 11.365
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 0.9997
Mean absolute error 0.0694
Root mean squared error 0.0952
Relative absolute error 2.1859 %
Root relative squared error 2.4117 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 16.933333333333334
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.03 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 12 11.998 -0.002
2 16 16.022 0.022
3 12 11.996 -0.004
4 13 13.009 0.009
5 16 15.984 -0.016
6 10 10.002 0.002
7 17 16.979 -0.021
8 15 14.971 -0.029
9 26 25.922 -0.078
10 25 25.032 0.032
11 17 16.963 -0.037
12 22 22.015 0.015
13 16 16.024 0.024
14 16 16.039 0.039
15 21 21.038 0.038
16 ? 16.708
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 1
Mean absolute error 0.0246
Root mean squared error 0.031
Relative absolute error 0.6976 %
Root relative squared error 0.6832 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 21.466666666666665
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.01 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 14 14.008 0.008
2 18 18.026 0.026
3 17 16.985 -0.015
4 20 19.999 -0.001
5 24 24.025 0.025
6 16 16.001 0.001
7 22 22.006 0.006
8 24 23.997 -0.003
9 27 26.991 -0.009
10 27 26.985 -0.015
11 20 20.01 0.01
12 25 25.004 0.004
13 21 20.995 -0.005
14 22 21.945 -0.055
15 25 25.002 0.002
16 ? 21.4
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 1
Mean absolute error 0.0123
Root mean squared error 0.0185
Relative absolute error 0.3817 %
Root relative squared error 0.4806 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 26.333333333333332
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.03 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 16 16.014 0.014
2 30 30.026 0.026
3 27 26.977 -0.023
4 24 24.031 0.031
5 26 26.109 0.109
6 20 20.003 0.003
7 28 28.043 0.043
8 31 30.966 -0.034
9 29 28.998 -0.002
10 30 29.987 -0.013
11 26 26.019 0.019
12 29 29.031 0.031
13 23 22.991 -0.009
14 28 27.844 -0.156
15 28 28.007 0.007
16 ? 27.196
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 0.9999
Mean absolute error 0.0347
Root mean squared error 0.0537
Relative absolute error 1.1318 %
Root relative squared error 1.3547 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
上から順に第一から第五数字までの予測値となっている。
計算に使われたスキーム、アルゴリズムはおおよそ読み取れる。
与えたデータは過去15回の当選履歴だ。詳しい計算の考え方はよくわからない。
ただ時系列の観念はないだろう。15回の平均値に局所的な重み付けを行い、誤差が最小になるように予測モデルに当てはめた結果がpredictedで表される数値であろうと思われる。
一応ではあるけれど、直近15回の流れで予測するならば、?で示された数値が最もよく当てはまる数字となるはずである。
summaryで示される項は予測モデルの評価であろう。
この数値を見る限り、かなりの精度で当てはまっていることが確認できる。
データの数を増やしていくと当然当てはまり具合、つまり精度ということになるだろうけど、落ちていく。
そして数値は平均値に近づいていく。当然だ。なぜならハズレ値というのか、まったく流れを断ち切るような数値が多く入ってくるからだ。
事実アルゴリズムでも最近隣法というのが使用されているはず。(nearest neighbours)
まあ、なんとか近いところを狙いたいわけで、試行あるのみだね。
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 5.6
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.06 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 3 2.994 -0.006
2 2 2.078 0.078
3 4 3.891 -0.109
4 2 2.134 0.134
5 1 1.087 0.087
6 6 6.061 0.061
7 2 2.014 0.014
8 6 5.867 -0.133
9 12 11.983 -0.017
10 10 10.083 0.083
11 6 5.866 -0.134
12 4 4 0
13 12 12.006 0.006
14 1 1.137 0.137
15 13 12.809 -0.191
16 ? 3.775
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 0.9998
Mean absolute error 0.0793
Root mean squared error 0.0985
Relative absolute error 2.3043 %
Root relative squared error 2.4153 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 11.4
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.02 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 7 6.936 -0.064
2 12 12.239 0.239
3 7 6.883 -0.117
4 5 4.999 -0.001
5 10 10.042 0.042
6 8 8.044 0.044
7 16 15.963 -0.037
8 8 8.071 0.071
9 13 12.997 -0.003
10 11 10.977 -0.023
11 12 12.074 0.074
12 19 18.807 -0.193
13 13 12.964 -0.036
14 12 11.924 -0.076
15 18 18.02 0.02
16 ? 11.365
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 0.9997
Mean absolute error 0.0694
Root mean squared error 0.0952
Relative absolute error 2.1859 %
Root relative squared error 2.4117 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 16.933333333333334
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.03 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 12 11.998 -0.002
2 16 16.022 0.022
3 12 11.996 -0.004
4 13 13.009 0.009
5 16 15.984 -0.016
6 10 10.002 0.002
7 17 16.979 -0.021
8 15 14.971 -0.029
9 26 25.922 -0.078
10 25 25.032 0.032
11 17 16.963 -0.037
12 22 22.015 0.015
13 16 16.024 0.024
14 16 16.039 0.039
15 21 21.038 0.038
16 ? 16.708
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 1
Mean absolute error 0.0246
Root mean squared error 0.031
Relative absolute error 0.6976 %
Root relative squared error 0.6832 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 21.466666666666665
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.01 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 14 14.008 0.008
2 18 18.026 0.026
3 17 16.985 -0.015
4 20 19.999 -0.001
5 24 24.025 0.025
6 16 16.001 0.001
7 22 22.006 0.006
8 24 23.997 -0.003
9 27 26.991 -0.009
10 27 26.985 -0.015
11 20 20.01 0.01
12 25 25.004 0.004
13 21 20.995 -0.005
14 22 21.945 -0.055
15 25 25.002 0.002
16 ? 21.4
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 1
Mean absolute error 0.0123
Root mean squared error 0.0185
Relative absolute error 0.3817 %
Root relative squared error 0.4806 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
=== Run information ===
Scheme: weka.classifiers.meta.AdditiveRegression -S 1.0 -I 10 -W weka.classifiers.lazy.LWL -- -U 0 -K -1 -A "weka.core.neighboursearch.LinearNNSearch -A \"weka.core.EuclideanDistance -R first-last\"" -W weka.classifiers.trees.DecisionStump
Relation: 466yosoku
Instances: 16
Attributes: 5
daiiti
daini
daisan
daiyon
daigo
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Additive Regression
ZeroR model
ZeroR predicts class value: 26.333333333333332
Base classifier weka.classifiers.lazy.LWL
10 models generated.
Model number 0
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 1
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 2
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 3
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 4
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 5
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 6
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 7
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 8
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Model number 9
Locally weighted learning
===========================
Using classifier: weka.classifiers.trees.DecisionStump
Using linear weighting kernels
Using all neighbours
Time taken to build model: 0.03 seconds
=== Predictions on training set ===
inst#, actual, predicted, error
1 16 16.014 0.014
2 30 30.026 0.026
3 27 26.977 -0.023
4 24 24.031 0.031
5 26 26.109 0.109
6 20 20.003 0.003
7 28 28.043 0.043
8 31 30.966 -0.034
9 29 28.998 -0.002
10 30 29.987 -0.013
11 26 26.019 0.019
12 29 29.031 0.031
13 23 22.991 -0.009
14 28 27.844 -0.156
15 28 28.007 0.007
16 ? 27.196
=== Evaluation on training set ===
=== Summary ===
Correlation coefficient 0.9999
Mean absolute error 0.0347
Root mean squared error 0.0537
Relative absolute error 1.1318 %
Root relative squared error 1.3547 %
Total Number of Instances 15
Ignored Class Unknown Instances 1
2008年7月13日日曜日
ミニロト466回のための参考データ
> m <- read.table("clipboard", header=TRUE, sep="", na.strings="NA", dec=".", strip.white=TRUE)
> fix(m)
> m <- read.table("clipboard", header=TRUE, sep="", na.strings="NA", dec=".", strip.white=TRUE)
> fix(m)
> acf(m$第一)
> pacf(m$第一)
> summary(m)
第一 第二 第三 第四
Min. : 1.000 Min. : 2.00 Min. : 3.00 Min. : 7.00
1st Qu.: 2.000 1st Qu.: 7.00 1st Qu.:13.00 1st Qu.:18.00
Median : 4.000 Median :10.00 Median :16.00 Median :22.00
Mean : 5.566 Mean :10.79 Mean :16.26 Mean :21.44
3rd Qu.: 8.000 3rd Qu.:14.00 3rd Qu.:20.00 3rd Qu.:25.00
Max. :24.000 Max. :26.00 Max. :29.00 Max. :30.00
第五
Min. :10.00
1st Qu.:25.00
Median :28.00
Mean :26.78
3rd Qu.:30.00
Max. :31.00
> # Spearman rank-order correlations
> cor(m[,c("第一","第五","第三","第四","第二")], use="complete.obs", method="spearman")
第一 第五 第三 第四 第二
第一 1.0000000 0.1326871 0.4291310 0.2679401 0.6347924
第五 0.1326871 1.0000000 0.3558801 0.5501979 0.2547430
第三 0.4291310 0.3558801 1.0000000 0.7036939 0.6664421
第四 0.2679401 0.5501979 0.7036939 1.0000000 0.4562751
第二 0.6347924 0.2547430 0.6664421 0.4562751 1.0000000
> .PC <- princomp(~第一+第五+第三+第四+第二, cor=TRUE, data=m)
> unclass(loadings(.PC)) # component loadings
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
第一 -0.3842908 0.59709060 0.47424714 0.51123182 -0.0976477
第五 -0.3600279 -0.60589940 0.65247464 -0.20437302 -0.1891411
第三 -0.5110869 -0.01410342 -0.50596661 -0.03090404 -0.6939985
第四 -0.4784247 -0.37732227 -0.30437457 0.47056097 0.5609512
第二 -0.4822867 0.36578371 -0.02684013 -0.68883308 0.3979829
> .PC$sd^2 # component variances
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
2.9644445 1.0297671 0.5127298 0.2980798 0.1949788
> screeplot(.PC)
> m$PC1 <- .PC$scores[,1]
> remove(.PC)
> HClust.1 <- hclust(dist(model.matrix(~-1 + PC1, m)) , method= "ward")
> plot(HClust.1, main= "Cluster Dendrogram for Solution HClust.1", xlab= "Observation Number in Data Set m", sub="Method=ward; Distance=euclidian")
> .FA <- factanal(~第一+第五+第三+第四+第二, factors=1, rotation="varimax", scores="none", data=m)
> .FA
Call:
factanal(x = ~第一 + 第五 + 第三 + 第四 + 第二, factors = 1, data = m, scores = "none", rotation = "varimax")
Uniquenesses:
第一 第五 第三 第四 第二
0.716 0.751 0.171 0.391 0.444
Loadings:
Factor1
第一 0.533
第五 0.499
第三 0.910
第四 0.780
第二 0.746
Factor1
SS loadings 2.527
Proportion Var 0.505
Test of the hypothesis that 1 factor is sufficient.
The chi square statistic is 229.97 on 5 degrees of freedom.
The p-value is 1.08e-47
> remove(.FA)
> fix(m)
> m <- read.table("clipboard", header=TRUE, sep="", na.strings="NA", dec=".", strip.white=TRUE)
> fix(m)
> acf(m$第一)
> pacf(m$第一)
> summary(m)
第一 第二 第三 第四
Min. : 1.000 Min. : 2.00 Min. : 3.00 Min. : 7.00
1st Qu.: 2.000 1st Qu.: 7.00 1st Qu.:13.00 1st Qu.:18.00
Median : 4.000 Median :10.00 Median :16.00 Median :22.00
Mean : 5.566 Mean :10.79 Mean :16.26 Mean :21.44
3rd Qu.: 8.000 3rd Qu.:14.00 3rd Qu.:20.00 3rd Qu.:25.00
Max. :24.000 Max. :26.00 Max. :29.00 Max. :30.00
第五
Min. :10.00
1st Qu.:25.00
Median :28.00
Mean :26.78
3rd Qu.:30.00
Max. :31.00
> # Spearman rank-order correlations
> cor(m[,c("第一","第五","第三","第四","第二")], use="complete.obs", method="spearman")
第一 第五 第三 第四 第二
第一 1.0000000 0.1326871 0.4291310 0.2679401 0.6347924
第五 0.1326871 1.0000000 0.3558801 0.5501979 0.2547430
第三 0.4291310 0.3558801 1.0000000 0.7036939 0.6664421
第四 0.2679401 0.5501979 0.7036939 1.0000000 0.4562751
第二 0.6347924 0.2547430 0.6664421 0.4562751 1.0000000
> .PC <- princomp(~第一+第五+第三+第四+第二, cor=TRUE, data=m)
> unclass(loadings(.PC)) # component loadings
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
第一 -0.3842908 0.59709060 0.47424714 0.51123182 -0.0976477
第五 -0.3600279 -0.60589940 0.65247464 -0.20437302 -0.1891411
第三 -0.5110869 -0.01410342 -0.50596661 -0.03090404 -0.6939985
第四 -0.4784247 -0.37732227 -0.30437457 0.47056097 0.5609512
第二 -0.4822867 0.36578371 -0.02684013 -0.68883308 0.3979829
> .PC$sd^2 # component variances
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
2.9644445 1.0297671 0.5127298 0.2980798 0.1949788
> screeplot(.PC)
> m$PC1 <- .PC$scores[,1]
> remove(.PC)
> HClust.1 <- hclust(dist(model.matrix(~-1 + PC1, m)) , method= "ward")
> plot(HClust.1, main= "Cluster Dendrogram for Solution HClust.1", xlab= "Observation Number in Data Set m", sub="Method=ward; Distance=euclidian")
> .FA <- factanal(~第一+第五+第三+第四+第二, factors=1, rotation="varimax", scores="none", data=m)
> .FA
Call:
factanal(x = ~第一 + 第五 + 第三 + 第四 + 第二, factors = 1, data = m, scores = "none", rotation = "varimax")
Uniquenesses:
第一 第五 第三 第四 第二
0.716 0.751 0.171 0.391 0.444
Loadings:
Factor1
第一 0.533
第五 0.499
第三 0.910
第四 0.780
第二 0.746
Factor1
SS loadings 2.527
Proportion Var 0.505
Test of the hypothesis that 1 factor is sufficient.
The chi square statistic is 229.97 on 5 degrees of freedom.
The p-value is 1.08e-47
> remove(.FA)
2008年7月9日水曜日
wekaによる402回ロト6の予測メモ
SMOreg
第一 8.351
第二 16.856
第三 21.438
第四 26.58
第五 32.524
第六 37.784
Kstar
8.05
16.55
21.7
26.85
32.15
37.85
LWL-balltree
8.93
15.686
20.939
26.737
31.931
38.161
IBK
6
12
19
24
29
38
Addtive Regression
8.05
16.55
21.7
26.85
32.15
37.85
MultiLayerPerceptron
15.522
20.14
18.81
25.294
29.555
39.605
使用したデータは過去20回の当選履歴。
ほとんどのスキームは平均値のような数値を出したが、最後のマルチレイヤーパーセプトロン
だけは直前の出目を反映したような数値だ。
このスキームも、データをもっとたくさん与えるとだんだん平均化されるようだが、これぐらいだとかなり片寄った数値を出す模様。
計算された予測モデルの数値誤差は 1.0 ぐらい。
パラメータはすべてデフォルトで行っている。調整してみたいのだが、ヘルプはすべて英語だからいまだ意味がよくわかっていないのだ。
ついでに過去15回のデータで同じマルチレイヤーをやってみる。
24.493
13.444
16.592
23.164
30.908
41.787
さらに過去10回のみの場合
18.439
23.329
21.348
29.823
31.159
39.283
ついでに5回前分のデータだけで
2.141
15.428
22.335
32.518
31.108
38.643
20回 15回 10回 5回
まとめると以上となる。ちなみにバックテストというのだろうか、同じやり方で前回を検証してみたが、まったく数字がかみ合っていなかった。
これはやはり後付け理論というのだろうか、あとから誤差が最小になるようにモデルを考えたとしても、必ずしも予測どうりの振る舞いをしないことを意味する。
当たり前だな、そんなことで次回が読めたらエライコトになるわな。
ただまったくの当てずっぽうではなく、この中からいくつかは当選が出るだろう。
30 31 39
21 23
16
一応、勘だけで選んでみると上記となった。
マニュアルにある予測、predictの方法とは違うやり方ではあるけれど、(データの与え方と分析の順番のこと、ファイルをいくつも作らないといけないのだね。面倒だし結果もそれほど違いはなかったからやらないわけ)近い数値、あるいはフォームになってくれると今後が期待できるんだよね。
明日はこの数字を買います。
あきらめたら始まらない。
追記
前回の方法では(401回)は当たりなしであった。
また近いという感触もなし。
第一 8.351
第二 16.856
第三 21.438
第四 26.58
第五 32.524
第六 37.784
Kstar
8.05
16.55
21.7
26.85
32.15
37.85
LWL-balltree
8.93
15.686
20.939
26.737
31.931
38.161
IBK
6
12
19
24
29
38
Addtive Regression
8.05
16.55
21.7
26.85
32.15
37.85
MultiLayerPerceptron
15.522
20.14
18.81
25.294
29.555
39.605
使用したデータは過去20回の当選履歴。
ほとんどのスキームは平均値のような数値を出したが、最後のマルチレイヤーパーセプトロン
だけは直前の出目を反映したような数値だ。
このスキームも、データをもっとたくさん与えるとだんだん平均化されるようだが、これぐらいだとかなり片寄った数値を出す模様。
計算された予測モデルの数値誤差は 1.0 ぐらい。
パラメータはすべてデフォルトで行っている。調整してみたいのだが、ヘルプはすべて英語だからいまだ意味がよくわかっていないのだ。
ついでに過去15回のデータで同じマルチレイヤーをやってみる。
24.493
13.444
16.592
23.164
30.908
41.787
さらに過去10回のみの場合
18.439
23.329
21.348
29.823
31.159
39.283
ついでに5回前分のデータだけで
2.141
15.428
22.335
32.518
31.108
38.643
20回 15回 10回 5回
| 15.522 | 24.493 | 18.439 | 2.141 |
| 20.14 | 13.444 | 23.329 | 15.428 |
| 18.81 | 16.592 | 21.348 | 22.335 |
| 25.294 | 23.164 | 29.823 | 32.518 |
| 29.555 | 30.908 | 31.159 | 31.108 |
| 39.605 | 41.787 | 39.283 | 38.643 |
まとめると以上となる。ちなみにバックテストというのだろうか、同じやり方で前回を検証してみたが、まったく数字がかみ合っていなかった。
これはやはり後付け理論というのだろうか、あとから誤差が最小になるようにモデルを考えたとしても、必ずしも予測どうりの振る舞いをしないことを意味する。
当たり前だな、そんなことで次回が読めたらエライコトになるわな。
ただまったくの当てずっぽうではなく、この中からいくつかは当選が出るだろう。
30 31 39
21 23
16
一応、勘だけで選んでみると上記となった。
マニュアルにある予測、predictの方法とは違うやり方ではあるけれど、(データの与え方と分析の順番のこと、ファイルをいくつも作らないといけないのだね。面倒だし結果もそれほど違いはなかったからやらないわけ)近い数値、あるいはフォームになってくれると今後が期待できるんだよね。
明日はこの数字を買います。
あきらめたら始まらない。
追記
前回の方法では(401回)は当たりなしであった。
また近いという感触もなし。
2008年7月8日火曜日
第465回ミニロトについて反省会
13、18、21、25、28 ボーナスが 7 という結果。
買ったのは 7 10 18 21 27
ボーナス数字はたぶん偶然だ。
18 21 のふたつがヒット。
むー、このふたつは一応WEKAで計算した数値から選んだ。
16が強く出ていたのだがね。あえて18を選んでみた。
21はほぼ正解だろうとの予測どうり。
ここでメモをもとに予測段階での数字をリストアップしてみる。
第一数字候補 5 4 2 6 7 8 10
第二 13 12 14 16
第三 16 17 18 19
第四 21 22 23
第五 26 27 28
こんなに多くリストアップすればほぼ当選数字は全部入ってしまうね。
入ってないのは 25だけか。
試したスキームはいつもと同じ。与えたデータは過去30回だったか。
ただ遅れ時間はとらずに履歴をそのまま使用したはず。
遅れ時間で予測する場合、ファイルがたくさん必要になる。
本当は面倒がらずにやってみればいいのだけれど、省力化のための自動プログラムが解らない。
だから手間がかかるんです。
試行しつづけるのみか。
入ってないのは 25だけか。
試したスキームはいつもと同じ。与えたデータは過去30回だったか。
ただ遅れ時間はとらずに履歴をそのまま使用したはず。
遅れ時間で予測する場合、ファイルがたくさん必要になる。
本当は面倒がらずにやってみればいいのだけれど、省力化のための自動プログラムが解らない。
だから手間がかかるんです。
試行しつづけるのみか。
2008年7月3日木曜日
WEKAによるロト6第401回予測
今回の予測過程を記録する。
1、Rで当選履歴を各枠別に5次元のマトリックスに変換。Rでは低次元のユークリッド次元に展開するというように表現していた。関数名はembed。
2、五次元マトリックス表に適当と思われる遅れ時間をとった座標を書き足す。
これは予測したい数値から逆算して時系列から数値を抜き出す作業となる。
書き足す行はいくつでもよい。計算してみたい数だけ、すなわち遅れ時間をとりたいだけ取ってもいい。制限はない。でもたぶん似たような数値になるだろう。
予測数値のセルは空白ではなく、?マークなどを入れておく。
3、出来上がったエクセルデータをCSV形式でセーブ。
4、WEKAを起動して目的のCSVファイルを開く。
5、スキームを選んだらuse traning data モードをpredict オンにして使用する。
今回もSVOregで計算してみた。
ほとんど詳しくは無いのだけど、このスキームは説明変数どうしの干渉に強いらしい。
統計学では多重共線性というらしい。
重回帰分析の場合、説明変数どうしが相関があると起こる現象か。
だから回帰分析の結果がなかなか良いらしいのだよ。
まあ、M氏はシロートだしプロセスはどうであれ結果オーライだからね。
一応、検証のため数字を挙げておく。もちろん買うつもり。
7,13、19,25,31 32 38
31と32は微妙です。どちらか?
1、Rで当選履歴を各枠別に5次元のマトリックスに変換。Rでは低次元のユークリッド次元に展開するというように表現していた。関数名はembed。
2、五次元マトリックス表に適当と思われる遅れ時間をとった座標を書き足す。
これは予測したい数値から逆算して時系列から数値を抜き出す作業となる。
書き足す行はいくつでもよい。計算してみたい数だけ、すなわち遅れ時間をとりたいだけ取ってもいい。制限はない。でもたぶん似たような数値になるだろう。
予測数値のセルは空白ではなく、?マークなどを入れておく。
3、出来上がったエクセルデータをCSV形式でセーブ。
4、WEKAを起動して目的のCSVファイルを開く。
5、スキームを選んだらuse traning data モードをpredict オンにして使用する。
今回もSVOregで計算してみた。
ほとんど詳しくは無いのだけど、このスキームは説明変数どうしの干渉に強いらしい。
統計学では多重共線性というらしい。
重回帰分析の場合、説明変数どうしが相関があると起こる現象か。
だから回帰分析の結果がなかなか良いらしいのだよ。
まあ、M氏はシロートだしプロセスはどうであれ結果オーライだからね。
一応、検証のため数字を挙げておく。もちろん買うつもり。
7,13、19,25,31 32 38
31と32は微妙です。どちらか?
2008年7月2日水曜日
WEKAでのデータ取り扱い
WEKAで分析をはじめる場合、まず最初にCSV形式でデータを与える。
ロトで扱うデータは圧倒的多数がエクセルである。これはデータの整形が簡単にできるからだ。
データができたらセーブするときにCSVとする。つぎにWEKAに読み込ませる。
正常に読み込むとrelationにデータの名前が表示される。
WEKAではコンバーター機能があるのでエラー表示にしたがって変換できる。
読み込んだ後はsaveボタンでarff形式に変換する。
arff形式は簡単なのですぐ理解できるが、いちいち入力する手間を考えると上記のやり方が簡単だ。
このとき問題になるのが尺度である。
尺度というのは要するにデータがただの数値なのか、それとも分類か何かのための名称なのか、というようなことである。例えば量的尺度と名義尺度であるとか。
一つのデータファイルには尺度が違うのが混在しても問題はない。
ただスキームを選択する場合、目的とする変数(WEKAではclassというはずである)によって制限がある。
要するに適合か不適合かというだけだと思うが。
なにか問題が起きたら、例えばエラー表示がでた場合など、データファイルをエディタで開いてみると良い。
たぶんattributeの部分とWEKAで指定したclass、それとスキームが不適合していると思われる。
ロトで扱うデータは圧倒的多数がエクセルである。これはデータの整形が簡単にできるからだ。
データができたらセーブするときにCSVとする。つぎにWEKAに読み込ませる。
正常に読み込むとrelationにデータの名前が表示される。
WEKAではコンバーター機能があるのでエラー表示にしたがって変換できる。
読み込んだ後はsaveボタンでarff形式に変換する。
arff形式は簡単なのですぐ理解できるが、いちいち入力する手間を考えると上記のやり方が簡単だ。
このとき問題になるのが尺度である。
尺度というのは要するにデータがただの数値なのか、それとも分類か何かのための名称なのか、というようなことである。例えば量的尺度と名義尺度であるとか。
一つのデータファイルには尺度が違うのが混在しても問題はない。
ただスキームを選択する場合、目的とする変数(WEKAではclassというはずである)によって制限がある。
要するに適合か不適合かというだけだと思うが。
なにか問題が起きたら、例えばエラー表示がでた場合など、データファイルをエディタで開いてみると良い。
たぶんattributeの部分とWEKAで指定したclass、それとスキームが不適合していると思われる。
WEKAによる第464回ミニロト予測検証。
第464回のミニロト結果は以下のとおり。
1,12,16,22,28 B-15
予測は 5,11,16、21,26、
意識したわけではないが結果的にフォームは良く似ている。
予測方法は枠別に個別に計算した数字である。
埋め込みに用いたパラメーターは次元が4、遅れ時間は1から3であった。
計算に用いたWEKAのスキームはSMOreg。
どうなんだろう?
16のみヒットで12と22は隣数字。
1は大きくはずれ、28は近いところまでいった。
パラメーターを調整すればなんとかなるものか?
あるいは過去データで検証して、もっとも正解率の高いパラメーターを探すことに意味があるのだろうか?これは線形予測ちゅうことになるのかね?
とりあえず何も無いところから近いところを予測できたので若干の手応えありということで。
1,12,16,22,28 B-15
予測は 5,11,16、21,26、
意識したわけではないが結果的にフォームは良く似ている。
予測方法は枠別に個別に計算した数字である。
埋め込みに用いたパラメーターは次元が4、遅れ時間は1から3であった。
計算に用いたWEKAのスキームはSMOreg。
どうなんだろう?
16のみヒットで12と22は隣数字。
1は大きくはずれ、28は近いところまでいった。
パラメーターを調整すればなんとかなるものか?
あるいは過去データで検証して、もっとも正解率の高いパラメーターを探すことに意味があるのだろうか?これは線形予測ちゅうことになるのかね?
とりあえず何も無いところから近いところを予測できたので若干の手応えありということで。
2008年7月1日火曜日
WEKAによる第401回ロト6予測
何はともあれ、とにかく分析しなくちゃならん。
他人はどう思うか解らないが、思いつくままやってみたい。
そいうわけで今回はミニロトとの相関をwekaにぶちこんでみた。
使用したデータは先行して始まったミニロトの結果がロト6の第一回目に影響を与えたのではないか?
という仮定で、以降現在に至るデータを使用した。
つまり直前のミニロトで出た結果がロト6の出目それぞれに対して、どれぐらい相関があるのか?
というような視点。
コイツアホじゃないか?と思うかね?
使用したスキームはregressionByDiscretization
離散的回帰?よくわからんがJ48という決定木のアルゴリズムを使用してる模様。
なぜこのスキームを選んだのか?
それは総当りで試してみて相関率がもっとも高かったから。
まったくの見当違いかもしれないが。
早速結果を示してみる。
第一数字 1.387
第二数字 4.056
第三数字 12.381
第四数字 18.971
第五数字 33.436
第六数字 33.994
ちなみに小数点以下のゴミは設定できる模様。
M氏はデフォルトのまま使用中。
近いとこ来てくれると嬉しいのだけど。
他人はどう思うか解らないが、思いつくままやってみたい。
そいうわけで今回はミニロトとの相関をwekaにぶちこんでみた。
使用したデータは先行して始まったミニロトの結果がロト6の第一回目に影響を与えたのではないか?
という仮定で、以降現在に至るデータを使用した。
つまり直前のミニロトで出た結果がロト6の出目それぞれに対して、どれぐらい相関があるのか?
というような視点。
コイツアホじゃないか?と思うかね?
使用したスキームはregressionByDiscretization
離散的回帰?よくわからんがJ48という決定木のアルゴリズムを使用してる模様。
なぜこのスキームを選んだのか?
それは総当りで試してみて相関率がもっとも高かったから。
まったくの見当違いかもしれないが。
早速結果を示してみる。
第一数字 1.387
第二数字 4.056
第三数字 12.381
第四数字 18.971
第五数字 33.436
第六数字 33.994
ちなみに小数点以下のゴミは設定できる模様。
M氏はデフォルトのまま使用中。
近いとこ来てくれると嬉しいのだけど。
登録:
投稿 (Atom)