考虑两个方程,(1-b1(*(.4*Y1-5(和(1-b2(*(.4*Y2-5(,其中b1和b2是从0到1的概率,b2必须始终大于b1,Y1和Y2可以是50到100之间的任何数字,但Y2必须始终大于Y2。我试图使用 R 找到这些方程在 b2 和 Y2 的给定约束内彼此相等的决策边界。
我尝试过单根求解,但是,似乎单根只能在有一个未知并且求解需要线性方程组时使用。
是否有任何函数可以设置两个方程,其中四个未知数彼此相等,以确定决策边界的位置。
由于有多个变量需要求解,因此您可以使用optim
而不是uniroot
:
optim(c(0.5, 0.6, 75, 80),
function(x) {
b1 <- x[1L]
b2 <- x[2L]
Y1 <- x[3L]
Y2 <- x[4L]
if (b1 < 0 | b1 > 1 | b2 < 0 | b2 > 1 | b1 > b2)
return(Inf)
if (Y1 < 50 | Y1 > 100 | Y2 < 50 | Y2 > 100 | Y1 > Y2)
return(Inf)
abs((1-b1)*(.4*Y1-5) - (1-b2)*(.4*Y2-5))
})
输出:
$par
[1] 0.5098563 0.5917020 75.1616219 87.7225153
$value
[1] 3.52709e-08
$counts
function gradient
205 NA
$convergence
[1] 0
$message
NULL