¥È¥Ã¥× º¹Ê¬ °ìÍ÷ ¥½¡¼¥¹ ¸¡º÷ ¥Ø¥ë¥× RSS ¥í¥°¥¤¥ó

BugTrack-£ÒÈ÷˺Ͽ/41

£ÒÈ÷˺Ͽ /¾õÂÖ¶õ´Ö¥â¥Ç¥ê¥ó¥°/donlp2/¤½¤Î¾¤Î¥á¥â

£ÒÈ÷˺Ͽ - µ­»ö°ìÍ÷

¶õ´ÖÅý·× ­¤ - ¡Úgstat¡Û¥Ð¥ê¥ª¥°¥é¥à¤«¤éÆÃÄê¤Î°ÌÃ֤ˤª¤±¤ëÃͤò¿äÄꤹ¤ë

  • Åê¹Æ¼Ô¡§ ¤ß¤å
  • ¥«¥Æ¥´¥ê¡§ ¤Ê¤·
  • Í¥ÀèÅÙ¡§ ÉáÄÌ
  • ¾õÂÖ¡§ ´°Î»
  • Æü»þ¡§ 2009ǯ06·î30Æü 16»þ35ʬ14ÉÃ

ÆâÍÆ

  • ¶õ´ÖÅý·× ­¤
  • ¡Úgstat¡Û¥Ð¥ê¥ª¥°¥é¥à¤«¤éÆÃÄê¤Î°ÌÃ֤ˤª¤±¤ëÃͤò¿äÄꤹ¤ë

¿äÄê

  • ¡ÖThe R Book¡×¤è¤ê°úÍÑ
  • Ä̾﷿¥¯¥ê¥®¥ó¥°¥·¥¹¥Æ¥à¤Ï
  • ¤È¤¤¤¦ÉÔÊÐÀ­¤ò³ÎÊݤ·¤¿¿äÄêʬ»¶¤ÎºÇ¾®²½¤ò²ò¤¯¤³¤È¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë°Ê²¼¤Î¥·¥¹¥Æ¥à¤ò²ò¤¯¤À¤±¡¢¤é¤·¤¤¡¥
  • ¤³¤ì¤Çµá¤Þ¤Ã¤¿£÷¤ò¥¦¥¨¥¤¥È¤À¤È»×¤Ã¤Æ¡¢´Ñ¬¤µ¤ì¤¿¥Ç¡¼¥¿¤ò²Ã½ÅÊ¿¶Ñ¤¹¤ë¡¥¤È¡¢x0¤Î°ÌÃ֤οäÄêÃͤ¬µá¤Þ¤ë¡¥
library(gstat)
library(lattice)
# - ¥á¥¦¥¹Àî
data(meuse)
data(meuse.grid)
x <- variogram(object=log(zinc)~1, locations=~x+y, data=meuse, cutoff=3000)
plot(x)
model1 <- vgm(psill=0.6, model="Sph", range=600, nugget=0)
plot(x, model=model1)
model2 <- fit.variogram(object=x, model=vgm(psill=0.6, model="Sph", range=600, nugget=0))
plot(x, model=model2)
g <- gstat(id="logzn", formula=log(zinc)~1, locations=~x+y, data=meuse, model=model2)
xo <- predict.gstat(g, meuse.grid[,1:2])
# - ¿äÄê
krig_mat <- diag(0, nrow(meuse))
krig_mat[lower.tri(krig_mat)] <- variogramLine(model2, dist_vector=dist(meuse[,c("x","y")]))[,2]
krig_mat <- t(krig_mat)
krig_mat[lower.tri(krig_mat)] <- variogramLine(model2, dist_vector=dist(meuse[,c("x","y")]))[,2]
krig_mat <- rbind(krig_mat, 1)
krig_mat <- cbind(krig_mat, 1)
krig_mat[nrow(meuse)+1,nrow(meuse)+1] <- 0

solve_krig_mat <- solve(krig_mat)
y <-
apply(meuse.grid[,c("x","y")], 1,
    function(x, meuse, solve_krig_mat){
        x <- c(x[1], x[2])
        n <- nrow(meuse)
        ret <- variogramLine(model2, dist_vector=sqrt((meuse[,"x"] - x[1])^2 + (meuse[,"y"] - x[2])^2))
        krig_vec <- c(ret[,2], 1)
        ret <- solve_krig_mat %*% krig_vec
        sum(log(meuse$zinc) * ret[1:n])
    },
    meuse=meuse, solve_krig_mat=solve_krig_mat
)
mean(xo[,3] - y)
plot(xo[,3], y)
  • ¤³¤Î¤è¤¦¤Ë°ì½ï¤Ë¤Ê¤Ã¤¿
  • ¤Þ¤¢gstat¤Ê¤é°Ê²¼¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤À¤±¤Ê¤ó¤À¤¬¡¥
g <- gstat(id="logzn", formula=log(zinc)~1, locations=~x+y, data=meuse, model=model2)
xo <- predict.gstat(g, meuse.grid[,1:2])

¥³¥á¥ó¥È