休日の東京に大雪が降る謎 part2 | 統計アラカルト [実践] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 実践 | 統計アラカルト | 統計に関する話題をrpnで探求!統計的に検証してみよう。

HOME > 実践 > 統計アラカルト > 休日の東京に大雪が降る謎 part2 hatena yahoo buzzurl livedoor del.icio.us nifty newsing twitter facebook rss ソーシャルブックマーク

休日の東京に大雪が降る謎 part2

前のページに戻るLinkIcon

 東京に大雪が降るのは週末と祝日に限られることなので、さっそく検証してみましょう。とは言っても祝日の計算は面倒なので、ここでは祝日を除いた土日に積雪量がどれくらいあったかを調べてみることにします。

祝日の日付は法改正で変わります。七曜と天候ですら関連性がないところに、人為的に決められる(決められた)祝日と天候が関係するとは思えないのですが…。

日付を曜日に変換

 曜日毎の積雪量を集計するには、まず日付を曜日に変換する必要があります。rpnプログラムのweekdayを使って変換しましょう。使い方は簡単で8桁の日付を引き渡せば、日曜日の0から土曜日の6までに変換してくれます。

  >rpn 20000101 -c weekday
  6


2000年1月1日は6なので土曜日ですね。ファイルにある日付を一気に曜日に変換するには次の一行でOKです。

  >rpn _ -fd <snow.txt | rpn -c weekday >week.txt


これで、snow.txtにある日付を曜日変換して、week.txtファイルに格納しています。week.txtの内容を見てみましょう。

  >type week.txt
  1
  2
  3
    :
  (中略)
    :
  6
  0
  1


