統計と可視化の力


  • Global Moderator

    個人的な小さな経験を一般化し、勝手な思い込みを持ってしまうことがよくあります。それが、当たりであることもあれば、ハズレであることもあります。統計やデータの可視化というのは、そんな我々の助けになります。

    このスレッドには、様々な統計やその可視化の例を集めてみたいと思って居ます。

    8/9追加:

    また、私の追加の企画として、一次資料から新たな統計の可視化を行ったり、既存の可視化例を自分で再現することもやってみたいと思います。そのことによって、以下のことができると考えます。

    • 一次データを確認する。
    • 可視化にあたっての暗黙のデータ処理の存在を認識する(例:平均、平滑化、補間、切り捨てなど)。

    作業は、ソフトウェアMathematicaを用いて、スレッドにコードを載せる形で行いたいと思います。そのことによって、

    と期待します。

    もちろん、参加してくださる方による統計と可視化や、ネタの紹介は歓迎です。

    以下のような統計と可視化を期待しています:

    • 各自の思い込みや、マスコミで報道されていることが正しいかどうか確かめたり、新たな方向から考えさせてくれるもの。
      題材は、例えば、「昨今は、暑い日が増えているのでは?」とか、「マグロの漁獲量が減っているとの報道」「京都の外国人観光客がえらく増えた」とか。
    • 皆が知っていることなのに、それに関する統計を見たことのないもの。
    • 統計は取られているのに、誰も気にしていないこと。

    ゆるゆると進行させたいと思っています。


  • Global Moderator

    地球の温暖化

    1900ごろ~現在までの、温度異常

    国別・時系列
    https://www.flickr.com/photos/150411108@N06/35471910724/

    地図上・時系列
    https://svs.gsfc.nasa.gov/4546


  • System

    先頭記事が更新されました。


  • Global Moderator

    まぐろの漁獲量(日本)の変化を調べてみよう!

    まず、漁業全体

    e-Stat (「政府統計の総合窓口」)→「海面漁業生産統計調査」→「確定」→「長期累年」→「海面漁業種類別漁獲量累年統計(都道府県別)」
    →全国(昭和31年~平成27年)
    http://www.e-stat.go.jp/SG1/estat/GL02020101.do?method=xlsDownload&fileId=000007988414&releaseCount=1

    魚の種類別

    →「海面漁業魚種別漁獲量累年統計(都道府県別)
    → 全国(昭和31年~平成27年)
    http://www.e-stat.go.jp/SG1/estat/GL02020101.do?method=xlsDownload&fileId=000007988534&releaseCount=1

    「まぐろ類」→「小計」と「くろまぐろ(註:本マグロのこと)」
    0_1502325627570_estat-1.png

    くろまぐろに関しては、1980年代ごろから減少が始まっていますね。

    Mathematica
    data = Import[
        "http://www.e-stat.go.jp/SG1/estat/GL02020101.do?method=\
    xlsDownload&fileId=000007988534&releaseCount=1", "XLS"] // First;
    
    processData[{year_String, 
        number_}] := {StringCases[
         year, __ ~~ "(" ~~ n : NumberString ~~ ")" :> 
          DateObject[{ToExpression@n}]][[1]], ToExpression@number};
    
    小計 = data[[9 ;; 68]][[All, {1, 4}]];
    くろまぐろ = data[[9 ;; 68]][[All, {1, 5}]];
    
    DateListPlot[{processData /@ くろまぐろ, processData /@ 小計},
     PlotRange -> All, ImageSize -> 400,
     FrameLabel -> {"西暦", "漁獲量(t)"}, PlotLabels -> {"くろまぐろ", "小計"}]
    

  • Global Moderator

    外国人旅行者数(日本)の変化を調べてみよう!

    京都に住んでいる親戚から、最近、外国語を話す旅行者が非常に増えたと聞きました。本当は京都への旅行者数が分かればよいのですが、累年の統計が見つけられなかったので、代わりに日本への旅行者数を見ることにしました。

    JINTO(日本政府観光局)
    →「統計・データ」→「年別 訪日外客数、出国日本人数の推移(1964年‐2016年)
    http://www.jnto.go.jp/jpn/statistics/visitor_trends/index.html

    0_1502406533862_jinto-1.png

    2013年以降の伸びが大きいのが分かりました。グラフ中に縦線を引いたのは、「ビジット・ジャパン・キャンペーン」開始と「東日本大震災」の時期です(各年の外客数値を1月1日の位置にプロットしているので、時間関係は正確ではありません)。

    Mathematica
    (* copy and paste from "http://www.jnto.go.jp/jpn/statistics/marketingdata_outbound.pdf"*)
    text="1964 昭和39年 352,832 15.5 127,749 27.7
    1965 昭和40年 366,649 3.9 158,827 24.3
    1966 昭和41年 432,937 18.1 212,409 33.7
    1967 昭和42年 476,771 10.1 267,538 26.0
    1968 昭和43年 519,004 8.9 343,542 28.4
    1969 昭和44年 608,744 17.3 492,880 43.5
    1970 昭和45年 854,419 40.4 663,467 34.6
    1971 昭和46年 660,715 [EmptyUpTriangle]22.7 961,135 44.9
    1972 昭和47年 723,744 9.5 1,392,045 44.8
    1973 昭和48年 784,691 8.4 2,288,966 64.4
    1974 昭和49年 764,246 [EmptyUpTriangle]2.6 2,335,530 2.0
    1975 昭和50年 811,672 6.2 2,466,326 5.6
    1976 昭和51年 914,772 12.7 2,852,584 15.7
    1977 昭和52年 1,028,140 12.4 3,151,431 10.5
    1978 昭和53年 1,038,875 1.0 3,525,110 11.9
    1979 昭和54年 1,112,606 7.1 4,038,298 14.6
    1980 昭和55年 1,316,632 18.3 3,909,333 [EmptyUpTriangle]3.2
    1981 昭和56年 1,583,043 20.2 4,006,388 2.5
    1982 昭和57年 1,793,164 13.3 4,086,138 2.0
    1983 昭和58年 1,968,461 9.8 4,232,246 3.6
    1984 昭和59年 2,110,346 7.2 4,658,833 10.1
    1985 昭和60年 2,327,047 10.3 4,948,366 6.2
    1986 昭和61年 2,061,526 [EmptyUpTriangle]11.4 5,516,193 11.5
    1987 昭和62年 2,154,864 4.5 6,829,338 23.8
    1988 昭和63年 2,355,412 9.3 8,426,867 23.4
    1989 平成 元年 2,835,064 20.4 9,662,752 14.7
    1990 平成 2 年 3,235,860 14.1 10,997,431 13.8
    1991 平成 3 年 3,532,651 9.2 10,633,777 [EmptyUpTriangle]3.3
    1992 平成 4 年 3,581,540 1.4 11,790,699 10.9
    1993 平成 5 年 3,410,447 [EmptyUpTriangle]4.8 11,933,620 1.2
    1994 平成 6 年 3,468,055 1.7 13,578,934 13.8
    1995 平成 7 年 3,345,274 [EmptyUpTriangle]3.5 15,298,125 12.7
    1996 平成 8 年 3,837,113 14.7 16,694,769 9.1
    1997 平成 9 年 4,218,208 9.9 16,802,750 0.6
    1998 平成 10年 4,106,057 [EmptyUpTriangle]2.7 15,806,218 [EmptyUpTriangle]5.9
    1999 平成 11年 4,437,863 8.1 16,357,572 3.5
    2000 平成 12年 4,757,146 7.2 17,818,590 8.9
    2001 平成 13年 4,771,555 0.3 16,215,657 [EmptyUpTriangle]9.0
    2002 平成 14年 5,238,963 9.8 16,522,804 1.9
    2003 平成 15年 5,211,725 [EmptyUpTriangle]0.5 13,296,330 [EmptyUpTriangle]19.5
    2004 平成 16年 6,137,905 17.8 16,831,112 26.6
    2005 平成 17年 6,727,926 9.6 17,403,565 3.4
    2006 平成 18年 7,334,077 9.0 17,534,565 0.8
    2007 平成 19年 8,346,969 13.8 17,294,935 [EmptyUpTriangle]1.4
    2008 平成 20年 8,350,835 0.0 15,987,250 [EmptyUpTriangle]7.6
    2009 平成 21年 6,789,658 [EmptyUpTriangle]18.7 15,445,684 [EmptyUpTriangle]3.4
    2010 平成 22年 8,611,175 26.8 16,637,224 7.7
    2011 平成 23年 6,218,752 [EmptyUpTriangle]27.8 16,994,200 2.1
    2012 平成 24年 8,358,105 34.4 18,490,657 8.8
    2013 平成 25年 10,363,904 24.0 17,472,748 [EmptyUpTriangle]5.5
    2014 平成 26年 13,413,467 29.4 16,903,388 [EmptyUpTriangle]3.3
    2015 平成 27年 19,737,409 47.1 16,213,789 [EmptyUpTriangle]4.1
    2016 平成 28年 24,039,700 21.8 17,116,420 5.6";
    
    data = StringSplit[StringDelete[#, ("昭和" | "平成") ~~ __ ~~ "年"], 
         Whitespace] & /@ StringSplit[text, "\n"];
    
    processData[row_List] := {DateObject[{row[[1]] // ToExpression}], 
       ToExpression@StringDelete[row[[2]], ","]};
    
    DateListPlot[processData /@ data, ImageSize -> 400, 
     PlotMarkers -> {Graphics[{Darker@Blue, Circle[{0, 0}]}], 0.03}, 
     PlotRange -> All,
     FrameLabel -> {"西暦", "訪日外客数(人)"}, PlotLabel -> "1964-2016", 
     GridLines -> {{DateObject[{2003, 4, 1}(*ビジット・ジャパン・キャンペーン開始*)], DateObject[{2011, 3, 11}(*東日本大震災*)]}, None}]
    

  • Global Moderator

    日本の気温の変化

    気象庁→「日本の年平均気温の偏差の経年変化(1898〜2016年)
    http://www.data.jma.go.jp/cpdinfo/temp/an_jpn.html

    平均気温そのものでなく、ある平均値からの偏差を記載しています。

    その理由は、FAQに説明されていて、必読です:
    http://www.data.jma.go.jp/cpdinfo/temp/qa_temp.html
    以下、一部引用

    Q:なぜ、気温や降水量を偏差でしか値を求めないのですか?実際の値は何℃、何mmなのですか?
    
    A:日本全体や世界全体の平均気温、降水量の実際の値は
    1.正確な見積もりが困難であること
    2.正確な値が求まったとしても、地球温暖化や気候変動を監視する上ではその数値そのものにはあまり意味がないこと
    から、算出は行わず、偏差のみを示しています。
    
    1.について
    2010年4月の平均気温を例にとってみます。
    図1のように日本の各観測地点の2010年4月の月平均気温は 標高や日射量の違いによって、北日本や東日本の山岳部では3℃前後となる一方、 沖縄・奄美では20℃を超えるなど地点によって大きく異なります。このため、気温そのものを用いると、日本の平均気温としてどの地点を選ぶかによって、全く異なる値になってしまいます。
    もし日本全国に隙間なく観測網を張り巡らすことができれば真の日本の平均気温を算出できるかもしれませんが、現実には、気象官署は都道府県毎に平均して数か所程度しかありません。これらの気温観測データをすべて使っても日本の平均気温を代表しているとは言えません。
    
    2.について
    領域全体で平均した気温の持つ意味について、たとえば富士山を例に考えてみましょう。
    仮に、富士山全体を隈なく観測点で覆って、「富士山の平均気温」を正しく求められたとします。 山麓、5合目、山頂など、観測点ごとの気温は、登山などをする上では重要な情報ですが、それらを平均した値そのものには意味がありません。
    富士山の気候変動を監視するためには、ある年、月の富士山の気温が通常の状態と比べて高いのか低いのか、また、富士山の気温は過去100年でどのくらい変化しているかを知ることが重要であり、これは、平均的な状態からの気温のずれ(偏差)を計算することで、把握することができます。
    
    Q:なぜ、実際の値がわからないのに、偏差がわかるのですか?
    


  • @ソム さん

    これまた面白いお題です。一読しただけですので、軽率の極みかも知れませんが、ご紹介の気象庁のFAQ。
    ウーンです。方法論としての偏差の採用に異議はないのですが、その理由の説明としては???です。
    ゆっくり考えてみます。(;''∀'')


  • Global Moderator

    @riffraff さん

    方法論としての偏差の採用に異議はないのですが、その理由の説明としては???です。

    何か腑に落ちないところが残りますね(笑 特に、2つの質問「Q:なぜ、気温や降水量を偏差でしか値を求めないのですか?」と「Q:なぜ、実際の値がわからないのに、偏差がわかるのですか?」への返答が、論理的に繋がっているのかな?という疑問があります。2つの返答で、「偏差」の指すものが違っているような気がするからです。

    ここから、新たなパズルが出来るかもしれませんね。「この気象庁のページの言っていることは、論理的に正しいでしょうか?


  • Global Moderator

    それから、平均というのは、常にくせ者ですね。何を母集団としての平均か? を意識しないと、わけの分からないことになります。さらに、母集団から均等にサンプリングされているのか?ということが注意点です(参考:「31.ヤマネの姪の社会科学習」)。


  • Global Moderator

    @ソム が発言 :

    気象庁→「日本の年平均気温の偏差の経年変化(1898〜2016年)」

    このページにある可視化のだいたいの再現です:

    0_1502426783790_jma-1.png

    Mathematica
    data2 = Import[
      "http://www.data.jma.go.jp/cpdinfo/temp/list/csv/an_jpn.csv", 
      CharacterEncoding -> "ShiftJIS"]
    
    toDate[year_?NumericQ] := AbsoluteTime[DateObject[{Floor@year}]];
    
    fit = LinearModelFit[{toDate[#[[1]]], #[[2]]} & /@ Rest@data2, y, y]
    trend[y_] := Evaluate[fit // Normal]
    gTrend = Plot[trend[y], {y, toDate@1890, toDate@2020}, 
      PlotStyle -> Red]
    
    DateListPlot[{DateObject[{#[[1]]}], #[[2]]} & /@ Rest@data2, 
     PlotStyle -> Directive[Gray, Thickness[0.004]],
     AspectRatio -> 1, 
     PlotMarkers -> {Graphics[{Gray, Disk[{0, 0}]}], 0.02},
     PlotRange -> {AbsoluteTime[DateObject[{#}]] & /@ {1890, 2020}, {-2.0,
         1.5}},
     FrameTicks -> {{Automatic, None}, {toDate /@ Range[1890, 2020, 10], 
        None}},
     GridLines -> {toDate /@ Range[1890, 2020, 10], Range[-2.0, 1.5, 0.5]},
     ImageSize -> 400,
     Epilog -> {Text["トレンド=1.19([Degree]C/100年)", Scaled[{0.2, 0.925}]],
       Blue, Thickness[0.005], 
       Line[{toDate[#[[1]]], #[[2]]} & /@ MovingAverage[Rest@data2, 5]], 
       List @@ gTrend},
     PlotLabel -> "日本の年平均気温偏差", 
     FrameLabel -> {"年", "1981-2010年平均からの差    ([Degree]C)"}
     ]
    


  • @ソム さん
    少し真面目に気象庁の説明読みました。記述統計としての意味しかありません。
    偏差の算出法は以下の通りです。
    http://www.data.jma.go.jp/cpdinfo/temp/clc_jpn.html

    気象庁の上記ページより

    使用したデータ

    1898年以降観測を継続している気象観測所の中から、都市化による影響が少なく、特定の地域に偏らないように選定された以下の15地点の月平均気温データ。

    網走,根室,寿都(すっつ),山形,石巻,伏木(高岡市),
    飯田,銚子,境,浜田,彦根,宮崎,多度津,名瀬,石垣島

    算出方法

    1.上記各地点ごとに,月平均気温の偏差(観測された月平均気温から、1971~2000年の30年平均値を差し引いたもの)を求めます*。

    2.各地点ごとに年・季節で平均します。

    3.各月および2で算出した値について、15地点の偏差を平均します。

    1. 年・季節・月のそれぞれについて、1981~2010年の30年間の平均と、1971~2000年の平均との差を2や3で算出した値から差し引いて、その年・季節・月の日本の平均気温の偏差(1981~2010年を基準とする偏差)とします。

    注:公表後も過去データの見直し等で更新する場合がありますが、その際は更新履歴に明記します。

    *宮崎は2000年5月、飯田は2002年5月に移転しました。 移転による観測データへの影響を評価し、移転による影響を除去するための補正を行った上で、偏差を求めています。

    パラメータ食べまくりです。推測統計に使うとしたら確信犯かそれとも・・・


  • Global Moderator

    @riffraff さん

    パラメータ食べまくりです。

    論文であれば、データ解析の恣意性の説明が不十分、妥当性をもっと説明せよ、とレビューアーからコメントが付くかも知れませんね(笑

    納得がいかない場合、現在全国に2千箇所ぐらいある観測所の生データが、おそらくどこかで見られるでしょうから、それを元に、自分で好きなやり方で解析してみたらよいのでしょう。

    追加:
    以下に気象庁関係の観測データ一覧がありますね。
    http://www.jma.go.jp/jma/menu/menureport.html
    面白そうなデータがいっぱいですが、目的のものを探すのが大変そうです。
    それから、地形メッシュ関係のデータは、以下からダウンロードせよというのもあるようです:
    http://nlftp.mlit.go.jp/ksj/index.html



  • 追加です。
    追加パラメターとして2000年代の平均値から1970年代の平均値を引いたものの1/3を使用しているため、
    1970年代のデータと2000年代のデータはCorrelated Errorを含むデータとなっています。
    記述統計での追加パラメータの正当性は不明ですが、Correlated Errorの期待値が0であるとしても、
    2次以上のモーメントの推測統計での利用は不可だと思います。


  • Global Moderator

    ある観測点の日平均気温の変化

    気象庁→「各種データ・資料」→「過去の地点気象データ・ダウンロード」→
    http://www.data.jma.go.jp/gmd/risk/obsdl/index.php
    ここから先は、マウスでクリックしてデータの取得範囲を指定します。一回にダウンロードできるサイズが制限されているため、気温に限っても、5回に分けて取得する必要がありました。自動化も簡単にはできません。

    今回は、例として「大阪」観測所、項目は「日平均気温」を選んでみました。「期間」は5回に分けて、1883年~2016年の範囲を得ました(※)。

    年内の変動が大きいですが、その変動の範囲(最大・最小)が特に1990ごろから上にずれていく様子が分かりました。トレンドは、+2℃/100年で、「日本の年平均気温の偏差の経年変化(1898〜2016年)」や「世界の~」の気象庁の解析に見られる長期傾向と一致するようです(上昇の程度はやや大きい)。

    0_1502578244227_Osaka-Temp-1883-2016-av.png
    青点:日平均気温
    黒:365日の移動平均
    赤:最小自乗法によるフィッティング

    ※第二次大戦中も測定されていて驚きました。大阪大空襲の1945/3/13や6月中も毎日記録がありました。


  • Global Moderator

    ある観測点の日平均気温の変化(つづき)

    気象庁の気象データについて、ダウンロードを自動化することが出来たのでデータ取得が楽になりました。そこで、いくつかの観測所を選び、日平均気温の変化を可視化してみました。

    札幌
    0_1502665920025_Sapporo-Temp-1883-2016.png

    東京
    0_1502665946882_Tokyo-Temp-1883-2016.png

    那覇
    0_1502665966391_Naha-Temp-1883-2016.png


  • Global Moderator

    気象庁の観測所の地理分布

    気象庁の「過去の地点気象データ・ダウンロード」でデータを取得できる観測所の座標を地図にプロットしてみました:
    0_1502673689345_stations-without-Showa.png

    赤:昭和基地を除く1303箇所の観測所
    青:※で選定された15地点を重ねてプロット

    離島も含めて日本中に観測所が設置されているのですね。

    ※気象庁による解析で、「日本の年平均気温の偏差の経年変化」を得るために用いられた観測所です:
    http://www.data.jma.go.jp/cpdinfo/temp/clc_jpn.html より

    使用したデータ

    1898年以降観測を継続している気象観測所の中から、都市化による影響が少なく、特定の地域に偏らないように選定された以下の15地点の月平均気温データ。

    網走,根室,寿都(すっつ),山形,石巻,伏木(高岡市),
    飯田,銚子,境,浜田,彦根,宮崎,多度津,名瀬,石垣島


  • Global Moderator

    日本の年平均気温の偏差の経年変化

    生データをもとに、気象庁による「日本の年平均気温の偏差の経年変化」のマテメソの、1,2をやってみました。

    http://www.data.jma.go.jp/cpdinfo/temp/clc_jpn.html

    算出方法
    1.上記各地点ごとに,月平均気温の偏差(観測された月平均気温から、1971~2000年の30年平均値を差し引いたもの)を求めます*。
    2.各地点ごとに年・季節で平均します。

    説明が曖昧と思った部分があったので、以下のように解釈しました:

    1. 月平均気温の偏差(観測された月平均気温から、それぞれの地点での各月の1971~2000年の30年平均値を差し引いたもの)を求めます。
    2. 各地点ごとに年で平均します。

    0_1502684051399_jma-2.png

    ここまでは、地点の選択が恣意的に見える以外に、統計上の問題はないと思いました。



  • @ソム さん

    ここまでは、対象地点の妥当性を担保できていれば問題ないと思います。
    問題は以下のプロセスです。
    ”年・季節・月のそれぞれについて、1981~2010年の30年間の平均と、1971~2000年の平均との差を2や3で算出した値から差し引いて、その年・季節・月の日本の平均気温の偏差(1981~2010年を基準とする偏差)とします。”

    私には理解できないプロセスです。


  • Global Moderator

    ある観測点の日合計降水量の変化

    雨がどうなっているのか見てみました。

    青点(下の軸との間に線を引いています):日合計降水量
    黒:365日の移動平均

    0_1502697597053_Osaka-Rain-1983-2016.png
    雨の多い時期と少ない時期があるようですが、長期的な増加・減少の傾向は見えないようです。


  • Global Moderator

    @riffraff さん

    問題は以下のプロセスです。
    ”年・季節・月のそれぞれについて、1981~2010年の30年間の平均と、1971~2000年の平均との差を2や3で算出した値から差し引いて、その年・季節・月の日本の平均気温の偏差(1981~2010年を基準とする偏差)とします。”

    これは、おそらく、偏差の基準とする平均区間を改訂したという意味だと思いました。以前は、1971~2000年の30年を使っていたのを、ある時点で10年ずらしたという意味です。最初から1.に1981~2010年の平均を使うと書けばよさそうなものですが、そうしないのは、改訂履歴を示す意図と思いました。そのため、分かりにくい説明になっているのではないでしょうか。

    もしこの推測が正しいなら、理想的には説明1.を改訂し、別に改訂履歴として、そのことを付記すべきと思います。


Log in to reply
 

Looks like your connection to パズルハウス was lost, please wait while we try to reconnect.