R中的2D optimize()

时间:2017-12-20 21:23:44

标签: r optimization 2d

我想使用optimize()来查找二维混合正态分布的参数,但我不知道如何使用该函数。

我有密度功能:

mixdnorm2<-function(x,y,p,mu11,mu12,s11,s12,rho1,mu21,mu22,s21,s22,rho2){

dnorm2<-function(x,y,m1,m2,s1,s2,r){
U<-c(x-m1,y-m2)
S<-matrix(c(s1^2,s1*s2*r,s1*s2*r,s2^2),2,2,byrow = T)
f<-1/(2*pi*sqrt(det(S)))*exp(-0.5%*%t(U)%*%solve(S)%*%U)
return(f)
}

f<-p*dnorm2(x,y,m11,m12,s11,s12,rho1)+(1-p)*dnorm2(x,y,m21,m22,s21,s22,rho2)
return(f)
}

但我不知道如何处理它。

optimize(mixdnorm2...)

请知道,如何使用该功能?我无法找到有关问题的任何内容,所以我很乐意提出任何建议:)

1 个答案:

答案 0 :(得分:0)

optimize功能仅适用于1维。 optim函数是用于2维或更多维度的函数。请查看optim的帮助页面。

由于某些原因,optimize的帮助页面未提及optim,但optim的帮助页面确实提到了optimize

还有一些软件包提供额外的优化功能(在CRAN上搜索)。

相关问题