メニュー 閉じる

比率と時系列データを賢く使え!【社会人のためのデータサイエンス入門Week3】

「今日もデータサイエンスしてますでしょうか?」

 

今回は駆け込み的にWeek3を学びました。締切当日に駆け込みで見ました。
みなさんは計画的に学ぶように心がけましょう!

さて、今回は主に比率と時系列データについて学びました。
比率といえば私達が普段から何気なく使っている分析方法といえますね。

例えばBMIは以下の式で計算されます。

 

$$BMI=\frac{w}{h^2}$$

$$ \LaTeX{} $$

 

きれいに数式表示されてますね。理工系の人にはとっても嬉しいですね。
さて、この式は身長(h)の2乗に対する体重(w)の比率を指しています。

同じように何かに対して何らかを基準(分母)として、
何かの割合(分子)を見たい時は比率で見ることがあります。

 

比率の作り方は実は2つある?

 

比率を求めるときはどのような数を分母に置くかがポイントです。
例えば、構成比で見ると地域的特色がはっきりすることがあります。

 

(例)各産業の就業者数/地域の総就業者数

 

ここで使われている比率は「構成比」です。構成比とは総数とその内訳の比率です。
他にも「参加者に占める男性の割合」とか「全世帯における世帯収入1000万円以上の世帯割合」などです。

一方で相対比という比率の作り方もあります。
相対比とは異なるデータを分子、分母に取った比率です。
例えば、先程取り上げたBMIは身長と体重という違うデータを分母と分子に取る相対比と言えます。

 

次の比率は構成比でしょうか、それとも相対比でしょうか?

15歳未満人口割合→?
人口密度→?
一人あたり県民所得→?

総人口に対する15歳未満の割合ですから、構成比ですね。
面積あたりの人口の割合ですから、相対比ですね。
県民数に対する県民総所得ですから、相対比ですね。

 

例えば一人あたり県民所得という比率は集団の大きさの影響を消去しています。
このように集団を相互比較するときは、集団の大きさを打ち消すと新しい気付きがあります。
例えば、都道府県比較をする時は「面積あたり」「人口一人あたり」で見てみることができます。

面積が大きければ大きいほど量が増えるものがあります。そういうものは面積あたりで見ます。
例えば、面積あたりの温泉の数、面積あたりの道路実延長などです。

人口が増えれば増えるほど量が増えるものもありますよね。例えば、
人口あたりのビール消費量、人口あたりの自家用車保有数などです。

その両方が考えられる場合もあります。その際はどちらが正しいということはなく、
別の視点で比率を見ているということになります。

例えば人口あたりのコンビニエンスストア数は一人あたりにどれくらいコンビニがあるかを把握できますし、
面積あたりのコンビニエンスストア数はどれくらいの距離にコンビニがあるかを把握できます。

 

相関係数を使うときの注意点

 

相関関係は、何かしらのデータと別のデータとの関係を把握することです。
しかし、実数を使って相関を調べると背後に存在する規模に関する変数の関係を見てしまうことがあります。

 

(例)都道府県人口と女性の数

 

都道府県人口が増えると女性の数は増える→総人口に影響を受けているためです。
当然ではありますが、人口が多い国は女性の数も多いはずですよね。

このような時、総人口数と女性の数の相関関係を見ると、
ほぼ相関係数は1に近づくことが予想できます。

こうしたときは比率を用いると相関関係が正しく把握できます。
例えば、女性数を比率として相関係数を見てみましょう。

都道府県人口と女性比率の相関関係を見てみると、
「人口の多い都道府県ほど女性の割合は低い」ということがデータからわかります。
相関係数は低いもののデータをプロット(表に書くこと)してみると何らかの関係がありそうです。

 

また、よくやってしまいがちなのですが、
同じ変数を分母とする構成比同士の相関係数では変数が一つ減っていることに注意しましょう!

 

(例)都道府県の女性比率と男性比率の関係

 

女性の比率と男性の比率を足すと必ず100%になるため、必ず相関係数は−1になります。

変数というのは実は難しい言葉ではなく、そのまま「変化する値」のことです。
シンプルに考えて女性比率が少し増えれば、男性比率は少し減るし、その逆もしかりです。

 

$$\frac{東京都の女性数}{東京都の総人口}+\frac{東京都の男性数}{東京都の総人口}=1$$

 

女性の割合が増えるほど男性の割合が減るとなるので相関係数は-1になります。

 

時系列データは順序が大事!

 

時系列プロットでは通常、左から右に時間が進む順序でプロットしていきます。
実際の値を見ていてもわからないのですがプロットしてみると全体のデータの動きがわかりますね!

 

(例)消費者物価指数・鉱工業生産指数

 

消費者物価指数は小さく変動、鉱工業生産指数は時系列の動きが大きいのはなぜだろう?
また、時系列データの観測頻度の種類は色々あることがわかります。

例えば年次データ、半期データ、四半期データ、月次データ、週次データ、日次データ、時間データ
不規則間隔データ(地震や台風)というものもありますね。

 

(例)東証株価指数は年次データでもあり、月次データでもあり、日時データでもある

 

会計を勉強した人は必ず見たことがあると思いますが、年次データには2種類あります。
暦年データ(カレンダーイヤー)と年度データ(フィスカルイヤー)です。

