Прогнозирование пропущенных значений на основе линейного предсказания соседних ячеек - PullRequest
0 голосов
/ 21 октября 2019

У меня есть данные NETCDF от НАСА Джованни Хлорофилла-а, которые содержат пропущенные значения. Я хочу предсказать эти пропущенные значения на основе линейного предсказания соседних ячеек.

Я прошел учебник, представленный на YouTube (https://www.youtube.com/watch?v=phyB4n0CDWg&t=362s),, который показывает значительное количество деталей, но мои данные имеют разную широтуи измерение долготы, которое вызывает проблему в прогнозе.

library(GpGp)
library(fields)
library(ncdf4)
library(ncdf4.helpers)

data=nc_open("g4.timeAvg.MODISA_L3m_CHL_2018_chlor_a.20180101-20191231.SEASON_JJA.60E_5N_93E_25N.nc")
chl=ncvar_get(data,"MODISA_L3m_CHL_2018_chlor_a")
lon=ncvar_get(data, "lon")
lat=ncvar_get(data, "lat")

chl_dims=c(810,477)
chl_array=array(chl,chl_dims)
image.plot(chl_array)
not_missing = !is.na(chl)
y=chl[not_missing]
locs=cbind(lon,lat)
#Warning message:
In cbind(lon, lat) : number of rows of result is not a multiple of vector length (arg 2)

x=cbind(rep(1,sum(not_missing)),locs)
#Warning message:
In cbind(rep(1, sum(not_missing)), locs) : number of rows of result is not a multiple of vector length (arg 1)


gpfit=fit_model(y=y,locs = locs, X=x, "exponential_sphere")
#Error in fit_model(y = y, locs = locs, X = x, "exponential_sphere") : 
length of observation vector y not equal
                      to the number of locations (rows in locs)
...