爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖

聚类前,缺测值应如何处理?

[复制链接]

新浪微博达人勋

 楼主| 发表于 2024-7-17 11:21:45 | 显示全部楼层
爱睡觉的青团 发表于 2024-7-17 11:10
我是聚类北极海冰减少极端事件,events*days*lat*lon,events是事件数目,days是一次事件连续变化的几天 ...

海冰只在海洋有值,所以陆地区域是没有值的,也就是缺测。而且这个缺测还是挺大一片的,也不连续。k聚类实质上也就是看数据点分布,如果不删除陆地点的话,那算的岂不是就是40~90N,0~360的每一个格点?他们都是均匀分布的,好像就没有什么意义。所以实在不知道怎么弄了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-17 12:05:04 | 显示全部楼层
爱睡觉的青团 发表于 2024-7-17 11:10
我是聚类北极海冰减少极端事件,events*days*lat*lon,events是事件数目,days是一次事件连续变化的几天 ...

所以你的问题是,在这个四维数组中包含了陆地的缺测区域?我的建议是,把day*lat*lon转成一维,也就是用reshape把原来的四维变成二维events*spatial(day*lat*lon),只保存不是缺测的到一个新数组,kmeans_as136处理这个新数组得到聚类结果,然后再用这个聚类结果去可视化你原始数据。大概这个思路
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-17 12:34:02 | 显示全部楼层
爱睡觉的青团 发表于 2024-7-17 11:21
海冰只在海洋有值,所以陆地区域是没有值的,也就是缺测。而且这个缺测还是挺大一片的,也不连续。k聚类 ...

如果每个事件的days不一样,可以先把day平均掉再进行这个操作
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-17 12:36:36 | 显示全部楼层
眼里有星辰 发表于 2024-7-17 12:05
所以你的问题是,在这个四维数组中包含了陆地的缺测区域?我的建议是,把day*lat*lon转成一维,也就是用r ...

kmeans_as136聚类的时候需要聚类的维要放在最右,即spatial*events,输出的结果属性 clcnter@id 共有dimsizes(events)个,相当于给每个事件都编号了,根据这个编号提取同一类结果
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-7-18 21:32:35 | 显示全部楼层
眼里有星辰 发表于 2024-7-17 12:05
所以你的问题是,在这个四维数组中包含了陆地的缺测区域?我的建议是,把day*lat*lon转成一维,也就是用r ...

照着您这个思路去做了一下,剔除掉了除海洋以外的常规缺测值,但是海洋区域仍然有部分不规则缺测(每events层的缺测值数目不一样),所以这部分缺测值没办法剔除掉,我将这部分设置为了0。但是出来的效果并不是很好,可能跟高纬度地区我没有转为xy坐标有关,或者别的原因。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-7-18 21:37:01 | 显示全部楼层
爱睡觉的青团 发表于 2024-7-18 21:32
照着您这个思路去做了一下,剔除掉了除海洋以外的常规缺测值,但是海洋区域仍然有部分不规则缺测(每even ...

或许海洋区域的不规则缺测我可以插值,也转一下xy坐标,再来聚类试试
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-7-18 21:39:06 | 显示全部楼层
爱睡觉的青团 发表于 2024-7-18 21:37
或许海洋区域的不规则缺测我可以插值,也转一下xy坐标,再来聚类试试

我是1°*1°的格点,需要转xy坐标吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-18 23:18:55 | 显示全部楼层
我个人的建议是,海冰在整个研究时段缺测5%/10%时,将该个点整个删除即可。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-19 10:31:52 | 显示全部楼层
爱睡觉的青团 发表于 2024-7-18 21:32
照着您这个思路去做了一下,剔除掉了除海洋以外的常规缺测值,但是海洋区域仍然有部分不规则缺测(每even ...

“The original code is created for Cartesian grids. If the application requires using grid points or stations located at high latitudes, it is suggested that css2c be used to interpolate to Cartesian coordinates. These better reflect the true distances and should be input to the function.”  NCL官网 kmean这个函数里面的说明。海洋上如果缺的不多我觉得插值就可以,缺的多就像楼上说的可以直接删掉了。我做的基本没有涉及高纬度,所以也不太清楚聚类结果不好是不是跟你格点类型有关,你可以试试
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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