это код моего тела:
library(nleqslv)
dslnex <- function(x) {
z <- numeric(2)
z[1] <- x[1]/(x[1]+x[2]) - mean(y_n/n)
z[2] <- x[1]*x[2]/(((x[1]+x[2])^2)*(x[1]+x[2]+1)) -
sd(y_n/n)^2
z
}
sol1 <- nleqslv(c(1,1), dslnex)
res1 <- paste("(",round(sol1$x[1],1), ",",
round(sol1$x[2],1), ")",sep="")
fun_post_2 = function( a, b)
{
prob_1 = c()
for (i in 1:length(y_n))
{
prob_1[i] = log((1/beta(a, b))*beta(a+y_n[i], b+n[i]-y_n[i]))
}
}
fun_post_3 = function(a,b){
prob_1 = c()
for (i in 1:length(y_n))
{
prob_1[i] = log((1/beta(a, b))*beta(a+y_n[i], b+n[i]-y_n[i]))
}
prob_2 = sum(prob_1)
prob = exp(prob_2-5/2*log(a+b))
return(prob)
}
p_y_2 = c()
Другой код:
v1 = seq(log(sol1$x[1]/sol1$x[2])*1.5,log(sol1$x[1]/sol1$x[2])/1.5,length.out =151)
v2 = seq(log(sol1$x[1]+sol1$x[2])/3,log(sol1$x[1]+sol1$x[2])*1.5,length.out =151)
beta = exp(v2)/(exp(v1)+1)
alpha = exp(v2+v1)/(exp(v1)+1)
post.dens = outer(alpha,beta, fun_post_2 )