2

我想知道是否有人可以向我解释 geoR 包如何计算协方差函数?我的意思是你会怎么用手做?

library(geoR)
#suppose I have the following coordinates
X = c(60,30,20,40)
Y = c(50,20,50,50)
my_coordinates = cbind(X,Y)
print(my_coordinates)

#computing covariance
my_cov= varcov.spatial(my_coordinates,cov.model="exp", cov.pars=c(0.2,25))
print(my_cov)

你得到:

         [,1]       [,2]       [,3]       [,4]
[1,] 0.20000000 0.03664442 0.04037930 0.08986579
[2,] 0.03664442 0.20000000 0.05645288 0.05645288
[3,] 0.04037930 0.05645288 0.20000000 0.08986579
[4,] 0.08986579 0.05645288 0.08986579 0.20000000

然而,人们可能也想在 Matlab 中做这件事。

4

1 回答 1

3

了解包或函数如何做某事的最好方法是查看源代码。这是开源项目最棒的事情之一,你可以做到这一点。

尝试varcov.spatial在解压后的包 tar 球中键入或搜索函数定义

要计算协方差(取决于点之间的距离),您需要计算

  • 你的点之间的距离(你真的只需要下三角形,因为它是对称的
  • 每个距离的协方差函数的值
  • 从这些计算的协方差中形成完整的对称方差协方差矩阵。

协方差函数在 中定义?cov.spatial。你可以打电话cov.spatial来计算这些R(究竟是什么geoR::varcov.spatial

于 2013-03-19T22:27:51.717 回答