Google Colaboratory を利用した統計解析
スプレッドシートで同じことをする場合は1. スプレッドシートを利用して統計解析 一様乱数の生成を参照
Pythonを利用してインタラクティブに解析を行う場合には、Jupyter Notebookが大変便利だけれど、コマンドラインを利用してコンピュータの環境の設定ができない場合には、かなりハードルが高いものとなってしまう。
そんな場合には、Google Colaboratoryがとても便利
利用時は次の点に留意
- ブラウザーとしてGoogle Chromeを利用(他のブラウザーはサポートされていない)
- Googleのアカウントが必要
Google Chromeを起動して、Googleアカウントにログインしたら、Google Colaboratory
を開く
表示されるドロップダウンリストから"New Python3 notebook"をクリック
実際にプログラムが動作するのは、Google Cloudの上なので、新しいNotebookを作成するにはちょっと時間がかかる
右肩のステータスの表示が"CONNECTED"となるまで、少し待つ。
(Notebookを開いている間に、接続が切れてしまうことがあるので、その時をこの部分をクリックして、再度"CONNECTED"となることを確認する。)
ここでは初期設定を実施
- %matplotlib inline: Jupyter notebookを利用した時にグラフをその場で表示するためのおまじない
- matplotib : グラフ作成用モジュール
- numpy : 数値計算用モジュール
%matplotlib inline
from matplotlib import pyplot
from numpy import random, array
フィールドの内部のコードを実行するには、フィールドの左部分の ボタンを押す
colab.research.google.com_drive_19eZ6f13sGEadzZZDuss-XmGkKyzPoQlv(iPad).png
numpy を利用して乱数を作成する
NUMBER_OF_VALUES に 何個の乱数を作成するかを指定
- 実行する度に異なった乱数が生成される
- 乱数の生成範囲は [0,1) 0以上1未満の実数
メニューの"+ CODE"をクリックしてフィールドを追加
NUMBER_OF_VALUES = 10
random_number_array = random.random(NUMBER_OF_VALUES)
random_number_array
フィールドの内部のコードを実行するには、フィールドの左部分の ボタンを押す
作成した乱数のヒストグラムを表示
メニューの"+ CODE"をクリックしてフィールドを追加
pyplot.hist(random_number_array, bins=5)
pyplot.show()
フィールドの内部のコードを実行するには、フィールドの左部分の ボタンを押す
数が少ないので、一様乱数かどうか、グラフからは良くわからない
そこで、もっと多数の乱数を生成する
NUMBER_OF_VALUES = の値を変更する
メニューの"+ CODE"をクリックしてフィールドを追加
NUMBER_OF_VALUES = 100000
large_random_number_array = random.random(NUMBER_OF_VALUES)
pyplot.hist(large_random_number_array, bins=10)
pyplot.show()
フィールドの内部のコードを実行するには、フィールドの左部分の ボタンを押す
10万個のデータを利用した結果、度数が全ての領域でほぼ同じ事から一様乱数にみえる
スプレッドシートからデータをコピペする
Python等の言語を利用する場合にスプレッドシートのデータを気軽にコピペして使えないからかも知れないので、スプレッドシートからデータをコピーして利用する
スプレッドーシート上で
-
データの範囲をマウス等を利用して選択
-
データをコピーする
下記のフィールド上で
- temp='''の次の行から'''の間にデータをペーストする(記載されているデータを置き換える)
メニューの"+ CODE"をクリックしてフィールドを追加
temp = '''
0.3196471909
0.5988571351
0.04787251204
0.9621505055
0.6476701195
0.415422835
0.4098646439
0.7477808772
0.09884921312
0.1879705363
'''
data = array([float(item) for item in temp.split()])
data
フィールドの内部のコードを実行するには、フィールドの左部分の ボタンを押す
こうしてスプレッドシートのデータをコピペして利用できる
取り込んだデータの統計値を計算
- 平均値を算出: data.mean()
- データの個数: data.size
メニューの"+ CODE"をクリックしてフィールドを追加
print(f'Average: {data.mean()} Data count: {data.size}')
フィールドの内部のコードを実行するには、フィールドの左部分の ボタンを押す
今回利用したノートブック(そのままでは編集できないので、Google Driveに保存してから利用)
今日はここまで