【統計用語】代表値とは

代表値とは

代表値とは、データ全体を表す値です。

代表値には、平均値、最小値、最大値、中央値、最頻値が該当します。

平均値

データの合計を個数で割った値。

最小値

データに含まれる最も小さい値。 

最大値

データに含まれる最も大きい値。

中央値(メジアン)

標本群を昇順(小さいものから大きいもの順)に並べたとき中央に位置する値。 

最頻値(モード)

度数の最も多い数値。

Pythonで代表値を算出してみよう!

numpyを用いて以下のように算出できます。

import numpy as np

twitter = np.array([180, 80, 30, 50, 210])
facebook = np.array([100, 120, 100, 120, 110])

# 平均値を計算
t_mean = np.mean(twitter)
f_mean = np.mean(facebook)

# 最小値を計算
t_minimum = np.min(twitter)
f_minimum = np.min(facebook)

# 最大値を計算
t_maximum = np.max(twitter)
f_maximum = np.max(facebook)

# 範囲(レンジ)を計算 (最大値と最小値の差)
t_range = t_maximum - t_minimum
f_range = f_maximum - f_minimum

# 中央値を計算
t_median = np.median(twitter)
f_median = np.median(facebook)

print("平均値(Twitter, Facebook):(" + str(t_mean) + "," + str(f_mean) + ")")
print("最小値(Twitter, Facebook):(" + str(t_minimum) + "," + str(f_minimum) + ")")
print("最大値(Twitter, Facebook):(" + str(t_maximum) + "," + str(f_maximum) + ")")
print("範囲(Twitter, Facebook):(" + str(t_range) + "," + str(f_range) + ")")
print("中央値(Twitter, Facebook):(" + str(t_median) + "," + str(f_median) + ")")
# 出力結果
"""
平均値(Twitter, Facebook):(110.0,110.0)
最小値(Twitter, Facebook):(30,100)
最大値(Twitter, Facebook):(210,120)
範囲(Twitter, Facebook):(180,20)
中央値(Twitter, Facebook):(80.0,110.0)
"""

最頻値のみstatisticsモジュールを利用する必要があります。

import statistics
twitter = np.array([180, 80, 30, 50, 210])
facebook = np.array([100, 120, 100, 120, 110])

mode_tw = statistics.mode(twitter)
mode_fb = statistics.mode(facebook)

print(mode_tw) # 180
print(mode_fb) # 100

sicpyでも最頻値(mode)を扱うことができますが、少し複雑です。

sicpy.modeは、値と頻度に分けて取得できますが、scipyのmodeでは、最頻値があった場合に最小のものを返します。そのため、twitterの最頻値では最小値は30になるため、30を返しています。

import scipy.stats as stats

twitter = np.array([180, 80, 30, 50, 210])
facebook = np.array([100, 120, 100, 120, 110])

mode_tw = scipy.stats.mode(twitter)
mode_fb = scipy.stats.mode(facebook)

print(mode_tw[0][0]) # 30
print(mode_fb[0][0]) # 100

import scipy.stats as stats
print(help(scipy.stats.mode))

出力結果

Return an array of the modal (most common) value in the passed array.
    
    If there is more than one such value, only the smallest is returned.

日本語訳すると以下のように記載されています。

渡された配列の中から、モーダルな(最も一般的な)値を配列で返します。
    
    そのような値が複数ある場合は、最小のものだけが返されます。

Pythonやデータ分析を効率よく学ぶには?

データ分析を効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。