Calculate the log likelihood of the binomial function (and its derivatives)
Source:R/llik.R
llikBeta.Rd
Calculate the log likelihood of the binomial function (and its derivatives)
Value
data frame with fx
for the log pdf value of with
dShape1
and dShape2
that has the derivatives with respect to the parameters at
the observation time-point
Details
In an rxode2()
model, you can use llikBeta()
but you have to
use all arguments. You can also get the derivative of shape1
and shape2
with
llikBetaDshape1()
and llikBetaDshape2()
.
Examples
# \donttest{
x <- seq(1e-4, 1 - 1e-4, length.out = 21)
llikBeta(x, 0.5, 0.5)
#> fx dShape1 dShape2
#> 1 3.46049030 -7.82404601 1.38619436
#> 2 0.37793108 -1.60763953 1.33490633
#> 3 0.05888752 -0.91549105 1.28084495
#> 4 -0.11510253 -0.51035907 1.22369308
#> 5 -0.22855163 -0.22284360 1.16307581
#> 6 -0.30780832 0.00019998 1.09854562
#> 7 -0.36444410 0.18245488 1.02956227
#> 8 -0.40444714 0.33655795 0.95546529
#> 9 -0.43118004 0.47005363 0.87543540
#> 10 -0.44655956 0.58780889 0.78843918
#> 11 -0.45158271 0.69314718 0.69314718
#> 12 -0.44655956 0.78843918 0.58780889
#> 13 -0.43118004 0.87543540 0.47005363
#> 14 -0.40444714 0.95546529 0.33655795
#> 15 -0.36444410 1.02956227 0.18245488
#> 16 -0.30780832 1.09854562 0.00019998
#> 17 -0.22855163 1.16307581 -0.22284360
#> 18 -0.11510253 1.22369308 -0.51035907
#> 19 0.05888752 1.28084495 -0.91549105
#> 20 0.37793108 1.33490633 -1.60763953
#> 21 3.46049030 1.38619436 -7.82404601
llikBeta(x, 1, 3, TRUE)
#> x shape1 shape2 fx dShape1 dShape2
#> 1 0.00010 1 3 1.09841228 -7.37700704 0.33323333
#> 2 0.05009 1 3 0.99583622 -1.16060056 0.28194530
#> 3 0.10008 1 3 0.88771347 -0.46845208 0.22788392
#> 4 0.15007 1 3 0.77340972 -0.06332009 0.17073205
#> 5 0.20006 1 3 0.65217518 0.22419538 0.11011478
#> 6 0.25005 1 3 0.52311481 0.44723895 0.04558459
#> 7 0.30004 1 3 0.38514811 0.62949385 -0.02339876
#> 8 0.35003 1 3 0.23695415 0.78359692 -0.09749574
#> 9 0.40002 1 3 0.07689437 0.91709260 -0.17752562
#> 10 0.45001 1 3 -0.09709808 1.03484786 -0.26452185
#> 11 0.50000 1 3 -0.28768207 1.14018615 -0.35981385
#> 12 0.54999 1 3 -0.49835866 1.23547815 -0.46515214
#> 13 0.59998 1 3 -0.73386918 1.32247438 -0.58290740
#> 14 0.64997 1 3 -1.00086054 1.40250426 -0.71640308
#> 15 0.69996 1 3 -1.30906667 1.47660124 -0.87050615
#> 16 0.74995 1 3 -1.67357647 1.54558459 -1.05276105
#> 17 0.79994 1 3 -2.11966363 1.61011478 -1.27580462
#> 18 0.84993 1 3 -2.69469457 1.67073205 -1.56332009
#> 19 0.89992 1 3 -3.50495854 1.72788392 -1.96845208
#> 20 0.94991 1 3 -4.88925549 1.78194530 -2.66060056
#> 21 0.99990 1 3 -17.32206846 1.83323333 -8.87700704
et <- et(seq(1e-4, 1-1e-4, length.out=21))
et$shape1 <- 0.5
et$shape2 <- 1.5
model <- function() {
model({
fx <- llikBeta(time, shape1, shape2)
dShape1 <- llikBetaDshape1(time, shape1, shape2)
dShape2 <- llikBetaDshape2(time, shape1, shape2)
})
}
rxSolve(model, et)
#>
#>
#> ℹ parameter labels from comments are typically ignored in non-interactive mode
#> ℹ Need to run with the source intact to parse comments
#>
#>
#> using C compiler: ‘gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’
#> ── Solved rxode2 object ──
#> ── Parameters (value$params): ──
#> # A tibble: 1 × 0
#> ── Initial Conditions (value$inits): ──
#> named numeric(0)
#> ── First part of data (object): ──
#> # A tibble: 21 × 6
#> time fx dShape1 dShape2 shape1 shape2
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 0.0001 4.15 -6.82 0.386 0.5 1.5
#> 2 0.0501 1.02 -0.608 0.335 0.5 1.5
#> 3 0.100 0.647 0.0845 0.281 0.5 1.5
#> 4 0.150 0.415 0.490 0.224 0.5 1.5
#> 5 0.200 0.241 0.777 0.163 0.5 1.5
#> 6 0.250 0.0976 1.00 0.0985 0.5 1.5
#> # ℹ 15 more rows
# }