Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Pythonではじめての統計~基本情報の確認から検定まで

Pythonによるデータ解析入門 第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/11/15 14:00

 本稿ではプログラミングの基本は理解しているがより実践的なデータ解析に取り組みたい方を対象に、スクリプト言語によるデータ解析の実践を解説します。スクリプト言語の中でも特にデータ解析に役立つライブラリや環境が整っているPythonをとりあげ、対話型解析ツールやライブラリについて導入から解析の実行・可視化までを解説します。本稿ではPythonによる統計データ解析を解説します。まず統計の概観について確認し、Jupyter Notebookを使った基本統計量の確認・相関・検定の手順を解説します。

目次

対象読者

  • Pythonの基本的な文法を理解しておりデータ解析のスキルアップに取り組みたい方

サンプルの動作確認環境

  • MacOS 10.13
  • Anaconda 5.1
  • Python 3.6
  • Jupyter Notebook 5.4

統計の概要

 この章では実際にPythonでの統計処理に入る前に、統計自体について簡単に触れていきます。

統計とは

 統計とは「事象の個々の構成要素(サンプルや標本と呼びます)を調べ、事象全体を推定する」ことです。統計は英語でstats(統計学はstatistics)ですが、国を表すstateという言葉から派生している語です。国に関する情報のように、全てを調べることが難しい対象についても、その全体像を予測しようという数学にもとづく学問です。

 サンプルから全体を予測するために、分布を想定するのが一般的な統計の特徴です。

統計の基本的要素

 統計で頻出する基本的な用語について説明します。

  • 平均:データを代表する値(代表値)の一つです。代表する値としては他に中央値や最頻値があります。
  • 標準偏差:データのばらつき具合を表す値です。
  • 分布:値がある確率で出現する場合にその確率の様子を表したものです。

 例えば、正規分布は平均と標準偏差で表現できます。標準偏差をσとすると平均から±σの範囲でデータが68%、±2σの範囲で95%収まる、といった性質があります。

Pythonではじめての統計

 Pythonで統計を活用したデータ解析を行う方法を紹介します。今回はデータ解析のためのライブラリであるPandasの他にSciPyを利用します。SciPyは高度な科学計算を行うためのライブラリです。

準備

 Pythonによるデータ解析を進める環境としてJupyter Notebookを使います。導入方法や基本的な使用方法は連載の第1回記事を参照してください。

 前回の記事と同じく、解析対象のデータとして、2017年のテニス(ATP:テニスのプロ組織)の試合データを用います。

 データソースとしてはJeff Sackmann / Tennis Abstractにクリエイティブ・コモンズのライセンスで公開されているデータを使います。

ライブラリの導入とデータロード

 まず必要なライブラリをインポートします。

 NumPyPandasmatplotlibと今回はSciPyをインポートします。SciPyの中で統計の計算も手軽に利用できるstatsモジュールを利用します。

import numpy as np
import pandas as pd
import scipy.stats as st
import matplotlib.pyplot as plt
%matplotlib inline

 データセットはCSV形式(カンマ区切りのテキストファイル)です。PandasのDataFrameとして読み込むため、read_csv関数を呼び出します。

df_raw = pd.read_csv('https://github.com/JeffSackmann/tennis_atp/blob/master/'
                 'atp_matches_2017.csv?raw=true')

 これでデータフレームのdf_rawにデータが格納されました。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 西 潤史郎(ニシ ジュンシロウ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きた...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:Pythonによるデータ解析入門
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5