中央値とは
中央値とは、データを小さい順に並べたときの中央にあるデータのことです。
中央値を用いると、外れ値に左右されずに、真ん中の値を求めることが出来ます。そのため、外れ値の多いデータやばらつきの大きいデータの真ん中を調べたい場合に利用することが多いです。
中央値をPythonで求める
今回は、新規顧客獲得のために広告としてTwitter, Facebookを用いていた際のTwitterとFacebookから曜日毎に新規会員がコンバージョンしたデータを用います。
コンバージョン(CV)とは、マーケティング用語の1つで、Webサイトに訪問した利用者が会員の登録や、商品購入、資料請求などの利益に繋がる成果の事を意味します。コンバージョンという用語は、扱う製品やサービスによって意味が異なりますので、その点注意しましょう。
・今回扱う広告データ
import numpy as np
twitter_cv = np.array([180, 80, 30, 50, 210])
facebook_cv = np.array([100, 120, 100, 120, 110])
データは、以下を意味しています。
このデータに対して、平均を求めてみます。今回はnumpyのmean()を利用します。
import numpy as np
twitter_cv = np.array([180, 80, 30, 50, 210])
facebook_cv = np.array([100, 120, 100, 120, 110])
# 平均値を計算
t_mean = np.mean(twitter_cv)
f_mean = np.mean(facebook_cv)
print("平均値(Twitter, Facebook):", str(t_mean), str(f_mean))
出力結果
平均値(Twitter, Facebook): 110.0 110.0
平均とは、全てのデータを足してデータの数で割ったものですが、出力結果から平均値は二つの広告間で変わらないことが分かりました。
続いて同じデータに対して、中央値を求めてみます。平均と同様にnumpyのmedian()を用いて求めます。
# 中央値を計算
t_median = np.median(twitter_cv)
f_median = np.median(facebook_cv)
print("中央値(Twitter, Facebook):" + str(t_median), str(f_median))
出力結果
中央値(Twitter, Facebook):80.0 110.0
平均値では同じ数値でしたが、中央値を求めるとそれぞれ違った値であることがわかりました。
少しでもコンバージョン数を高めたい場合、Facebookを利用した方が良さそうです。
ただ実際の業務では平均値と中央値だけで意思決定することは少ないです。平均値や中央値以外にも、最も頻繁に出現する値を知りたい場合に最頻値(モード)が使えますし、データのばらつきを把握するために、分散や標準偏差などの指標も使うことが一般的です。
おわりに
この記事では、中央値とは何か、どういった場合に利用するのかを解説し、Pythonを用いて中央値を求めてみました。
Pythonやデータ分析を効率よく学ぶには?
データ分析を効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。