estimate_s_rss | R Documentation |
susie_rss
Model Using Regularized LDThe estimated s gives information about the consistency between the z scores and LD matrix. A larger s means there is a strong inconsistency between z scores and LD matrix. The “null-mle” method obtains mle of s under z | R ~ N(0,(1-s)R + s I), 0 < s < 1. The “null-partialmle” method obtains mle of s under U^T z | R ~ N(0,s I), in which U is a matrix containing the of eigenvectors that span the null space of R; that is, the eigenvectors corresponding to zero eigenvalues of R. The estimated s from “null-partialmle” could be greater than 1. The “null-pseudomle” method obtains mle of s under pseudolikelihood L(s) = ∏_{j=1}^{p} p(z_j | z_{-j}, s, R), 0 < s < 1.
estimate_s_rss(z, R, n, r_tol = 1e-08, method = "null-mle")
z |
A p-vector of z scores. |
R |
A p by p symmetric, positive semidefinite correlation matrix. |
n |
The sample size. (Optional, but highly recommended.) |
r_tol |
Tolerance level for eigenvalue check of positive semidefinite matrix of R. |
method |
a string specifies the method to estimate s. |
A number between 0 and 1.
set.seed(1) n = 500 p = 1000 beta = rep(0,p) beta[1:4] = 0.01 X = matrix(rnorm(n*p),nrow = n,ncol = p) X = scale(X,center = TRUE,scale = TRUE) y = drop(X %*% beta + rnorm(n)) input_ss = compute_suff_stat(X,y,standardize = TRUE) ss = univariate_regression(X,y) R = cor(X) attr(R,"eigen") = eigen(R,symmetric = TRUE) zhat = with(ss,betahat/sebetahat) # Estimate s using the unadjusted z-scores. s0 = estimate_s_rss(zhat,R) # Estimate s using the adjusted z-scores. s1 = estimate_s_rss(zhat,R,n)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.