データのお砂場(30) R言語、UKgas、英国のガス消費量4半期毎

Joseph Halfmoon

R言語所蔵のサンプルデータをABC順にみております。今回登場は1960年代から80年代中盤にかけての英国のガス消費量のデータです。時系列データの定番サンプル的なやつ。結構あちこちで目にするような気がします。データは天然ガス限定と書いていないですが、今や無色無臭の天然ガスも、ガス臭い、いや、きな臭くなった世界。

※「データのお砂場」投稿順Indexはこちら

さて、サンプルデータセットの説明ページは以下です。定番データといいつつ、素っ気ないページです。残念ながら大した処理例も書いてありません。後はこちらを見てね、みたいな感じでリンクが張ってあるのですが、リンク切れてます。

UK Quarterly Gas Consumption

しかし、流石に定番データ、いつもお世話になっております同志社大の方の以下のページでもいろいろ処理例が書かれていたので、今回は以下ページでご紹介いただいている例を中心に演習させていただきました。

Rと時系列(1)

ガスの単位

サンプルデータは、非常にシンプルな時系列データです。4半期毎の消費量を26年分並べた時系列データです。ただそこで使われている単位、なじみがないものです。Thermとな。英国らしく ヤードポンド法の単位みたいです。non-SIだぜ。

熱量の単位。100000 British thermal unit(BTU) ≒ 105.5Mジュール

だそうな。門外漢、まったく実感ありませんな。熱量の単位なのでいくつか前提条件を置かなければ体積には変換できないと想像します。しかし前提条件は知らず2.83立米という数字を見つけました。数字が独り歩きするの類?でも「立米」言われると分かった気になるのはなぜ。

データは therm のような「小さな」単位ではなく、1国の消費量であるので millions of therms 単位の数字です。1985年前後で消費量の多い4半期で1000millions of thermsくらい。少ない四半期では数百 millions of therms といった感じ。今の日本と比べたらどんな雰囲気なんでしょうか?以下のページを見つけました。天然ガスの消費量です。サンプルデータの方はただガスとあるので天然ガスだけでない可能性も大有りですが、まあ雰囲気はいけるじゃないかと勝手に想像。

国内の天然ガス消費量

なお、上記のページで採用されている単位はメートル法の容積でした。

bcm (billion cubic meter) 10億立米

先ほどの数字で勝手に換算するならば、

1000 millions of therms ≒ 2.83 bcm

上記ページによれば、最近の日本では年間100bcm、英国では73bcmを消費しておるのだそうな。ザックリした暗算で最近は1985年付近の数十倍の消費量になっているような気がします。大丈夫か?暗算なんてできたのか?

それでも近年消費量は年数%という感じですが減少傾向だそうです。

まずは生データ

いつも生データは、ロードしたあと、class()してhead()してましたが、今回はstr()してみました。一発でデータ形式とその先頭付近のデータが見れます。数少ない処理例のお陰。

RawData

時系列プロットなので、ts.plot()を呼んで生データそのままのグラフを描いてみます。ついでに開始、終了、そしてfrequency(4は1年に4回の意だとおもいます。)

plotOpr

グラフが以下に、典型的な?季節変動パターンかと。それが年々振れ幅がデカくなっていて「どうすんの」という感じ。plot

差分をとればトレンドは消えて、季節変動が残るということで差分プロット。

plotDiff
差分のラグもいろいろ変化させてみます。
plotOpr2
4半期x4で一年ずらして差分をとると、対前年同4半期のグラフ。1970年頃から大きく伸びることがあったのね。時々大きく落ち込むのは不況かxxショックの類か?plotDiff2

Rと時系列(1)の処理例ではもっとカッコ良かったです。ラグ変えてグラフ描くのも一撃(勝手に余白調整を入れてしまいましたが。)

plotOpr3

そのグラフが以下に。

plotDiff3

また時系列で周期性のあるデータで定番の自己相関は以下で

acfOpr

そのグラフ。綺麗な季節変動?acfPlot

スペクトルで見ることもできると。

spectrumOpr

グラフは以下に、周期1年のスペクトルが卓越?

spectrumPlot

季節変動ばかり見て来たけれどもトレンドが知りたい

上記では季節変動の抽出ばかりでしたけど、私は長期のトレンドが知りたいです。当然、R言語にはそのための関数もありました。まさに季節変動取り除く、ドンピシャの機能が以下に。

Seasonal Decomposition of Time Series by Loess

良く分かってもいないのに「適用」してみたところ。

stlOpr

グラフが以下に。stPlot

上から、生データ、季節変動分、トレンド、そして残差という感じですかね。真似っこでもなんとなくグラフは描けると。しかし、ここの設定の詳しい意味を調べないと。。。

データのお砂場(29) R言語、UCBAdmmissions、UCバークレーの入試男女比? へ戻る

データのお砂場(31) R言語、USAccDeaths、米国における事故死データ6年分 へ進む