記述統計と推測統計

Pythonで学ぶアンケートデータ分析

EbunOluwa Andrew

Data Scientist

記述統計

  • アンケートデータを要約する基本指標
  • 例: 平均・中央値・最頻値・範囲・標準偏差 など
  • .describe()

Lukas による写真 - グラフのクローズアップ

1 Photo by Lukas
Pythonで学ぶアンケートデータ分析

.describe() 関数

data.describe()
|      | year     | satisfaction_rating
|------|----------|--------------------
| count|       42 |                  42
| mean | 2012.381 |            7192.857
| std  |    4.196 |             945.178
| min  |     2006 |                5500
| 25%  |     2009 |                6325
| 50%  |   2012.5 |                7400
| 75%  |     2016 |                8000
| max  |     2019 |                8600
data.describe(include = np.object)
|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
Pythonで学ぶアンケートデータ分析

.describe() の解釈

  • 外れ値 = 最大値が平均・中央値より大きい
  • 不合理な値 = 値が論理的でない場合
|       | year     | satisfaction_rating |
|-------|----------|---------------------|
| count |       42 |                  42 |
| mean  | 2012.381 |            7192.857 |
| std   |    4.196 |             945.178 |
| min   |     2006 |                5500 |
| 25%   |     2009 |                6325 |
| 50%   |   2012.5 |                7400 |
| 75%   |     2016 |                8000 |
| max   |     2019 |                8600 |
Pythonで学ぶアンケートデータ分析

.describe() の解釈

  • Top = 最頻値 = 最も多いカテゴリ
  • Freq = 最頻カテゴリの出現回数
|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
Pythonで学ぶアンケートデータ分析

electric_satisfaction に対する .describe()

import pandas as pd

electric_satisfaction = pd.read_csv("austin-energy-customer-satisfaction.csv")
Pythonで学ぶアンケートデータ分析

electric_satisfaction に対する .describe()

electric_satisfaction.describe()
|      | year     | satisfaction_rating
|------|----------|--------------------
| count|       42 |                  42
| mean | 2012.381 |            7192.857
| std  |    4.196 |             945.178
| min  |     2006 |                5500
| 25%  |     2009 |                6325
| 50%  |   2012.5 |                7400
| 75%  |     2016 |                8000
| max  |     2019 |                8600
  • satisfaction_rating に外れ値あり
  • 第50パーセンタイル = 中央値
Pythonで学ぶアンケートデータ分析

electric_satisfaction に対する .describe()

|        | category    |
|--------|-------------|
| count  | 42          |
| unique | 3           |
| top    | Residential |
| freq   | 14          |
  • 最頻値 = Residential の回答者
Pythonで学ぶアンケートデータ分析

推測統計

  • データを母集団へ一般化できるか判断
  • 標本数 < 母集団サイズ → 標本誤差
  • 母数を推定
    • 信頼区間
      • norm.interval() 関数

Pexels の Andrea Piacquadio による写真 - 電球を持つ女性

1 Photo by Andrea Piacquadio on Pexels
Pythonで学ぶアンケートデータ分析

norm.interval() 関数

  • 大規模データ向け
  • 標本平均の分布は正規分布と仮定
import scipy.stats
scipy.stats.norm.interval(alpha, loc, scale)
  • alpha = 信頼水準
  • loc = 標本平均
  • scale= 標本標準誤差
Pythonで学ぶアンケートデータ分析

electric_satisfaction での norm.interval() の解釈

electric_satisfaction = pd.read_csv(
  "austin-energy-customer-satisfaction.csv")

conf_interval = st.norm.interval(
  alpha = 0.99,
  loc = np.mean(electric_satisfaction.satisfaction),
  scale=st.sem(electric_satisfaction.satisfaction))

print(conf_interval)
(6817.187361704269, 7568.526924010017)
Pythonで学ぶアンケートデータ分析

Let's practice!

Pythonで学ぶアンケートデータ分析

Preparing Video For Download...