爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11672|回复: 7

[作图] student_t 计算prob值很奇怪(用betainc函数也是如此)

[复制链接]

新浪微博达人勋

发表于 2017-9-30 12:30:36 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 我是小猪 于 2017-10-1 19:23 编辑
  1. eof = eofunc_n_Wrap(xw,neof,optEOF,0)
  2. eof_ts = eofunc_ts_Wrap(xw(lat|:,lon|:,time|:), eof, optETS)
  3. eof_ts = dim_standardize_n_Wrap(eof_ts, 0, 1)
  4. nlat   = dimsizes(eof(0,:,0))
  5. nlon   = dimsizes(eof(0,0,:))
  6. tval      = new((/neof,nlat,nlon/),float)
  7. nxy       = new((/neof,nlat,nlon/),integer)  
  8. eof_regres= eof                           
  9. do n=0,neof-1
  10.    eof_regres(n,:,:) = regcoef(eof_ts(n,:),DJF(lat|:,lon|:,time|:),tval(n,:,:),nxy(n,:,:))
  11. end do
  12. copy_VarMeta(eof, tval)
  13. copy_VarMeta(eof, eof_regres)
  14. df   = 34
  15. prob = tval
  16. do n=0,neof-1
  17.     prob(n,:,:) = student_t(tval(n,:,:),df)
  18. end do

  19. print("okok")
复制代码
不知道为什么,用student_t函数计算t-values的prob值的时候,给超过某一显著性水平下的prob值打点,只能打点小于0.1水平下,就连小于0.099都不行,很奇怪,不知道为什么,而且用了betainc函数来计算prob值也是遇到这样的问题。
但是我直接查t-test表来打点99%或者95%的都是可以得,不知道是不是双尾值的问题?
图1是查表t值大于(或者小于)99%水平下的值2.728(-2.728)打点,中间图是给prob小于0.10水平下打点,图3是给prob小于0.099水平下打点

prob值小于0.10打点

prob值小于0.10打点

查表t值大于(或小于)2.728(-2.728)

查表t值大于(或小于)2.728(-2.728)



prob值小于0.099打点

prob值小于0.099打点

解决之后的图,红点表示95%,黑点表示99%

解决之后的图,红点表示95%,黑点表示99%
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-10-1 19:22:01 | 显示全部楼层
哈哈,不问自答,终于解决啦!方法如下:
不用gsn_contour_shade函数,用下面的代码:
cnres@cnMonoFillPattern = False
cnres@cnLevelSelectionMode  = "ExplicitLevels"
cnres@cnLevels             = (/0.01,0.05/)
cnres@cnFillPatterns       = (/17,17,-1/)
cnres@cnFillColors         = (/"black","red","white"/)
这样就可以了,但是我仍然不明白为什么,按理说gsn_contour_shade和上面应该是一致的啊,虽然画出来但还是有点困惑。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2017-10-1 14:07:13 | 显示全部楼层
自顶一下,希望有人给我解答啊,多谢各位啊😭 这个困扰好多天了 {:eb303:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-10-22 21:46:45 | 显示全部楼层
楼主!想问下在做海温的t检验时,先挑选出强海温年,再和原始海温做t检验,应该用ttest,还是student t 这俩函数一直不懂什么区别~蟹蟹
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-11-9 19:38:09 | 显示全部楼层
楼主你好,我画完显著性打点后,发现海洋上也打点了,然后我又在打点那个resource下把map部分设置了只显示陆地部分。那我最后就是两个带有map的图overlay(我知道这显然是不行的)
所以想问问楼主是什么方法打点只留了陆地的部分
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-11-17 21:04:42 | 显示全部楼层
楼主,请问你student_t函数和betainc函数算出来结果一样吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-2-8 14:34:22 | 显示全部楼层
顶一个 今天遇到这个问题 检查了半天脚本 也不知道原因 谢谢了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-2-8 15:05:39 | 显示全部楼层
我是小猪 发表于 2017-10-1 19:22
哈哈,不问自答,终于解决啦!方法如下:
不用gsn_contour_shade函数,用下面的代码:
cnres@cnMonoFillP ...

图三通过检验的点多了 为啥呢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表