我想提出的離散近似的二元正態分佈。也就是說,我想計算一個矩陣,其中每個條目都是落入下圖中一個小平方的概率。離散逼近二元正態分佈
這裏是我做的那麼遠。
library(mvtnorm)
library(graphics)
euclide = function(x,y){sqrt(x^2+y^2)}
maxdist = 40
sigma = diag(2)
m = matrix(0,ncol=maxdist*2 + 1, nrow=maxdist*2 + 1)
for (row in -maxdist:maxdist){
for (col in -maxdist:maxdist){
if (euclide(abs(row), abs(col)) < maxdist){
lower = c(row-0.5, col-0.5)
upper = c(row+0.5, col+0.5)
p = pmvnorm(lower = lower , upper = upper, mean = c(0,0), sigma = sigma)
} else {
p = 0
}
m[row + maxdist + 1,col + maxdist + 1] = p
}
}
m = m[rowSums(m)!=0,colSums(m)!=0]
contour(m, levels = exp(-20:0), xlim=c(0.3,0.7), ylim=c(0.3,0.7))
它工作正常。這很慢(對於大的maxdist
),但我希望能夠提高計算時間。但是,這是不是我的主要問題...
的主要問題是,我的方法,我不能改變接近中心做出更好的近似接近均值的小方塊的數量。我只能在周圍添加方塊。換句話說,我希望能夠設置雙變量正態分佈的兩個軸的方差。
你聽說過[Tauchen]的(http://www.sciencedirect.com/science/article/pii/0165176586901680)?從'N(0,1)'生成聯合正態變量畫? (例如[slide 269-272 here](http://www.ssc.upenn.edu/~fdiebold/Teaching706/TimeSeriesSlides.pdf))或者你是否正在爲另一個特定目的而進行此練習? – MichaelChirico
我可以問你想用什麼目的來使用你正在構建的矩陣? –
這是一個分散的核心(分散到一個給定距離的細胞的概率),細節的細節稍微複雜一些,因爲細胞內有子細胞。模擬在細胞中存在的個體和隨機交配比在空間連續體上存在的個體在計算上更快。這就是爲什麼我想要這種離散近似。 –