前回は、時系列データは元のデータが同じであっても、集計単位が異なるだけで、別のデータとして考えられる視点を説明した。しかし、データ分析における現実的な課題として、必要な粒度のデータが得られないことがある。今回は、このような課題への対処を説明する。

 時系列データを扱うと、細かいデータが欲しいにもかかわらず、粗いデータしか存在しない(公開されていない)といった問題に頭を悩ますことがある。例えば、四半期ごとでしか公開されていない国内総生産(GDP)について、月次のデータが欲しい場合だ。データの公開先に細かいデータを要求しても、さまざまな理由で取得が難しければ、結果としてデータ分析が進まなくなる。このような場合に打つ手はないのだろうか。

関数を考えるとーー

 データ分析のアウトプットの一つに「統計モデル」があり、統計モデルの具体的な表現方法の一つに関数がある。ここで関数とは「ある現象yの構造を、変数xを用いて説明する式」のことを指す。

 例えば、関数「y=β0+β1x」を考える。βはyの軸との交点の値(切片と呼ばれる)と傾きを表す。各βの値が分かっていてxの値が決まると、yの値が計算できる。また、xは1つでなく複数で考えてもよい。例えばyを年収としてxを年齢や職種とした場合、年収を年齢や職種で説明する関数になる。

 このような関数におけるβの値は、例えば回帰分析を用いた統計モデルを構築(モデリング)する過程で求められる。回帰分析とは、多変量間の関係を解析するための、最も基本的な統計手法の一つ(i)。βを解釈することで、分析対象について「説明」を試みることができ、モデル自体を使って予測もできる。回帰分析は、「R」と呼ばれる統計ソフトを使わずにExcelでもできる。

 さて、回帰分析において「xの値は変えられない」と思い込んでいないだろうか。例えば、「月次の株価を月次の対ドルレートで表した場合、月次の対ドルレートしか使えない」のか。

 モデルがある現象の構造を抽象化したものであれば、使い道をまず柔軟に考えてもよいはずである。例えば、ある現象yの日次データ「yday」は取得できないが、その現象の月次データ「ymonth」や、現象を説明するxの月次データ「xmonth」および日次データ「xday」が存在する場合、月次データで構築した統計モデルを利用して日次データを推測するなどである。もちろん単純にxの値を変えるわけではないため、モデルの妥当性や日次データと月次データの違いなどを検討しなくてはならない。

 ではここからは、実際にデータを使って考えてみよう。使用するデータは、「日経平均の高値」と「対ドルレート」である。なお、以下で行う分析やグラフの描画、推計値の算出は考え方の例を示すためのものなので、留意されたい。

 まず次の図は、日次データ(青色)と月次データ(赤色)を折れ線グラフで表したものである。左が日経平均で、右が対ドル。上側の元データから、前日との差の値をグラフにしたのが下側の図だ。

日経平均の高値と対ドルレート(上段が元データ、下段が前日差)
日経平均の高値と対ドルレート(上段が元データ、下段が前日差)