前者は1月から12月までの年次データですが、
後者は会社によって4月から3月だったり、6月から5月だったりします。
本当に同時期のデータを比較したいのであればすべて暦年データに調整することが必要です。

また、データの種類も2つあります。
例えば「ストックデータ」というのはある一時点の状態をとらえたものです。
対応するデータとしては「フローデータ」があり、これはある期間内の発生数や変化量です。

この2種類のデータを比較することはできなくはありませんが、
どのように調整したらより現実に近くなるかは常に考える必要があります。

 

(例)会計の貸借対照表(BS)と損益計算書(PL)は、
どちらがストックデータでどちらがフローデータだろう?

 

時系列データは様々な調整によって比較可能になる

 

時系列データは様々な加工を施すことが多いと言います。

例えばGDP統計は現在の貨幣価値と過去の貨幣価値が異なるため調整を行います。
よく聞く名目GDPは「その時その時の価格により表したGDP」を指しています。
また、実質GDPは「ある基準時の価格により表したGDP」です。

2種類のGDPがあるのは、時代によって価値が変動しているため、
単純に同じ数字だから同じ価値だということができないからです。

例えば、戦後の日本は数十円でご飯がお腹いっぱい食べれたはずですが、
今ではうまい棒一本しか購入できません。このような時代の違いを反映するために、
どこかしらに基準を置いて、そこを視点にどれくらい変化したかを把握します。

つまり、実質値は名目値を何らかの価格指数で割ることにより求められます。

価格指数とは個別の財・サービスの価格を2時点 (基準時と比較時) の比率で示したもの。
基準を設けて全体の価格がどのように変化しているかを見るための指数です。
一般的には基準年を100として見ることが多いということです。

 

また、月次や四半期データは季節性があることがあります。
季節によって需要が増えたり減ったりする。また社会制度や慣習により変化しますね。

(例)夏は暑いのでアイスの消費量が増える
2月は授業料納入があるので学費支出が増える

そこで、季節性を考慮する簡単な方法として前年同月比という見方があります。
これによって、いつの時点が前年同月と比べて増えたか減ったかを明らかにできます。

ただし、前月から当月への変化動向を考慮することは困難なため、
季節調整(季節変動を除去)することで季節調整値を導くことがあります。

季節調整にはいくつかの方法がありますが、日本では移動平均(※4)の考え方を使った
統計的な手法(センサス局法(※5))が広く使われています。
季節調整値は、季節要因による変動が除かれているため、当月と前月や前々月などとの比較が可能となり、
直近の動向を確認することができることなど、精度の高い比較・分析が可能となります(図2)。

https://www.stat.go.jp/koukou/trivia/careers/career9.html

 

時系列データからの予測方法

時系列データは様々な分析に使うことができます。

 

  1. 相関係数を用いて2つのデータの関係を見る
  2. 過去・現在の値から将来の値から将来の値を予想

 

この際に見せかけの相関に注意しましょう。
特に双方の時系列にはっきりとしたトレンドがあるときは見せかけの相関が起こりやすくなります。

自己回帰モデルによる予測は過去のデータを用いて回帰します。

$$Xt=a+bt+εt (t=1,2,3…Nt)$$

つまり時点tにおいて1時点前までのデータy t-1を用いて回帰するということです。
このように自己回帰モデルは過去の観測値から予測することができます。

多項式回帰モデルでは、複数の変数から相関を発見します。
一般的に重回帰分析ということがあります。(厳密には重回帰分析の一種)

あまり高次の多項式を当てはめることは望ましくないのですが、
これは機械学習モデルでもよく出てくる「オーバーフィッティング」という現象が起こるためです。
今回はオーバーフィッティング(過学習)については解説しません。

 

一般的に自己回帰モデルでは当然過去の変数を用いることで精度を高めることもできます。
もちろん、過去の変数が全く将来予測に当てはまらない可能性もありますが、
それはデータをプロットしてみたり、回帰モデルを回してみないと分かりませんね。

また、講義ではトレンドがある場合には適用できないと説明されています。
詳しくはまた時系列分析の教科書等を参考にして頂ければと思いますが、
トレンド性というのは「非定常過程を持つ」といえます。

非定常過程のデータは差分を取ることで定常過程に変換しモデルを構築する必要があります。
ちょっと、難しいのですが「定常性」というのはつまり、平均に回帰することです。
大きく外れたデータが出たとしても最終的にたくさんデータを集めたら、
平均に収まるようなデータは定常性があると言えるわけです。

しかし、トレンドがあるということは平均が移動していくことがあるわけです。
現実的には株価などほとんどは上昇傾向にあると思います。これは非定常です。

こうしたデータは例えば前期と今期の差を取ることで定常にできます。
要するに時間に依存しないようにデータを修正してあげることができます。

ただ、現実的には多くの場合一つの時系列だけでその将来の値を予測することは困難です。

時系列データを活用すると、多量の時系列データの分析ができます。
また、時系列の背後にある潜在要因の推定をすることができるということだけ頭に入れておきましょう。

 

まとめ

今回は比率の扱い方と時系列データについて学びました。
ここでは難しい時系列データ分析手法や多項式回帰分析手法については触れません。

興味のある方はまたご自身で調べてみると良いかもしれません!