Description Usage Arguments Value Examples
qemiss_gr2
calculates the gradient of qemiss2
.
qemiss_gr2
calculates the target function for each k
instead of all k.
1 | qemiss_gr2(pars, X, E, L, k)
|
pars |
a vector of length 2. c(alpha[k], beta[k]) |
X |
a list of vectors of observed states x |
E |
a vector of normalizing constant for each observed chain in X |
L |
a list of matrix L from |
k |
a scalar indicating which state is calculated |
A vector of length 2, the gradient for qemiss2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | df <- uORF
X <- L <- list()
E <- c()
for (i in 1:2){
X[[i]] <- df[[i]]$x
RNA <- df[[i]]$RNA
E[i]=df[[i]]$E; trans=df[[i]]$trans;
a=df[[i]]$v; b=df[[i]]$v/df[[i]]$m
la <- forwardAlg(X[[i]], RNA, trans, a, b, E[i])
lb <- backwardAlg(X[[i]], RNA, trans, a, b, E[i])
L[[i]] <- computeL(la, lb)
}
pars <- c(df[[1]]$v, df[[1]]$v/df[[1]]$m)
# check by comparing with qemiss_gr & numeric approximation
D1 <- qemiss_gr(pars,X,E,L)
require(numDeriv)
D2 <- grad(function(u) qemiss(u,X,E,L) , pars)
D3 <- rep(0,42)
for (k in 1:21){
D3[c(k,21+k)] <- qemiss_gr2(pars[c(k,21+k)], X, E, L, k)
}
print(round(D1-D2, 10))
print(round(D3-D1, 10))
print(round(D3-D2, 10))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.