Acesta este Codul R pentru

Zhu, Lei, Devlin si Roeder (2017) “Testarea matricilor de covarianta de inalta dimensiune, cu aplicatie pentru detectarea genelor de risc de schizofrenie”, Annals of Applied Statistics , 11 (3): 1810-1831. (arxiv)

Va rugam sa citati sLED in publicatia dvs. daca va ajuta cercetarea:

@ARTICLE {zhu2017testing, AUTHOR = {Lingxue Zhu and Jing Lei and Bernie Devlin and Kathryn Roeder}, TITLE = {Testarea matricilor de covarianta inalta dimensionala, cu aplicatie pentru detectarea genelor de risc ale schizofreniei}, JURNAL = {Ann. Aplic. Statistica}, FJOURNAL = {Annals of Applied Statistics}, YEAR = {2017}, VOLUME = {11}, NUMBER = {3}, PAGES = {1810-1831},}

O scurta introducere la sLED

Sa presupunem ca X, Y sunt vectori aleatori p-dimensionali proveniti independent din doua populatii. Fie D matricea diferentiala

D = cov (Y) – cov (X)

Scopul pentru sLED este de a testa urmatoarea ipoteza:

H_0: D = 0 versus H_1: D! = 0

si sa identifice intrarile diferite de zero in D daca ipoteza nula este respinsa. sLED este mai puternic decat multe proceduri de testare existente cu doua esantioane pentru matricile de covarianta inalta dimensionala (adica atunci cand dimensiunea caracteristicilor p este mai mare decat dimensiunile esantionului), chiar si atunci cand semnalul este atat slab, cat si rar.

sLED poate fi, de asemenea, utilizat pentru a compara alte matrice de relatii p-cu-p, inclusiv matrici de corelatie si matrice de adiacenta ponderate.

Instalare

Acest pachet poate fi instalat prin devtools in R:

install.packages (“devtools”) ## daca nu este instalata biblioteca (“devtools”) devtools :: install_github (“lingxuez / sLED”)

Exemple

Dimensiunea sLED

In primul rand, sa incercam sLED sub ipoteza nula. Generam 100 de esantioane din distributii normale standard cu p = 100:

n <- 50 p <- 100 set.seed (99) X <- matrix (rnorm (n * p, medie = 0, sd = 1), nrow = n, ncol = p) set.seed (42) Y < – matrice (rnorm (n * p, medie = 0, sd = 1), nrow = n, ncol = p)

Acum aplicam sLED. Pentru ilustrare, folosim aici 50 de permutari si lasam implicit toate celelalte argumente:

biblioteca (“sLED”) rezultat <- sLED (X = X, Y = Y, npermute = 50)

Sa verificam valoarea p a sLED, care speram ca nu este prea mica (deoarece X si Y sunt distribuite identic):

Puterea sLED

Acum sa incercam un exemplu mai interesant pentru a arata puterea sLED-ului. Sa generam inca 50 de esantioane gaussiene cu o structura de covarianta diferita:

n <- 50 p <- 100 ## Prima populatie este inca standard normal set.seed (99) X <- matrice (rnorm (n * p, medie = 0, sd = 1), nrow = n, ncol = p ) ## Pentru a doua populatie, primele 10 caracteristici au structuri de corelatie diferite s <- 10 sigma.2 <- diag (p) sigma.2 [1: s, 1: s] <- sigma.2 [1: s , 1: s] + 0.2 set.seed (42) Y2 <- MASS :: mvrnorm (n, mu = rep (0, p), Sigma = sigma.2)

Acum rulam sLED. Retineti ca modificarile matricilor de covarianta au loc la 10% din caracteristici, deci sumabs parametrul ideal de raritate ar trebui sa fie in jur (de obicei putin mai mic de) sqrt (0,1) = 0,32.

