今年の夏は暑かったか

今年の夏は暑かった。で、大人の間で、こういう時によく話題になるのは、「子供の頃って、こんなに暑くなかったよね?」ってハナシだ。印象としては、そうだが、それを統計的に検証してみよう。

データ収集

とりあえず、子供の頃=1980年ということにする。1980年の8月の気温の情報は、気象庁|過去の気象データ検索から取ってくる。1980年当時、岐阜県に住んでたけど、とりあえず現在住んでいる横浜のデータを使うことにしよう。気圧とか天気概況とか、いろいろな情報を取れるけど、ひとまず最高気温と、参考までに最低気温の情報を取ってくる。

1980年8月の横浜の気温
最高気温最低気温
124.619.6
222.118.9
32018.2
421.518.4
525.519.4
624.118.9
726.319.6
823.718.7
92717.6
1026.918.8
1128.819.1
1229.920.9
1330.121.9
1431.423.4
1531.823.6
1623.820.7
1727.720.8
1827.722.4
1928.721.9
2026.521.4
2127.821.5
2225.121.9
2328.722.9
2430.222.7
2527.321.9
2622.117.7
2721.217.3
282719.8
2925.522.1
3027.322.4
3124.422.8
同様に今年の8月の横浜の気温情報も取ってくる。
2010年8月の横浜の気温
最高気温最低気温
133.125.9
231.326.8
332.626.3
432.326.3
533.326.8
63226.5
732.725
830.524.2
927.823.6
1030.924.5
1131.826
1230.226.1
1330.726.4
1432.225.9
1533.727.8
1635.527.3
1735.427.6
1834.127.5
1932.226.5
2030.625.9
2132.525.1
2233.925.9
2334.126
243326.7
2533.226.1
2633.326.7
2733.426.3
2833.526.3
2933.725.2
3034.826.1
3135.526.6

Rに読み込む

とりあえず、Windows版のRなら、ExcelでA列に1980年、B列に2010年のそれぞれの最高気温を並べた表でも作って、

> temp <- read.delim("clipboard", header=T)

するだけで、OK。Macユーザーは、そういうCSVファイルを作ってから、ファイル指定で読み込めばいい。
とりあえず、こういう表ができたとする。

> temp
   X1980年8月 X2010年81        24.6       33.1
2        22.1       31.3
3        20.0       32.6
4        21.5       32.3
(以下略)

ちなみに、検定するまでもなく、平均気温が5〜6℃違うんじゃないか?という気がする。

何はなくともt検定

とりあえず、気温は正規分布してるだろうという前提に基づき、t検定する。
帰無仮説は、1980年8月と2010年8月の気温は等しい、ということで。α=0.05とする。

> t.test(temp[,1], temp[,2], paired=F, var.equal=T)

        Two Sample t-test

data:  temp[, 1] and temp[, 2] 
t = -10.2508, df = 60, p-value = 8.299e-15
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval:
 -7.675855 -5.169307 
sample estimates:
mean of x mean of y 
 26.28065  32.70323 

p-value < 0.05 ということで、「等しい」という帰無仮説は棄却されるんだけれど、これだけだと、「等しくない」というだけで、1980年と2010年とでは、どっちが暑かたのか、分からない。だから、本当にやりたいことは、「1980年の方が気温が低い」ということを検定したいということだった。

> t.test(temp[,1], temp[,2], paired=F, var.equal=T, alternative="less")

        Two Sample t-test

data:  temp[, 1] and temp[, 2] 
t = -10.2508, df = 60, p-value = 4.149e-15
alternative hypothesis: true difference in means is less than 0 
95 percent confidence interval:
      -Inf -5.375846 
sample estimates:
mean of x mean of y 
 26.28065  32.70323 

まあ、やってみるまでもないって感じではあるのだけれど、p-value < 0.05 であるので、やっぱり統計的にも2010年8月の方が暑かったと言えるということが示せたんじゃないかな。