estimate_s_rss {susieR} | R Documentation |
Estimate s in susie_rss
Model Using Regularized LD
Description
The estimated s gives information about the
consistency between the z scores and LD matrix. A larger
means there is a strong inconsistency between z scores and LD
matrix. The “null-mle” method obtains mle of
under
,
. The
“null-partialmle” method obtains mle of
under
, in which
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
from “null-partialmle” could be greater than 1. The
“null-pseudomle” method obtains mle of
under
pseudolikelihood
,
.
Usage
estimate_s_rss(z, R, n, r_tol = 1e-08, method = "null-mle")
Arguments
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 |
Value
A number between 0 and 1.
Examples
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)