3
\ begingroup美元

立即下面是一个例子我第一/原型试图想象这个问题,这是进一步解释之后……在这里输入图像描述你看到的是一个每年的动画的最高温度从USW00094728(每日马克斯临时)数据。海底文件(站在纽约中央公园)公开可用ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily(参见readme。txt文件,目录文件格式信息,等等)。

每一帧的小Jan1达峰时间和眼睛Dec31,即每一帧代表一整年。年是1870年到2009年,每年显示为0.2秒。两个空白帧信号时动画重复。温度范围是40美元^ o \ mbox {C} $马克斯,阿^ \ mbox {C} -10美元分钟。

同时,每日最高温度数据显示动画平滑,即。每天,代表一个七天的平均包括三天之前和之后。不平滑,这是真的,真的跳动/不连续。

然而,即使有平滑,没有最高温度变化明显的旁观者在140年代表。当然,预计1 - 2美元美元变化对40美元阿^ ^ o情节,美元可能太随便就很难发现。

所以我几个想法。(a)也许减去每日意味着(平均在140年),并显示美元\ sim10 ^ o情节,美元的高分辨率将使小三角洲的更容易观察。(b)七天的平滑,分别在每一年,可能还不够以来同比数据仍然很神经兮兮的。也许另外顺利通过几个前后多年平均同一天。但那可能只是按摩太多不合理的数据。

整个问题是:展现的内容/ how-to-display-it这样~ 150年最高温度变化容易看到和容易可辩解的/可以理解的旁观者。任何平均person-in-the-street应该能够看着它并立即看到发生了什么,没有任何必要的官样文章/胡言乱语技术的解释。另外,side-question:花了一段时间发现noaa ghcn数据,看起来棒极了。任何一样好或更好的公开可用的数据集?


编辑
- - - - - - - - - - - -

谢谢你的评论,@JeopardyTempest @CamiloRada。

JT的“夜间低”的建议(从ghcn TMIN元素数据)很容易表现出,只是需要不同的命令行参数完全相同的程序(不包,顺便说一句,所有直C编程,注意“程序员”后我提到你的资料)。下面我说明TMIN动画(规模、等,与最高温度上面的动画)。然而,正如预期,仍然没有easily-visualizable变化在140年。

我们会尝试使用异常”,引用CR,希望更好的结果。,这可能是一个合理的希望,基于你的youtube链接,这几乎是正是我想我会生成,除了1月,……12月沿着x轴而不是“圆形图”显示。(顺便说一句,很容易解释,圆图,我想也许平均person-in-the-street可能更容易认识到从左到右months-along-the-x-axis显示,这可能是大多数人已经更熟悉。)

我也会仔细看看HadCRUT4.4数据使用youtube的主页http://www.climate-lab-book.ac.uk/2016/spiralling-global-temperatures/谷歌没有咳嗽了,数据在搜索我试过了,我想有更多的有趣的东西,我被忽视。

与此同时,下面马上被JT TMIN图建议。“异常图”将会容易动画代码后随着时间的推移数据”选择“离子(即。类似于一个关系表)ghcn数据。将一些做的(在我的业余时间),我将尝试发布一些更好的温度升高可视化的时候完成。JT的更复杂的显示建议将更复杂的思考和做[比计算方面显示一侧),我会尽量计划/设计我编码更直接的“异常”的东西。谢谢,同样,JT和CR。

在这里输入图像描述

\ endgroup美元
3
  • 2
    \ begingroup美元 可能是整洁是放下像素从所有前几年的高位(使用透明度)(明亮和鲜艳的颜色斑点,重复越来越多)。这可能会表现出一些独特的东西。当然你需要合并平均,作为每年的波动将大于长期变化。那似乎是一个独特的方式这样做,但不知道如果很容易与你使用的包…或如果它会显示一个吨。但似乎你抚平现实的波动,你越失去在某种意义上。这将使用它们而不是做出任何明显的变化。 \ endgroup美元
    - - - - - -JeopardyTempest
    2018年9月6日15:44
  • 1
    \ begingroup美元 其中一个关键虽然可能是大多数测量变暖最多的地方是在夜间低温。我不会感到惊讶,如果白天变暖就像半度或更少(不知道)。这肯定是可怕的难以辨认出在大多数绘图方法。 \ endgroup美元
    - - - - - -JeopardyTempest
    2018年9月6日在15分
  • 1
    \ begingroup美元 关键是要保持前几年的线,或至少一年的意思。使用异常肯定会提高可视化,而是计算异常相对于整个数据集的意思我建议来计算它们对pre - 1900或1920年以前的意思。这是一个很好的可视化,适用于你的情况youtube.com/watch?v=wXrYvd-LBu0 \ endgroup美元
    - - - - - -卡米洛·Rada
    2018年9月6日17:07

2答案2

