blog/content/posts/2020/2020-05-16-summary-of-data-...

8.0 KiB
Raw Blame History

+++ title = "データサイエンス入門講座で学んだことをまとめます" date = 2020-05-16T20:12:22+08:00 description = "データサイエンティスト入門講座を受講していて学んだことをまとめてみましたよ。" tags = ["python"] categories = ["Visualization"] author = "kazu634" images = ["ogp/2020-05-16-summary-of-data-science-class.webp"] +++

【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門」で統計について学んだことをここにまとめていきます。

前提

【Practice】Boxed Lunch Sales Forecasting | SIGNATE - Data Science Competitionで入手できる、以下のような表データを例に取り上げて見ていきます:

datetime y week soldout name kcal remarks event payday weather precipitation temperature
0 2013-11-18 90 0 厚切りイカフライ NaN NaN NaN NaN 快晴 -- 19.8
1 2013-11-19 101 1 手作りヒレカツ NaN NaN NaN NaN 快晴 -- 17.0
2 2013-11-20 118 0 白身魚唐揚げ野菜あん NaN NaN NaN NaN 快晴 -- 15.5
3 2013-11-21 120 1 若鶏ピリ辛焼 NaN NaN NaN NaN 快晴 -- 15.2
4 2013-11-22 130 1 ビッグメンチカツ NaN NaN NaN NaN 快晴 -- 16.1

基本統計量について

基本統計量 | トライフィールズによれば、

基本統計量とは、データの基本的な特徴を表す値のことで、代表値と散布度に区分できる。代表値とは、データを代表するような値のことで、例えば、平均値、最大値、最小値などがある。散布度とは、データの散らばり度合いを表すような値のことで、例えば、分散、標準偏差などがある。

とのこと。

今回はPythonのライブラリPandasを用いて基本統計量を確認していきます。

Pandasで出力される基本統計量について

describe()を実行すると、以下の要素が出力されます:

y soldout kcal payday temperature
count 207.000000 207.000000 166.000000 10.0 207.000000
mean 86.623188 0.449275 404.409639 1.0 19.252174
std 32.882448 0.498626 29.884641 0.0 8.611365
min 29.000000 0.000000 315.000000 1.0 1.200000
25% 57.000000 0.000000 386.000000 1.0 11.550000
50% 78.000000 0.000000 408.500000 1.0 19.800000
75% 113.000000 1.000000 426.000000 1.0 26.100000
max 171.000000 1.000000 462.000000 1.0 34.600000

ここの要素の説明は以下になります:

  • count: 要素の個数
  • mean: 算術平均
  • std: 標準偏差
  • min: 最小値
  • 25%, 75%: 1/4分位数、3/4分位数
  • 50%: 中央値median
  • max: 最大値

要素の個数について (count)

そのデータの個数を示します。ライブラリのPandasが空データと判断したものは除外して表示してくれています。

上の実行結果で、例えばyに注目すると、空ではないデータが207個あることがわかります。

平均について (mean)

要素の平均を示します。

上の実行結果で、例えばyに注目すると、yの平均は86.623188であることがわかります。

標準偏差について (std)

標準偏差を求めます。高校で数学を学んでいたときは理解できていなかったのですが、標準偏差というのは「平均 ± 標準偏差」の範囲に大体のデータが集中している…というように読むものだそうです。知らなかったです。

上の実行結果で、例えばyに注目すると、yの大体のデータは54〜118の範囲に分布しているというように読むようです。

最小値 (min), 最大値 (max), 中央値 (50%)について

最小値は一番小さな値。最大値は一番大きな値。中央値は真ん中の値。

中央値は平均とは違い、データの個数で割るということをしていないので、純粋に真ん中の値になることに注意が必要です。

25%, 75%について

25% (percentile)は最小値から数えて25%に位置する値のこと。75% (percentile)は最小値から数えて75%に位置する値のことです。

こちらも平均とは異なるので注意。

グラフについて

知らなかったグラフをまとめるよ。

ヒストグラム

ヒストグラムはこんな感じのグラフです。一つの列に注目して頻度の分布を求めるために使うようです:

Untitled

このグラフを見ると、40〜60の値をとっているデータの個数が一番多いということがわかります。注目している列の基本統計量を見ると、このようになっています:

Item Value
count 207.00000
mean 86.623188
std 32.882448
min 29.000000
25% 57.000000
50% 78.000000
75% 113.000000
max 171.000000

y軸の合計が207。「平均値±標準偏差」の区間に大体のデータが集約されているので、54〜118の区間に大体のデータが集まっている。平均は86で、中央値は78。

この基本統計量から読み取れる情報と、実際にグラフ化してみて分かる情報は結構違うなぁと思いました。

箱ヒゲ図

箱ヒゲ図は2つの列に注目して、関係を調べるために利用するようです。株の投資とかでよく見かけるグラフですが、正直見方をわかっていませんでした。。このように見ればいいようです:

Untitled

曜日ごとに分類した場合に、木曜日は50後半〜100の間に多くのデータが分布していて、特定のロジックに基づいて外れ値を検出などもしつつ適切な範囲の最小値と最大値を求めているようです。このため、箱ヒゲ図の最小値と最大値は基本統計量とは異なるようです。

散布図

二つの列に注目して、一方が増えると、他方がどうなるかといった関係 (= 相関関係と呼ぶみたい)を調べる図だそうです。

Untitled

このグラフは2つのデータはあんまり関係ない…と読むみたい。

まとめ

基本的な概念を学ぶことで読み方がわかってきましたよ。