本ページには広告・プロモーションが含まれています。

データ分析の環境

本書はデータを処理するためにプログラミング言語の Python とその関連ライブラリを使用します。

  • Python プログラミング言語
  • pandas 統計解析ライブラリ
  • SciPy 数値解析ライブラリ
  • NumPy 多次元配列や数学関数のためのライブラリ
  • Matplotlib グラフ描画ツール
  • scikit-learn 機械学習ライブラリ

実行環境

  • iPython オリジナルの Python シェルを強化したシェル環境
  • Jupyter Notebook iPython のフロントエンド

本書に登場するプログラムのコードは上記のようなツールを使うことを前提に書かれています。 処理結果のコードは大抵の場合 iPython で実行した結果を貼り付けています。

科学技術計算に特化した Python ディストリビューションの Anaconda を導入すれば上記の環境を手軽に構築できます。

OS は Mac OS を使っているのでパスの表記や構造は Mac OS (Unix/Linux) の環境に準じます。


ナンバーズの抽せんデータ

ナンバーズ3の当せん番号データを使用します。

当せん番号データは、みずほ銀行のオフィシャルサイト で入手できます。

ただしオフィシャルサイトでは抽せん日や回号、抽せん数字の履歴が CSV ファイルなど表形式で一括でダウンロードできないので http://vvslot.com/ からダウンロードして利用しています。(vvslot.comさん、この場をお借りして御礼申し上げます!)

vvslotさんからのデータを前処理して下記のようなカラム(列)に分割してタブ区切りのテキストファイルとして pandas の DaraFrame を作ってから処理します。

  • 回号
  • 日付
  • 曜日
  • 六曜
  • 抽せん数字
  • 抽せん数字 100の位
  • 抽せん数字 10の位
  • 抽せん数字 1の位

参考にナンバーズ3の第1回から第4170回のデータを公開していますのでダウンロードしてみてください。

ダウンロード: ナンバーズ3の第1回から第4170回のデータ

データ解析の環境が整えば下記のようなコードで pandas の DaraFrame を作ります。

import pandas as pd
# ダウンロードしたナンバーズのデータは media/ に置いてある
df = pd.read_table('media/numbers3-1-4170.txt', index_col=0, encoding='utf_8', dtype={'winning': str})
df.head()
# df.head() の出力結果
        date      dayofweek rokuyou winning  place100  place10  place1
number
1       1994-10-07          大安     191         1        9       1
2       1994-10-14          赤口     988         9        8       8
3       1994-10-21          先勝     194         1        9       4
4       1994-10-28          友引     105         1        0       5
5       1994-11-04          大安     592         5        9       2

Python モジュールの読み込み

本書で頻繁に使用する Python のモジュールは以下のようにインポートしています。

import pandas as pd
import numpy as np
import scipy.stats
# グラフ描画
import matplotlib.pyplot as plt
import matplotlib
matplotlib.style.use('ggplot')

さてここまで準備できたら、いよいよナンバーズ予想のためのデータ解析がはじまります!


最終更新日: 2019年12月26日(木)


目次

プロローグ

統計解析

データマイニング

資料集

Back to top