2
\ begingroup美元

不是真正的答案,本身。然而,正如每JT的评论“你需要将平均”(反映自己的猜测在最初的问题),我已经把(减去)意味着,的确,展品容易看到趋势图。这是有点“回答”的程度上,无论如何。我还创建了两个新的类型的图表,说明和讨论(所有三种类型),以及一些其他问题建议。

第一,年年的静态图,1870 - 2009,T_{马克斯}识别偏离美元的意思。每年每个偏差计算365/366-day平均每天的偏差,即。,$ \ frac1{365(或366)}\ sum_ {i = jan1} ^ {dec31} T_i-T ^{意味着}_i美元,美元在T ^{意味着}_i是均值T $美元特定day-of-year(平均值所有多年来,没有占CR的评论pre - 1900或1920年以前)。每个图的规模现在美元\ pm4 ^ oC美元。再次,最左边的点代表的1870 t t ^{意味着}$,最右边的2009点。在这里输入图像描述上面的图没有每天如前所述平滑(我们已经平均超过所有天,),但它有四年平滑,即。,每个T_i美元实际上是一个9分移动平均T美元的那一年,随着T的美元一天的前一个和后一个四年。没有任何平滑,看起来像这样在这里输入图像描述所以一些平滑似乎需要,至少对于情节面向大众的。我每天很容易重量(例如,像正态分布),分配到当前的最大重量,但是还没有试过任何的。有公认加权过程这种数据平滑?

顺便说一下,JT的建议使用T_{分钟}识别美元实际上并不像前面那样“单调”T_{马克斯}识别,美元在这里输入图像描述所以我将使用T_{马克斯}识别的美元为下面的动画……





第一种动画的最初体现,但现在显示偏离均值,即规模现在美元\ pm4 ^ oC美元。所以从左到右是jan1-to-dec31,第一帧显示1870年和2009年最后一帧(一些空白帧信号当动画重复)。为了避免——“紧张”动画,9分“双向”使用移动平均滤波,即。,首先\ pm4天美元的T美元对于一个给定的天在一年之内,然后\ pm4美元年使用相同的day-of-year T得到显示美元美元。在这里输入图像描述现在(不像原始问题的动画),显示T与意思偏离美元开始(1870年)低于基线,和结束(2009年),像我们所期望的(结果)。

但也许不像我们期望(至少不像我预期),密切关注和发现一些天显得有点顽固表现出更高的临时工。就像气候变化有一些“国定假日”需要一个假期。所以,建议另一种类型的动画是否这是一个真正的效果。

这一个需要“切片”沿着其他轴的整体数据集。从左到右,现在是1870 - 2009,和365帧动画,第一个为dec31 jan1最后(额外的闰年的天省略)。和平滑和上面是一样的。在这里输入图像描述所以这对我来说似乎有点出乎意料。每一帧,由本身,图同比T偏差美元对于一个给定的一天。和每一个图看起来也是连续的。随机考虑,说,sept28。如果是一年高过平均值,你不会期望这一事实与明年是否有很多相关sept28也是温暖的。但图表通常很长块温暖或凉爽的年。

\ endgroup美元
8
  • \ begingroup美元 今年容易不知何故覆盖计数器,所以我们可以告诉它在循环结束之前? \ endgroup美元
    - - - - - -JeopardyTempest
    2018年9月8日7点45
  • \ begingroup美元 @JeopardyTempest第一动画的一个year-labelled取代,要求(遇到imgur 2 mb的限制)。顺便说一下,我认为这只是我的平滑占第二个动画的“意想不到”的行为,我不知道为什么没有发生。 \ endgroup美元
    - - - - - -约翰Forkosh
    2018年9月8日12:06
  • \ begingroup美元 (应该还说…或许你可以添加一个日期与最后的图?) \ endgroup美元
    - - - - - -JeopardyTempest
    2018年9月8日15:23
  • \ begingroup美元 不错的进步。一些天的stuborness热身和你最后的情节都很容易的连续性工件平滑,异常寒冷的日子将维持低这一天的平均9帧。你可以尝试一个值而不是平均或加权平均,这通常是一个好方法噪声数据。 \ endgroup美元
    - - - - - -卡米洛·Rada
    2018年9月8日15:53
  • 1
    \ begingroup美元 @JeopardyTempest按日期,你的意思是“Jan1”……”(即Dec31”,正确的。,你阅读)?是的,但是,gif有点大,超过2 mb和标签(或我已经上传)。这将是微不足道的缩小宽度,高度#像素来避免,但整个图是基于我的“想象中的异常”为同一day-of-year同比相关,解释为平滑(注意到我以前的评论以及CR的评论)。所以我认为动画是不太有趣的开始,但我错了吗?,即,某些原因你想看到它吗? \ endgroup美元
    - - - - - -约翰Forkosh
    2018年9月9日在6:04