españolas calientes me follo a mi vecina
video famosas desnudas descargar peliculas porno completas
madura cabalgando tangas xxx
chuponas maduros en pajilleros
cornudos consentidos nonude model
www rubias españolas follando por dinero
porno españa casero maduras españolas amater
creampie abuelas viejas mexicanas follando
porno amateur hd porno en cine convencional
pollones enormes miriam sanchez videos porno
padre enseña a follar a su hija porno gay cerdo
intercambio parejas amateur revistas xxx
abuela enculada necrofilia xxx
follada por su jefe tetas saltarinas
porno gratis abuelos feet hentai
follando con la abuela follada en tanga
follando con mi amante porno friki
pelis porno francesas vidio xxxx
porno hoy paja en publico
masajes eroticos camara oculta porno violacion gay

Aici, alegem sumabs = 0,25 si folosim 100 de permutari:

## pentru reproductibilitate, sa setam semintele pentru rezultatul permutarii <- sLED (X = X, Y = Y2, sumabs.seq = 0,25, npermute = 100, seminte = c (1: 100)) rezultat $ pVal ## [ 1] 0,03

Valoarea p este aproape de zero. Mai mult, sa verificam ce caracteristici sunt detectate de sLED, adica au un efect de parghie diferit de zero:

care (rezultat $ parghie! = 0) ## [1] 1 2 3 4 6 7 9 10 16 26 46 50 52 83

Vedem ca sLED identifica corect majoritatea primelor 10 caracteristici de semnalizare. De asemenea, putem rula sLED intr-o serie de parametri de raritate sumabs simultan:

## aici lasam sumabs.seq sa fie un vector cu 3 parametri de raritate diferiti sa rezulte <- sLED (X = X, Y = Y2, sumabs.seq = c (0,2, 0,25, 0,3), npermute = 100, seminte = c (1: 100)) ## putem verifica cele 3 valori p, care sunt toate <0,05 rezultat $ pVal ## [1] 0,04 0,03 0,02 ## sa ne uitam, de asemenea, la ce caracteristici au detectat un efect de parghie diferit de zero. – aplicati (rezultat $ parghie, 1, functie (x) {care (x! = 0)}) nume (detectat.genes) <- paste0 (“sumabs =”, rezultat $ sumabs.seq) detectat.genes ## $ `sumabs = 0.2` ## [1] 2 6 7 9 16 26 50 52 ## ## $` sumabs = 0.25` ## [1] 1 2 3 4 6 7 9 10 16 26 46 50 52 83 ## # # $ `sumabs = 0.3` ## [1] 1 2 3 4 6 7 9 10 16 18 19 20 26 35 45 46 50 52 60 63 83

Dupa cum se arata mai sus, valoarea p sLED este de obicei destul de stabila pentru o gama rezonabila de parametri de raritate. Cu sumabs mai mari, solutia devine mai densa, adica mai multe caracteristici vor avea un parghie diferita de zero.

Parametru de raritate

Un parametru cheie de reglare pentru sLED este parametrul de raritate, sumabs. Aceasta corespunde parametrului c din ecuatia (2.16) din lucrarea noastra. Valorile mai mari ale sumab-urilor corespund unor solutii mai dense. Aproximativ, sumabs ^ 2 ofera o legatura inferioara slaba asupra proportiei caracteristicilor care trebuie detectate. sumabs pot lua orice valoare intre 1 / \ sqrt {p} si 1. In practica, o valoare mai mica este de obicei preferata pentru o mai buna interpretabilitate.

Paralelizare

Testul poate deveni costisitor din punct de vedere al calculului cu un numar mare de permutari. Pentru seturi de date mai mari, se recomanda versiunea multi-core:

result_multicore <- sLED (X = X, Y = Y, npermute = 1000, useMC = TRUE, mc.cores = 2)

Va rugam sa retineti ca acest lucru necesita pachetele R doParallel si parallel.

Simulari

Furnizam codul pentru a reproduce rezultatele simularii in sectiunea 3 a lucrarii. Va rugam sa consultati scriptul R.

simulari / simula.R

Retineti ca simularea poate dura cateva ore pana la finalizare. Paralelizarea multi-core este foarte recomandata aici.

Teste

Acest pachet este inca in curs de dezvoltare si a fost testat doar pe Mac OS X 10.11.6.