時系列分析 2
気温の年々の変動の自己相関係数から、1年前の気温と逆になる傾向があることが分かった。次は、月ごとの平均気温について分析してみよう。
気象庁が公表している日本の年平均気温は、網走、根室、寿都、石巻、山形、銚子、飯田、伏木、彦根、境、浜田、多度津、宮崎、名瀬と石垣島の合計15観測点の気温データを用いて計算されている。そこで、これらの15観測点の月ごとの平均気温データがそろう1898年以降の月別の平均気温を集計した。このデータは、あらかじめCSV形式に変換し、それを読みこむ。
MonthTemp<-(read.csv ("http://u4ren6.com/R/data/MonthTemp.csv",header=F))
続いて
MonthTemp<-ts(MonthTemp, start=1898,end=2014,frequency=12)
とすると、1989年から2014年までの月ごとの時系列データとなる。frequencyは時間単位、つまり年ごとの観測数である。
データを確認するために、
MonthTemp
と入力すると、
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1898 4.1 4.0 4.8 10.6 15.4 18.7 23.8 24.7 20.7 15.8 11.5 6.5
と表示され、時系列データであることは確認できた。ところが、データの末尾は、
2013 3.1 4.1 8.4 11.5 16.2 20.8 25.0 26.2 22.5 18.1 11.3 6.3
2014 4.0
となり、最後までデータが表示されなかった。end=2014の指定が、通常の感覚とはずれている可能性が考えられた。
データの数がそろっているのであれば、endを指定する必要がないため、
MonthTemp<-ts(MonthTemp, start=1898,frequency=12)
とし、MonthTempと入力したところ、データ末尾が
2013 3.1 4.1 8.4 11.5 16.2 20.8 25.0 26.2 22.5 18.1 11.3 6.3
2014 4.0 4.2 7.5 12.1 17.0 21.1 24.4 24.8 21.7 16.9 12.1 5.2
となり、時系列データが正しく設定された。
ts.plot(MonthTemp)
と入力し、時系列データを確認してみると、
冬の気温が低く、夏の気温が高い周期を示すグラフが得られた。
ここで差分を計算するdiffを用いる。
ts.plot(diff(MonthTemp))
季節による振動が目立ちすぎるが、前のグラフに見られたわずかな上昇傾向が消されていることが分かる
次に、自己相関係数を計算してみる。
acf(diff(MonthTemp))
周期12の、つまり月ごとの関係が強いことが分かる。
(2015.1.23)
|