2
\ begingroup美元

JT和CR的建议后在评论中“第一回答”纳入gif的如下。对应的新的previously-displayed的是比以往更多的“紧张”,他们有一个小错误,如下。“基线意味着“年年的动画,与jan1-dec31沿着x轴,是均值/每天平均求和所有显示的年。但是我总结后意思发生> > < <我的(通常是九分移动平均)平滑日常临时工。可能不是我们想要的,尽管你可能会认为这是一个合法的程序“光滑的基线”。在任何事件中,基线gif的下面显示means-before-smoothing,即。生日报临时工求和所有显示年,和那些生成动画更多的“紧张”。

首先,这是now-labelled jan1-dec31动画(每一帧显示所有年,从左到右,一个的)。第一个“4”“4 x4平滑”的标签是指跨天平滑正如前面所讨论的,第二个“4”是指跨年平滑…在这里输入图像描述



其次,CR的中位数建议没有多大影响,或另一种方式。立即下面显示的静态gif yearly-deviations-from-the意味着/中位数,1869(左)- 2017(右)……在这里输入图像描述 在这里输入图像描述你可能认为他们是相同的。但下载并迅速点击它们之间。向上中间的“翻译”,也许1/4 ^ oC美元(我认为这是一个意味着/中等倾斜),和形状的稍稍不同的几个点。图。不管怎样,这里有相应的one-year-per-frame (jan1-dec31从左到右)动画……在这里输入图像描述 在这里输入图像描述



如果你想“玩”与这些动画,我上传一个静态链接的linux可执行程序的
http://www.forkosh.com/ghcn.exe(忽略windows-like . exe, linux精灵)
和.dly文件我已经使用
http://www.forkosh.com/USW00094728.dly
虽然可以得到(和无数其他.dly文件)从ghcn链接在最初的问题。(静态链接的ghcn。exe应该包括所有需要的库/版本不是由特定的本地安装的linux发行版,但这并不总是奏效。但它确实工作编译/链接在我的盒子里,并运行在我的ISP的盒子)。

它从命令行运行高达9命令行参数…

/ * - - -命令行参数(所有测试)- - - * / int testnum =(命令行参数个数> 1 ?atoi (argv [1]): 1);char *文件=(命令行参数个数> 2 ?argv [2]:“USW00094728。海底”);/ * CntrlPk * / int msglevel =(命令行参数个数> 3 ?atoi (argv [3]): 0);/ * - - -命令行参数为测试# 2 - - - - - - * / char *类型=(命令行参数个数> 4 ?argv[4]:“达峰时间”);/ *”TMIN”、“达峰时间“int * /年=(命令行参数个数> 5 ?atoi (argv [5]): 1869149); /* yyyyNNN */ int meankind =( argc>6? atoi(argv[6]) : 1 ); /*1=avg, 2=median*/ int ndlysmooth=( argc>7? atoi(argv[7]) : 2 ); /*smooth dly tmps*/ int nylysmooth=( argc>8? atoi(argv[8]) : 2 ); /*smooth yly tmps*/ double bigf =( argc>9? atof(argv[9]) : 4.0 ); /*max graph deg C*/

所以我的典型的运行…
/ ghcn。exe 2 USW00094728。海底999年达峰时间186914924 4 4
和你的前三个参数,2 USW00094728。海底999年应该是相同的(除了.dly文件如果你下载一些其他人)。第一个2testnum是唯一的测试生成相关的gif。其他(实际上只有一个)主要打印一些数据单元测试数据collection-and-selection功能。和999年msglevel将打印几行可以忽略。

剩下的六个参数可以不同。你代替我达峰时间通过TMIN得到相应的gif是你知道的。(我还没有考虑JT的早些时候建议一个gif合并多个ghcn元素“类型”)。尝试其他ghcn元素“类型”(我还没有测试任何)将使用相同的0.1美元美元比例因子应用于临时工(虽然这很容易使另一个参数)。

下一个参数是date-plus - #年。我的1869149意味着从1869年开始,使用149年的数据,在这种情况下,这意味着1869 - 2017包容性(这是几乎整个.dly文件)。的2年是CR的意思/值后,1=的意思是,2=值。这三个数字之后,巧合的是相同的(但不一定)4 4 4在我的例子中,(第一4每日平滑)天数从前向后、从后往前,(第二4)#天每年的平滑。0要么/都意味着没有平滑的“方向”。最后一个4是下午\ degreesC美元从基线显示在图。

输出三个文件:ghcn。gif, ghcn2。gif和ghcn3.gif(你猜对了)。第一个是年年的动画,第二个是每天的动画,,最后一个是静态gif显示年平均平均偏差/中位数,第一年。

\ endgroup美元

    你的答案

    通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则

    不是你要找的答案?浏览其他问题标记问你自己的问题