数値データの対数(log)を取る方法

GDPや企業の売上はロングテール型のデータ分布になる傾向にあります。

下記のチャートは、World Bank Groupから取得してきた2017年のGDPと人口のデータです。

GDPと人口の散布図を見てみると、値が小さい方にデータが集中しています。

値の大きいデータは、United StatesやChina、Indiaのようです。

これらのロングテール型のデータでは、散布図などでデータを表現するのが難しくなってしまいます。

しかし、GDPと人口の対数をとってあげることで、下記のようにデータの分布をより理解しやすいものに変えることができます。

それでは、実際に対数化してみましょう。

メニューから数値関数を使うを開き、log10を選択します。

今回使用しているlog10とは、10を何乗した値のことを言います。

例えば、値が100の場合は、log10の2乗になります。値が1000の場合はlog10の3乗といった感じです。

そのほかに、log2(2の何乗した値)やlog(自然対数の何乗した値)などもあります。

対数に関する詳しい話は、こちらを参照ください。

新しく列を作成し、関数にlog10()が入っていることを確認して、実行します。

対数化されたSalesの列が作成されました。

同様に、人口を表すPopulationもlog10します。

GDPと人口のどちらも対数(log)を取ることができました。

次に、散布図を作り確認していきます。

チャートを作成して、チャートタイプは散布図、X軸にはPopulation_log10、Y軸にはGDP_log10を選択します。

対数化されたGDPと人口の散布図を作ることができました。

次に、トレンドラインの線形回帰を引いていきます。

Y軸のメニューからトレンドラインをクリックします。

トレンドラインのタイプは線形回帰を選択します。

散布図にトレンドラインを引くことができました。

ロングテール型のデータは、対数化することによりデータの分布を理解しやすい形に変えることができます。 また、散布図の時に使用している線形回帰はピアソンの積率相関を使用しているため、正規分布のほうが結果にいい影響をもたらすことがあります。