曜日が順番に並んでいることが分かります。次にsnow.txtとweek.txtを横結合して、積雪が1cm以上あった曜日だけをピックします。データはsnowweek.txtファイルに格納します。

  >paste snow.txt week.txt | rpn { _ | rpn 0 0 -c nlookup >snowweek.txt


ファイルの内容を確認しましょう。1カラム目が積雪で2カラム目が曜日です。

  >type snowweek.txt
  4 2
  3 3
  11 4
    :
  (中略)
    :
  27 6
  10 0
  4 1


曜日毎に積雪のあった日を集計

 では、rpnプログラムのfreqを使って、曜日毎に積雪のあった日の数をカウントします。例のごとく、1行でOKです。

  >rpn x _ <snowweek.txt | rpn -c freq
  2 10
  3 5
  4 4
  5 11
  6 15
  0 14
  1 14


全ての曜日で積雪が観測されているようですね。では、このデータをグラフ表示にしてみましょう。

  >rpn x _ <snowweek.txt | rpn -c freq | xyp -x,6 -y,15 -s1,5 -n -m | npd
  ^y 15                                  *
  *     *
  |
  |
  10・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・*・・・・・・・ 平均
  |            *
  |
  |
  |
  5
  |                  *
  |                         *
  |
  |                                      x
  |o                                     6
  +-----1------2-----3------4------5----->
  日    月     火    水     木    金    土


横軸が曜日で縦軸が積雪のあった日の合計です。確かに週末に積雪のあった日は多いですが、土日以外も積もっています。差はありますが、劇的なくらいに週末だけという感じではありません。

それでは、東京で大雪の基準である5cm以上の積雪に条件を絞るとどうなるでしょうか。もっとはっきりと違いが出るでしょうか。グラフ化して確認してみます。

  >rpn 5 30 -c lookup <snowweek.txt | rpn x _ -c freq >tmp
  >xyp -x,6 -y,15 -s1,5 -n -m <tmp | npd
  ^y 15
  |
  |
  |
  10
  |                                      *
  |
  *
  |
  5
  |・・・・・*・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 平均
  |                               *
  |                         *
  |                                      x
  |o           *     *                   6
  +-----1------2-----3------4------5----->
  日    月     火    水     木    金    土


やはり、平日にも積雪はあります。実際のデータを見てみましょう。

  >type tmp
  4 3
  5 4
  6 10
  0 8
  1 5
  2 1
  3 1


土曜日が10回(日)、日曜日が8回(日)、月曜日が5回(日)、金曜日が4回(日)、木曜日が3回(日)、火曜日が1回(日)、水曜日が1回(日)です。

平日はほとんど0回で、週末だけに積雪があるようにはなりませんでしたが、土曜と日曜で全32中、18回ありますから、56%の集中度です。

曜日と積雪の関係を統計的に検証

 このばらつきを統計的に差があるかどうか適合度検定で調べてみます。まず、積雪が観測された日の平均を計算します。帰無仮説は「積雪が観測された日の回数は曜日に関係なく均一である」になります。

  >rpn _ -c mean <tmp
  3


平均は3なので、実際の積雪と組にして、適合度検定を行ないます。

  >rpn 3 { _ <tmp | rpn -c tstfit
  29


検定統計量は29になりました。有意水準を5%と考えて確率を計算します。

  >rpn .1 0 6 -c prob-chi -r 290 | rpn -c integral | rpn 1 x -
  6.3e-05


積雪が観測された日が曜日によって、このようにばらつく確率は約0.0063%なので有意差があると言えます。つまり、帰無仮説は棄却されて「積雪が観測された日の回数は曜日によって異なる」になります。

        *


話題に挙がったように大雪が週末「だけ」とは言えないような気がしますが、統計的には曜日と積雪との関係を認めてもいいような感じです。少なくとも積雪観測日は曜日によって偏りがあることは事実のようです。

もちろん、祝日の計算を端折っていますので、大雪を記録した上記の月曜から金曜までの集計が全て祝日だった可能性はあります。

最後に、今回の検証では大雪(5cm以上の積雪)の回数は日数とイコールとして集計していますが、大雪の回数については微妙な言い回しがあります。例えば、日曜日に雪が降って積雪10cm、雪が融けずに次の月曜日も積雪7cm、火曜日には3cmになった場合、これを1回の大雪とカウントしている可能性があります。そうなると当然、結果が異なってきます。

なんでも東京都心では平日に比べて、休日の気温差が0.2℃程度低いそうです。近年その差が顕著になってきているとか。多分、昼夜の人口の違いや企業活動の違いが曜日によって異なることが原因なのでしょう。ただ、仮にそうだとすると1990年から2010年に掛けて、積雪量が減ってきているのが矛盾しています。

番外編:ホワイトクリスマスの確率

 クリスマスといえば雪の降るホワイトクリスマスがロマンティックです。そこで、東京でクリスマスの日に積雪があったかを調べてみましょう。積雪があったからといって降雪があったかは不明ですが、細かいことは気にせずに。

  >rpn x 10000 % x <snow.txt | rpn 1224 1224 -c lookup
  1224 0
  1224 0
  1224 0
    :
  1224 0
  1224 0
  1224 0

  >rpn x 10000 % x <snow.txt | rpn 1224 1224 -c lookup >tmp
  >rpn x 1 30 -c lookup <tmp
 


残念。0回(日)です。クリスマスイブに雪景色は見られないようです。舞い降りる雪を見るのが関の山かもしれません。

そこで、今度は積雪ではなく降雪の有無で調べてみます。雪が積もらなくても雪が降ったかどうかの記録はあります。そのデータがファイルの"fall.txt"にあるとします。データの構成はsnow.txtと同じですが、降ったか降らなかったを0/1で表してあります。

  >rpn x 10000 % <fall.txt | rpn 0 0 -c lookup >tmp
  >rpn x 1224 1224 -c lookup <tmp


やはり、同じ結果です。25年の間、東京でクリスマスイブに雪を見ることはできなかったようです。

バレンタインデーに積雪がある確率

では、バレンタインデーはどうでしょう。2月なら東京でも冬真っ盛りですから、期待が持てます。果たして、雪は積もっているのでしょうか。

  >rpn x 10000 % x <snow.txt | rpn 214 214 -c lookup >tmp
  >rpn x 1 30 -c lookup <tmp
  12 214
  2 214
  18 214


25年間で僅かに3回だけ、積雪がありました。確率は12%で、大体8年に一度の出来事です。

穢れのない、いつもと違う真っ白な世界のバレンタインデーは統計的にも希です。そんな日に気になる異性にチョコレートを渡せたら、ホントに恋が叶うかもしれませんね。

実践統計アラカルトに戻るLinkIcon

警告rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。

情報pasteは講座サポートで公開されています。rownumはカンタン分析パッケージに同梱されています。lookup, nlookupはユーティリティーパッケージに同梱されています。freqはrpnマイスターパッケージに同梱されています。weekdayはカレンダー・システムパッケージに同梱されています。integralはビジネス統計(推定編)に同梱されています。tstfit, prob-chiはビジネス統計(検定編)に同梱されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

統計アラカルト

統計的に検証してみよう

※実践コーナーのTOP

紹介 rpnの利用シーンはこちら…

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ
物語データを見抜くojt物語もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

part2

統計的に検証してみよう

※実践コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ
物語データを見抜くojt物語もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

書籍紹介

記事に関連した書籍

本ウェブサイトで扱った話題に関連した書物で、スタッフが実際に読了したものを紹介。

書籍数学の書籍
数の世界は思ったよりもエキサイティング。

  • 書籍統計の書籍
  • ビジネスで統計が使えるととっても有利。

書籍投資の書籍
失敗しない投資には広範囲で実践的な知識が必要。

警告バックスラッシュはエンマークに読み替えてください( IEのみ)。
バックスラッシュとエンマーク

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲ってください。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。