多くの人が「統計」という言葉から「数字・計算いっぱい」「グラフ」「難しそう」などの印象を感じますよね。しかしPython(パイソン)ならデータ解析・統計に適したプログラミング言語であるため、比較的数字少なく、グラフ等が簡単に引けます。
「統計」には幅広いことに利用でき、そしてすでに利用されています。学校の偏差値から天気予報、Amazonの推薦商品などが身近な例です。そこで本記事では、そのような役に立つ情報を簡単に導き出すために、ソフトウェアプログラミング言語Python(パイソン)を使用してデータを解析する方法をお伝えします。
Pythonとは何か、できることは何なのか
そのため特別な事情がない限り、AI(人工知能)・データ解析・統計手法のツールを開発したい場合は、Pythonを使用するほうが良いでしょう。というのもPythonを使っている人たちは世界中にいて、世界中の知識・ツールが多く参考になります。それらを使うことで、効率的に学ぶことができ、実際に手を動かして作ることで気がつくこともあるでしょう。
次では、具体的なPythonを使用した統計手法例について紹介します。
Pythonでできる統計処理とはどんなものか、初心者でもできるよう解説
本節では、統計解析の手法の一つとして、シンプルな単回帰分析をPythonのライブラリを用いて行う方法について紹介します。ここではAWS Cloud9という実行環境を用意し、そこでやってみましょう!まず、環境構築方法のリストです。
- インターネットブラウザでAWS アカウント取得し、AWS Management Consoleへのログイン
- サービスCloud 9を選択し、「Create environment」により環境を作成
- New EnvironmentでNameに「Example」と入力し、Descriptionも適当に入力
- Environment settingsのEnvironment typeにはEC2を選択、Instance Typeはt2.microを選択
- PlatformにAmazon linuxを選択し、NextStepを押下し、しばらく待機
これで、AWS のCloud 9という実行環境が整いました。次に今回使用するPythonのライブラリをインストールします。
画面には(Unixベースの)ターミナル画面が表示されます。その画面で以下を入力し、ライブラリのインストールを行いましょう。
sudo pip install –upgrade pip
pip install numpy
pip install pandas
pip install matplotlib
pip install seaborn
pip install sklearn
必要なライブラリのインストールが終わったので、次は検証に必要なデータの取得です。
をターミナルに入力し、データをダウンロードしましょう。このデータはお祭りの来場者に対するからあげ屋さんの出店の数という架空のデータです。
さてこれで必要な環境は揃いました。では、Pythonの対話モードにより、プログラムを組んで単回帰解析を行います。
Python 3.6.10 (default, Feb 10 2020, 19:55:14)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> df = pd.read_csv(‘karaage_data.csv’)
>>> df.head()
x y
0 1 2
1 2 3
2 5 2
3 10 3
4 28 4
>>> x = df[[‘x’]] >>> y = df[[‘y’]]
以上により、CSVデータからプログラムへデータを読み込みます。続けて以下のプログラムによりデータを可視化してみましょう。
>>> import seaborn as sns
>>> mat.pyplot.plot(x, y, ‘o’)
>>> mat.pyplot.savefig(‘fig1’)
これによりCloud9上でfig1が作成されます。このファイル名をクリックすることで、実際のグラフを見ることができます。続けて、sklearnライブラリによる単回帰分析を行いましょう。
>>> model_lr = LinearRegression()
>>> model_lr.fit(x, y)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
これで完了です。では可視化してみましょう。
>>> mat.pyplot.savefig(‘fig2’)
これによりfig2.pngというファイルがCloud9コンソール上に表示されますので、それをクリックすると、結果が直線で表示されるでしょう。
このようにライブラリを使用すれば、こんなに早く簡単に単回帰分析が行えます!なお、scikit-learnライブラリを使用せずにNumpyのみ(基本数値処理ライブラリ)を使用した場合はこちらに記載されています。
先ほど単回帰分析をライブラリを用いて行いました。次では、Pythonで統計データ解析時の留意点について軽く記載します。
Pythonで統計データ解析をするときに気を付けたいこと
一方、統計において適用する手法を理解していないのであれば、まずは勉強することが大切。いくつものサンプルを通して、データの作り方・モデルの作り方・手法の適用方法・視覚化方法など学びましょう。
Pythonの統計学を学ぶときにおすすめの本
統計で多くのデータを扱うためには、行列計算が必須です。行列計算は高校数学Cで出てくるものですが、この本では必要な部分だけ抜粋しています。また様々な事例を課題化・データ化として落とし込みを行っており、現実世界の問題点を統計学へ適用する訓練にもなるため、参考になる文献ですので一度目を通しましょう。
次ではPythonにより統計データ解析ができるようになるメリットについて記載します。
Pythonの統計ができるようになって、資格を取ろう!
昨今、AI(人工知能)だけでなくIT界で望まれている人材の一つがデータサイエンティストだと言われています。データサイエンティストは、多くの事象を数字としてデータに落とし込み、結果に影響する相関関係を解析することで、結果を推測することができるでしょう。そのため、多くの経営者が根拠のある判断を下せるので、需要が高いです。
データサイエンティストの資格勉強を目指すことは、モチベーションにもつながるでしょう。基本的なIT知識を問われる「情報技術者試験」はもちろんのこと、Ptyhonに特化した「Python 3 エンジニア認定基礎試験」は受けましょう。更に、技術・知識を求められる人材になるためには、「統計検定」などがあります。
Pythonは多くの統計・データ分析に適したライブラリが充実しているため、世界中で使用されおり、初心者でも効率的に学び始められます。ライブラリを使用した具体的な例として、Amazon Cloud 9上で環境構築し、単回帰分析が容易に実行できます。
しかしながら、Pythonにより様々な統計手法が容易に実行できますが、その手法を理解してからライブラリ等を使用しましょう。また、Pythonにより理論と実践を学び、積み重ねて行くことは、合理的な判断と根拠を示すことができるようになりますので、信頼度があがるメリットもあります。
Pythonは統計データ解析を行う上でベストな選択肢であり、初心者にもおすすめです。またAI(人工知能)の普及に伴い、必ず今後も必要になるツールの一つです。統計学だけを学び、今後アナリストとしての道を選択するのも良いですが、机上の空論で終わらせず、結果を出す意味でも手が動かせる(プログラミングできる)人材はさらに価値が高くなるでしょう。
そのような人材になれば、必ずどこの企業もあなたを重要視するに違いありません。ぜひ少しづつ学びあなたの価値を上げていきましょう!