Identify networks from correlated data (1)

library(lglasso)
#library(devtools)
#load_all()
# number of nodes
p=10
# number of edge in general network
m1=10
# the difference between the number of edges in individual networks and general network
m2=0
#  number of tissues
m3=4
# number of subjects
n=20
# correlation between tissues
rho=0.8

Model 1: clustered data with no correlation structure

set.seed(5)
cc=matrix(rho,ncol = m3,nrow = m3)
diag(cc)=1
dd=Simulate(type="general",n=n,p=p,m1=m1,m2=m2,m3=m3,cc=cc)
ddata=dd$data

estimate general networks

aa=lglasso(data=ddata,lambda = 0.1,type="general",tol = 0.01, trace=TRUE)
#> [1] "iteration 1 precision difference: 3.702 /correlation difference: 0.319"
#> [1] "iteration 2 precision difference: 1.062 /correlation difference: 0.225"
#> [1] "iteration 3 precision difference: 0.508 /correlation difference: 0.359"
#> [1] "iteration 4 precision difference: 0.625 /correlation difference: 0.167"
#> [1] "iteration 5 precision difference: 0.235 /correlation difference: 0.205"
#> [1] "iteration 6 precision difference: 0.239 /correlation difference: 0.063"
#> [1] "iteration 7 precision difference: 0.064 /correlation difference: 0.059"
#> [1] "iteration 8 precision difference: 0.057 /correlation difference: 0.015"
#> [1] "iteration 9 precision difference: 0.014 /correlation difference: 0.014"
#> [1] "iteration 10 precision difference: 0.012 /correlation difference: 0.003"
#> [1] "iteration 11 precision difference: 0.003 /correlation difference: 0.003"

## precision matrix
aa$wi
#>           [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]    [,8]
#>  [1,] 5.516811 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000
#>  [2,] 0.000000 3.817945 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000
#>  [3,] 0.000000 0.000000 4.865173 0.000000 0.000000 0.000000 0.000000 0.00000
#>  [4,] 0.000000 0.000000 0.000000 4.262306 0.000000 0.000000 0.000000 0.00000
#>  [5,] 0.000000 0.000000 0.000000 0.000000 5.787575 0.000000 0.000000 0.00000
#>  [6,] 0.000000 0.000000 0.000000 0.000000 0.000000 6.730418 0.000000 0.00000
#>  [7,] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 5.510969 0.00000
#>  [8,] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 2.96861
#>  [9,] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000
#> [10,] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000
#>           [,9]    [,10]
#>  [1,] 0.000000 0.000000
#>  [2,] 0.000000 0.000000
#>  [3,] 0.000000 0.000000
#>  [4,] 0.000000 0.000000
#>  [5,] 0.000000 0.000000
#>  [6,] 0.000000 0.000000
#>  [7,] 0.000000 0.000000
#>  [8,] 0.000000 0.000000
#>  [9,] 4.365346 0.000000
#> [10,] 0.000000 5.252082

## correlation between different tissues
cov2cor(aa$v)
#>           [,1]      [,2]      [,3]      [,4]
#> [1,] 1.0000000 0.6393648 0.6527129 0.6397482
#> [2,] 0.6393648 1.0000000 0.6300338 0.6222362
#> [3,] 0.6527129 0.6300338 1.0000000 0.6221904
#> [4,] 0.6397482 0.6222362 0.6221904 1.0000000

estimate individual networks

aa=lglasso(data=ddata,lambda = c(1,1),type="general",group = ddata[,2], ,tol = 0.01, trace=TRUE)
#> [1] "iteration 1 precision difference: 0.364 /correlation difference: 0.319"
#> [1] "iteration 2 precision difference: 0.121 /correlation difference: 0.095"
#> [1] "iteration 3 precision difference: 0.026 /correlation difference: 0.032"
#> [1] "iteration 4 precision difference: 0.009 /correlation difference: 0.007"
aa$wiList
#> $tissue1
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  8.360525e-01  1.711074e-07  7.778682e-07 -2.158705e-07  2.452963e-07
#>  [2,]  1.711074e-07  7.408612e-01 -1.289838e-07  1.402559e-07  1.812880e-07
#>  [3,]  7.778682e-07 -1.289838e-07  8.031581e-01  9.884690e-08 -2.086757e-07
#>  [4,] -2.158705e-07  1.402559e-07  9.884690e-08  7.703726e-01  3.537557e-07
#>  [5,]  2.452963e-07  1.812880e-07 -2.086757e-07  3.537557e-07  8.767516e-01
#>  [6,] -2.034362e-07 -4.914288e-08  1.509564e-07 -4.128519e-08  3.662160e-07
#>  [7,] -3.009055e-07  1.063275e-07  2.468404e-07 -5.611130e-07  3.793120e-07
#>  [8,] -6.808455e-08 -3.116737e-08 -9.535287e-08  4.260568e-08  3.463531e-07
#>  [9,]  6.333049e-08  9.218787e-07  7.395229e-09  1.704857e-07 -3.992317e-07
#> [10,]  3.411708e-07  1.535405e-07 -2.836965e-07  1.994251e-07 -4.934617e-07
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -2.034362e-07 -3.009055e-07 -6.808455e-08  6.333049e-08  3.411708e-07
#>  [2,] -4.914288e-08  1.063275e-07 -3.116737e-08  9.218787e-07  1.535405e-07
#>  [3,]  1.509564e-07  2.468404e-07 -9.535287e-08  7.395229e-09 -2.836965e-07
#>  [4,] -4.128519e-08 -5.611130e-07  4.260568e-08  1.704857e-07  1.994251e-07
#>  [5,]  3.662160e-07  3.793120e-07  3.463531e-07 -3.992317e-07 -4.934617e-07
#>  [6,]  1.000182e+00 -2.598390e-07 -2.595232e-07  1.191774e-07  2.511294e-07
#>  [7,] -2.598390e-07  8.768469e-01  8.204594e-08  5.004475e-08  2.306894e-07
#>  [8,] -2.595232e-07  8.204594e-08  7.210577e-01  7.543634e-08  7.751437e-08
#>  [9,]  1.191774e-07  5.004475e-08  7.543634e-08  7.677055e-01 -5.448216e-07
#> [10,]  2.511294e-07  2.306894e-07  7.751437e-08 -5.448216e-07  8.783768e-01
#> 
#> $tissue2
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  8.360525e-01  1.639270e-07  8.241841e-07 -2.264549e-07  2.133872e-07
#>  [2,]  1.639270e-07  7.408611e-01 -1.493401e-07  4.092282e-07 -6.984609e-08
#>  [3,]  8.241841e-07 -1.493401e-07  8.031582e-01  3.890133e-07 -2.323932e-07
#>  [4,] -2.264549e-07  4.092282e-07  3.890133e-07  7.703720e-01  3.329700e-07
#>  [5,]  2.133872e-07 -6.984609e-08 -2.323932e-07  3.329700e-07  9.407475e-01
#>  [6,] -1.602971e-07  1.634180e-07  1.162101e-07 -2.320066e-07  2.725966e-07
#>  [7,] -2.510644e-07  2.103236e-07  3.331402e-07 -2.939342e-07  1.773528e-07
#>  [8,] -2.848820e-07  3.070703e-07  3.557614e-07 -7.029556e-07  4.870572e-07
#>  [9,] -9.817262e-08  7.678474e-07  7.243599e-08 -6.404979e-08 -2.636395e-07
#> [10,]  3.372427e-07  7.077272e-08 -3.289710e-07  6.038253e-08 -4.267324e-07
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -1.602971e-07 -2.510644e-07 -2.848820e-07 -9.817262e-08  3.372427e-07
#>  [2,]  1.634180e-07  2.103236e-07  3.070703e-07  7.678474e-07  7.077272e-08
#>  [3,]  1.162101e-07  3.331402e-07  3.557614e-07  7.243599e-08 -3.289710e-07
#>  [4,] -2.320066e-07 -2.939342e-07 -7.029556e-07 -6.404979e-08  6.038253e-08
#>  [5,]  2.725966e-07  1.773528e-07  4.870572e-07 -2.636395e-07 -4.267324e-07
#>  [6,]  1.024495e+00 -1.499472e-07 -2.585114e-07 -8.649154e-08  2.240758e-07
#>  [7,] -1.499472e-07  9.741249e-01 -1.629360e-07 -1.018897e-07  9.405944e-08
#>  [8,] -2.585114e-07 -1.629360e-07  7.210573e-01  3.875914e-08  2.485350e-07
#>  [9,] -8.649154e-08 -1.018897e-07  3.875914e-08  7.677056e-01 -4.069555e-07
#> [10,]  2.240758e-07  9.405944e-08  2.485350e-07 -4.069555e-07  8.910790e-01
#> 
#> $tissue3
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  8.360524e-01 -9.048535e-08  8.715310e-07 -8.693978e-08  2.406944e-07
#>  [2,] -9.048535e-08  7.408610e-01  1.922502e-07  3.675141e-07  1.526799e-07
#>  [3,]  8.715310e-07  1.922502e-07  8.031582e-01  1.172549e-07 -2.919227e-07
#>  [4,] -8.693978e-08  3.675141e-07  1.172549e-07  7.703726e-01  1.782163e-07
#>  [5,]  2.406944e-07  1.526799e-07 -2.919227e-07  1.782163e-07  9.254412e-01
#>  [6,] -1.505186e-07 -7.145638e-08  1.695493e-07 -9.230797e-08  2.958706e-07
#>  [7,] -2.688832e-07  2.700306e-07  2.273982e-07 -4.319797e-07  1.784805e-07
#>  [8,]  3.830772e-08 -1.359057e-07 -2.916866e-08 -4.873851e-07  2.851453e-07
#>  [9,]  1.877206e-07  8.667291e-07 -1.621210e-07 -8.810300e-08 -2.555998e-07
#> [10,]  3.418015e-07  1.395905e-07 -3.497515e-07  2.063135e-07 -3.477019e-07
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -1.505186e-07 -2.688832e-07  3.830772e-08  1.877206e-07  3.418015e-07
#>  [2,] -7.145638e-08  2.700306e-07 -1.359057e-07  8.667291e-07  1.395905e-07
#>  [3,]  1.695493e-07  2.273982e-07 -2.916866e-08 -1.621210e-07 -3.497515e-07
#>  [4,] -9.230797e-08 -4.319797e-07 -4.873851e-07 -8.810300e-08  2.063135e-07
#>  [5,]  2.958706e-07  1.784805e-07  2.851453e-07 -2.555998e-07 -3.477019e-07
#>  [6,]  1.023152e+00 -1.558278e-07 -1.423364e-07 -7.562694e-10  2.260897e-07
#>  [7,] -1.558278e-07  9.188394e-01 -9.558044e-09 -9.260177e-08  1.037278e-07
#>  [8,] -1.423364e-07 -9.558044e-09  7.210576e-01  1.482954e-07  2.709391e-07
#>  [9,] -7.562694e-10 -9.260177e-08  1.482954e-07  7.677056e-01 -1.862392e-07
#> [10,]  2.260897e-07  1.037278e-07  2.709391e-07 -1.862392e-07  9.258434e-01
#> 
#> $tissue4
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  8.360525e-01  2.585157e-07  7.975814e-07 -2.163787e-07  1.372824e-07
#>  [2,]  2.585157e-07  7.408612e-01 -2.444176e-07  3.083515e-07 -4.288954e-08
#>  [3,]  7.975814e-07 -2.444176e-07  8.031582e-01  3.629229e-07 -1.453963e-07
#>  [4,] -2.163787e-07  3.083515e-07  3.629229e-07  7.703727e-01  4.115359e-07
#>  [5,]  1.372824e-07 -4.288954e-08 -1.453963e-07  4.115359e-07  9.350289e-01
#>  [6,] -1.401699e-07  1.320179e-07  6.312686e-08 -2.824659e-07  2.822921e-07
#>  [7,] -1.233501e-07  2.709225e-07  1.108011e-07 -4.487126e-07  2.759064e-07
#>  [8,] -2.569367e-07  8.182811e-09  9.171560e-08 -3.069132e-07  3.051553e-07
#>  [9,] -5.144747e-08  8.861348e-07 -3.072395e-08 -6.610906e-08 -1.275157e-07
#> [10,]  1.566212e-07 -3.448303e-08 -1.053827e-07  8.867965e-08 -2.981145e-07
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -1.401699e-07 -1.233501e-07 -2.569367e-07 -5.144747e-08  1.566212e-07
#>  [2,]  1.320179e-07  2.709225e-07  8.182811e-09  8.861348e-07 -3.448303e-08
#>  [3,]  6.312686e-08  1.108011e-07  9.171560e-08 -3.072395e-08 -1.053827e-07
#>  [4,] -2.824659e-07 -4.487126e-07 -3.069132e-07 -6.610906e-08  8.867965e-08
#>  [5,]  2.822921e-07  2.759064e-07  3.051553e-07 -1.275157e-07 -2.981145e-07
#>  [6,]  1.025238e+00 -2.224657e-07 -2.183697e-07 -9.865950e-08  8.202492e-08
#>  [7,] -2.224657e-07  9.410447e-01 -6.062594e-08 -1.950961e-07  3.617910e-08
#>  [8,] -2.183697e-07 -6.062594e-08  8.491899e-01  6.216409e-08  3.388001e-07
#>  [9,] -9.865950e-08 -1.950961e-07  6.216409e-08  7.677056e-01 -3.763525e-07
#> [10,]  8.202492e-08  3.617910e-08  3.388001e-07 -3.763525e-07  8.811676e-01

Model 2: longitudinal data with one-parameter structured correlation


set.seed(5)
dd=Simulate(type="longihomo",n=n,p=p,m1=m1,tau=c(2,1))
ddata=dd$data
group=rep(c(1,2),71)

estimate general networks

aa=lglasso(data=ddata,lambda = 1,type="expFixed",expFix=1,tol = 0.01, trace=TRUE)
#> [1] "iteration 1 precision difference: 0.4368 /correlation tau difference: 0.4929"
#> [1] "iteration 2 precision difference: 0.2394 /correlation tau difference: 0.1774"
#> [1] "iteration 3 precision difference: 0.095 /correlation tau difference: 0.0875"
#> [1] "iteration 4 precision difference: 0.0708 /correlation tau difference: 0.0438"
#> [1] "iteration 5 precision difference: 0.0473 /correlation tau difference: 0.0316"
#> [1] "iteration 6 precision difference: 0.0416 /correlation tau difference: 0.0195"
#> [1] "iteration 7 precision difference: 0.03 /correlation tau difference: 0.0161"
#> [1] "iteration 8 precision difference: 0.0278 /correlation tau difference: 0.0109"
#> [1] "iteration 9 precision difference: 0.0209 /correlation tau difference: 0.0096"
#> [1] "iteration 10 precision difference: 0.02 /correlation tau difference: 0.0069"
#> [1] "iteration 11 precision difference: 0.0154 /correlation tau difference: 0.0064"
#> [1] "iteration 12 precision difference: 0.015 /correlation tau difference: 0.0051"
#> [1] "iteration 13 precision difference: 0.0123 /correlation tau difference: 0.0048"
#> [1] "iteration 14 precision difference: 0.012 /correlation tau difference: 0.004"
#> [1] "iteration 15 precision difference: 0.01 /correlation tau difference: 0.004"
aa$wi
#>               [,1]         [,2]        [,3]      [,4]      [,5]      [,6]
#>  [1,]  0.270811209  0.009208136 -0.02903614 0.0000000 0.0000000 0.0000000
#>  [2,]  0.009208136  0.371900224  0.00000000 0.0000000 0.0000000 0.0000000
#>  [3,] -0.029036139  0.000000000  0.32873314 0.0000000 0.0000000 0.0000000
#>  [4,]  0.000000000  0.000000000  0.00000000 0.1353229 0.0000000 0.0000000
#>  [5,]  0.000000000  0.000000000  0.00000000 0.0000000 0.2420999 0.0000000
#>  [6,]  0.000000000  0.000000000  0.00000000 0.0000000 0.0000000 0.3085189
#>  [7,]  0.000000000  0.000000000  0.00000000 0.0000000 0.0000000 0.0000000
#>  [8,]  0.000000000  0.000000000  0.00000000 0.0000000 0.0000000 0.0000000
#>  [9,]  0.000000000 -0.018201426  0.00000000 0.0000000 0.0000000 0.0000000
#> [10,]  0.000000000  0.000000000  0.00000000 0.0000000 0.0000000 0.0000000
#>            [,7]        [,8]        [,9]     [,10]
#>  [1,] 0.0000000  0.00000000  0.00000000 0.0000000
#>  [2,] 0.0000000  0.00000000 -0.01820143 0.0000000
#>  [3,] 0.0000000  0.00000000  0.00000000 0.0000000
#>  [4,] 0.0000000  0.00000000  0.00000000 0.0000000
#>  [5,] 0.0000000  0.00000000  0.00000000 0.0000000
#>  [6,] 0.0000000  0.00000000  0.00000000 0.0000000
#>  [7,] 0.1498215  0.00000000  0.00000000 0.0000000
#>  [8,] 0.0000000  0.25091903 -0.01998776 0.0000000
#>  [9,] 0.0000000 -0.01998776  0.27716395 0.0000000
#> [10,] 0.0000000  0.00000000  0.00000000 0.1446504

estimate individual networks

aa=lglasso(data=ddata,lambda = c(1,1),type="expFixed",expFix=1,group = group, ,tol = 0.01, trace=TRUE)
#> [1] "iteration 1 precision difference: 0.4368 /correlation tau difference: 0.4929"
#> [1] "iteration 2 precision difference: 0.2394 /correlation tau difference: 0.1774"
#> [1] "iteration 3 precision difference: 0.095 /correlation tau difference: 0.0875"
#> [1] "iteration 4 precision difference: 0.0708 /correlation tau difference: 0.0438"
#> [1] "iteration 5 precision difference: 0.0473 /correlation tau difference: 0.0316"
#> [1] "iteration 6 precision difference: 0.0416 /correlation tau difference: 0.0195"
#> [1] "iteration 7 precision difference: 0.03 /correlation tau difference: 0.0161"
#> [1] "iteration 8 precision difference: 0.0278 /correlation tau difference: 0.0109"
#> [1] "iteration 9 precision difference: 0.0209 /correlation tau difference: 0.0096"
#> [1] "iteration 10 precision difference: 0.02 /correlation tau difference: 0.0069"
#> [1] "iteration 11 precision difference: 0.0154 /correlation tau difference: 0.0064"
#> [1] "iteration 12 precision difference: 0.015 /correlation tau difference: 0.0051"
#> [1] "iteration 13 precision difference: 0.0123 /correlation tau difference: 0.0048"
#> [1] "iteration 14 precision difference: 0.012 /correlation tau difference: 0.004"
#> [1] "iteration 15 precision difference: 0.01 /correlation tau difference: 0.004"
aa$wiList
#> $`1`
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  2.939269e-01  9.209016e-03 -2.903633e-02 -6.029025e-08  9.623904e-08
#>  [2,]  9.209016e-03  3.718723e-01 -2.122708e-07  1.747974e-07 -3.719218e-08
#>  [3,] -2.903633e-02 -2.122708e-07  3.287133e-01  1.568372e-07  2.138749e-07
#>  [4,] -6.029025e-08  1.747974e-07  1.568372e-07  2.514940e-01 -2.176675e-07
#>  [5,]  9.623904e-08 -3.719218e-08  2.138749e-07 -2.176675e-07  2.917235e-01
#>  [6,] -2.680215e-07  1.664946e-09 -2.915658e-07  5.913060e-07 -4.851646e-07
#>  [7,]  3.143388e-08  5.892596e-08  1.123536e-07 -1.743418e-06  1.490865e-07
#>  [8,] -1.088355e-07  5.306931e-07 -6.980059e-08 -2.266518e-06 -2.117361e-08
#>  [9,] -7.353247e-07 -1.820103e-02 -4.460549e-07 -8.857031e-07  4.954350e-09
#> [10,] -5.336343e-07  4.389405e-07 -1.361133e-07  4.708328e-08 -1.659302e-07
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -2.680215e-07  3.143388e-08 -1.088355e-07 -7.353247e-07 -5.336343e-07
#>  [2,]  1.664946e-09  5.892596e-08  5.306931e-07 -1.820103e-02  4.389405e-07
#>  [3,] -2.915658e-07  1.123536e-07 -6.980059e-08 -4.460549e-07 -1.361133e-07
#>  [4,]  5.913060e-07 -1.743418e-06 -2.266518e-06 -8.857031e-07  4.708328e-08
#>  [5,] -4.851646e-07  1.490865e-07 -2.117361e-08  4.954350e-09 -1.659302e-07
#>  [6,]  3.085100e-01 -1.929522e-07 -2.554174e-07  2.043348e-08  1.332662e-07
#>  [7,] -1.929522e-07  2.845216e-01 -8.174135e-08  1.661417e-08  3.631984e-08
#>  [8,] -2.554174e-07 -8.174135e-08  2.923613e-01 -1.998401e-02  7.659652e-07
#>  [9,]  2.043348e-08  1.661417e-08 -1.998401e-02  2.964264e-01  6.833302e-07
#> [10,]  1.332662e-07  3.631984e-08  7.659652e-07  6.833302e-07  2.446675e-01
#> 
#> $`2`
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  2.976964e-01  9.208459e-03 -2.903351e-02 -4.083497e-07 -3.397223e-08
#>  [2,]  9.208459e-03  3.718839e-01 -2.680182e-07  1.953459e-07 -1.159694e-07
#>  [3,] -2.903351e-02 -2.680182e-07  3.287342e-01 -2.732357e-07  5.860962e-09
#>  [4,] -4.083497e-07  1.953459e-07 -2.732357e-07  2.698051e-01  4.013656e-08
#>  [5,] -3.397223e-08 -1.159694e-07  5.860962e-09  4.013656e-08  2.853873e-01
#>  [6,] -4.060621e-07  6.352660e-08 -3.458568e-07 -3.724394e-08 -2.356884e-07
#>  [7,] -5.540288e-08 -2.431370e-09  1.173793e-08  6.276481e-09  6.650759e-09
#>  [8,] -8.436350e-08  4.542255e-07 -3.478537e-08 -9.054924e-08  9.122991e-08
#>  [9,] -5.345332e-07 -1.820087e-02 -2.786382e-07 -7.528110e-08 -3.072383e-09
#> [10,] -1.546393e-07 -1.381077e-07 -1.450290e-07 -8.021993e-08 -3.050355e-08
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -4.060621e-07 -5.540288e-08 -8.436350e-08 -5.345332e-07 -1.546393e-07
#>  [2,]  6.352660e-08 -2.431370e-09  4.542255e-07 -1.820087e-02 -1.381077e-07
#>  [3,] -3.458568e-07  1.173793e-08 -3.478537e-08 -2.786382e-07 -1.450290e-07
#>  [4,] -3.724394e-08  6.276481e-09 -9.054924e-08 -7.528110e-08 -8.021993e-08
#>  [5,] -2.356884e-07  6.650759e-09  9.122991e-08 -3.072383e-09 -3.050355e-08
#>  [6,]  3.085190e-01  7.547158e-08 -4.548119e-07 -1.414474e-07  4.613797e-07
#>  [7,]  7.547158e-08  2.796433e-01 -4.229766e-09  1.783741e-08 -3.138252e-08
#>  [8,] -4.548119e-07 -4.229766e-09  2.933758e-01 -1.998435e-02 -5.758106e-09
#>  [9,] -1.414474e-07  1.783741e-08 -1.998435e-02  3.007990e-01 -1.771739e-07
#> [10,]  4.613797e-07 -3.138252e-08 -5.758106e-09 -1.771739e-07  2.603332e-01

Model 3: longitudinal data with two-parameter structured correlation


set.seed(5)
dd=Simulate(type="longiheter",n=n,p=p,m1=m1,alpha=2)
ddata=dd$data
group=rep(c(1,2),78)

estimate general networks

aa=lglasso(data=ddata,lambda = 1,type="twoPara", ,tol = 0.01, trace=TRUE)
#> [1] "iteration 1 precision difference: 0.3518 /correlation tau difference: 0.6193"
#> [1] "iteration 2 precision difference: 0.2793 /correlation tau difference: 0.0445"
#> [1] "iteration 3 precision difference: 0.0691 /correlation tau difference: 0.0523"
#> [1] "iteration 4 precision difference: 0.0969 /correlation tau difference: 0.0146"
#> [1] "iteration 5 precision difference: 0.0343 /correlation tau difference: 0.0235"
#> [1] "iteration 6 precision difference: 0.0548 /correlation tau difference: 0.0083"
#> [1] "iteration 7 precision difference: 0.0211 /correlation tau difference: 0.0133"
#> [1] "iteration 8 precision difference: 0.0353 /correlation tau difference: 0.0052"
#> [1] "iteration 9 precision difference: 0.0136 /correlation tau difference: 0.0093"
#> [1] "iteration 10 precision difference: 0.0237 /correlation tau difference: 0.004"
#> [1] "iteration 11 precision difference: 0.0101 /correlation tau difference: 0.0091"
#> [1] "iteration 12 precision difference: 0.0183 /correlation tau difference: 0.003"
#> [1] "iteration 13 precision difference: 0.0081 /correlation tau difference: 0.0056"
aa$wi
#>               [,1]        [,2]        [,3]         [,4]        [,5]       [,6]
#>  [1,]  0.242114837  0.00000000 -0.03174677 -0.003374856  0.00000000 0.00000000
#>  [2,]  0.000000000  0.29724480  0.00000000  0.000000000  0.04270014 0.00000000
#>  [3,] -0.031746773  0.00000000  0.23740065  0.000000000  0.00000000 0.00000000
#>  [4,] -0.003374856  0.00000000  0.00000000  0.144718135  0.00000000 0.00000000
#>  [5,]  0.000000000  0.04270016  0.00000000  0.000000000  0.28836651 0.00000000
#>  [6,]  0.000000000  0.00000000  0.00000000  0.000000000  0.00000000 0.10507953
#>  [7,]  0.000000000  0.00000000  0.00000000  0.000000000 -0.02952131 0.00000000
#>  [8,]  0.000000000  0.00000000  0.00000000  0.000000000  0.00000000 0.00000000
#>  [9,]  0.000000000  0.00000000  0.00000000  0.000000000  0.00000000 0.01057099
#> [10,]  0.000000000 -0.02099481  0.00000000  0.000000000  0.00000000 0.00000000
#>               [,7]         [,8]       [,9]       [,10]
#>  [1,]  0.000000000  0.000000000 0.00000000  0.00000000
#>  [2,]  0.000000000  0.000000000 0.00000000 -0.02099481
#>  [3,]  0.000000000  0.000000000 0.00000000  0.00000000
#>  [4,]  0.000000000  0.000000000 0.00000000  0.00000000
#>  [5,] -0.029521320  0.000000000 0.00000000  0.00000000
#>  [6,]  0.000000000  0.000000000 0.01057099  0.00000000
#>  [7,]  0.168722013 -0.001655448 0.00000000  0.00000000
#>  [8,] -0.001655448  0.226978798 0.00000000  0.00000000
#>  [9,]  0.000000000  0.000000000 0.22308871  0.00000000
#> [10,]  0.000000000  0.000000000 0.00000000  0.16088067

estimate individual networks

aa=lglasso(data=ddata,lambda = c(1,1),type="twoPara",group=group, ,tol = 0.01, trace=TRUE)
#> [1] "iteration 1 precision difference: 0.3518 /correlation tau difference: 0.6193"
#> [1] "iteration 2 precision difference: 0.2793 /correlation tau difference: 0.0445"
#> [1] "iteration 3 precision difference: 0.0691 /correlation tau difference: 0.0523"
#> [1] "iteration 4 precision difference: 0.0969 /correlation tau difference: 0.0146"
#> [1] "iteration 5 precision difference: 0.0343 /correlation tau difference: 0.0235"
#> [1] "iteration 6 precision difference: 0.0548 /correlation tau difference: 0.0083"
#> [1] "iteration 7 precision difference: 0.0211 /correlation tau difference: 0.0133"
#> [1] "iteration 8 precision difference: 0.0353 /correlation tau difference: 0.0052"
#> [1] "iteration 9 precision difference: 0.0136 /correlation tau difference: 0.0093"
#> [1] "iteration 10 precision difference: 0.0237 /correlation tau difference: 0.004"
#> [1] "iteration 11 precision difference: 0.0101 /correlation tau difference: 0.0091"
#> [1] "iteration 12 precision difference: 0.0183 /correlation tau difference: 0.003"
#> [1] "iteration 13 precision difference: 0.0081 /correlation tau difference: 0.0056"
aa$wiList
#> $`1`
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  2.636677e-01 -2.491505e-07 -3.174356e-02 -3.373609e-03  3.742166e-07
#>  [2,] -2.491505e-07  2.972115e-01  2.343927e-07 -1.977362e-07  4.269845e-02
#>  [3,] -3.174356e-02  2.343927e-07  2.559548e-01  8.221119e-07  3.018558e-08
#>  [4,] -3.373609e-03 -1.977362e-07  8.221119e-07  2.452950e-01  7.496989e-08
#>  [5,]  3.742166e-07  4.269845e-02  3.018558e-08  7.496989e-08  2.883720e-01
#>  [6,] -1.213977e-07  1.305122e-07 -1.428819e-07 -5.980200e-08 -7.492864e-08
#>  [7,]  3.063300e-07 -3.268702e-06  3.317084e-08 -5.667853e-08 -2.951687e-02
#>  [8,] -6.018816e-07 -2.699971e-07 -7.575940e-07 -1.432096e-07  3.649377e-07
#>  [9,]  3.934747e-07  5.976723e-08  3.144450e-07  2.584073e-08  4.966772e-08
#> [10,]  1.344218e-07 -2.099301e-02  4.323534e-07 -6.174056e-08 -2.389362e-06
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -1.213977e-07  3.063300e-07 -6.018816e-07  3.934747e-07  1.344218e-07
#>  [2,]  1.305122e-07 -3.268702e-06 -2.699971e-07  5.976723e-08 -2.099301e-02
#>  [3,] -1.428819e-07  3.317084e-08 -7.575940e-07  3.144450e-07  4.323534e-07
#>  [4,] -5.980200e-08 -5.667853e-08 -1.432096e-07  2.584073e-08 -6.174056e-08
#>  [5,] -7.492864e-08 -2.951687e-02  3.649377e-07  4.966772e-08 -2.389362e-06
#>  [6,]  2.357798e-01  3.363560e-07  9.547713e-07  1.056775e-02 -2.433702e-07
#>  [7,]  3.363560e-07  2.545346e-01 -1.654969e-03  1.253845e-08 -1.356887e-06
#>  [8,]  9.547713e-07 -1.654969e-03  2.476073e-01 -7.470789e-09 -9.212020e-08
#>  [9,]  1.056775e-02  1.253845e-08 -7.470789e-09  2.550636e-01  9.385781e-08
#> [10,] -2.433702e-07 -1.356887e-06 -9.212020e-08  9.385781e-08  2.512639e-01
#> 
#> $`2`
#>                [,1]          [,2]          [,3]          [,4]          [,5]
#>  [1,]  2.638368e-01 -1.761552e-07 -3.174376e-02 -3.373957e-03  2.193741e-07
#>  [2,] -1.761552e-07  2.972073e-01  2.966847e-07 -2.455733e-07  4.269649e-02
#>  [3,] -3.174376e-02  2.966847e-07  2.580045e-01  5.754233e-07 -1.827803e-07
#>  [4,] -3.373957e-03 -2.455733e-07  5.754233e-07  2.472430e-01  1.560957e-07
#>  [5,]  2.193741e-07  4.269649e-02 -1.827803e-07  1.560957e-07  2.883820e-01
#>  [6,] -5.459638e-08  1.138062e-08 -1.162170e-07 -1.498835e-07  5.527971e-08
#>  [7,]  7.884204e-08 -3.212060e-06 -3.011836e-07  1.043470e-08 -2.951671e-02
#>  [8,] -3.571202e-07 -2.121799e-07 -7.392859e-07 -2.151228e-07  3.269605e-07
#>  [9,]  3.210111e-07  5.643864e-08  2.154650e-07 -4.777057e-08 -1.159765e-08
#> [10,]  1.967375e-07 -2.099295e-02  5.325466e-07 -5.515128e-08 -2.623342e-06
#>                [,6]          [,7]          [,8]          [,9]         [,10]
#>  [1,] -5.459638e-08  7.884204e-08 -3.571202e-07  3.210111e-07  1.967375e-07
#>  [2,]  1.138062e-08 -3.212060e-06 -2.121799e-07  5.643864e-08 -2.099295e-02
#>  [3,] -1.162170e-07 -3.011836e-07 -7.392859e-07  2.154650e-07  5.325466e-07
#>  [4,] -1.498835e-07  1.043470e-08 -2.151228e-07 -4.777057e-08 -5.515128e-08
#>  [5,]  5.527971e-08 -2.951671e-02  3.269605e-07 -1.159765e-08 -2.623342e-06
#>  [6,]  2.356715e-01  2.768640e-07  2.788047e-07  1.056760e-02 -2.813656e-07
#>  [7,]  2.768640e-07  2.543086e-01 -1.654978e-03 -5.103504e-08 -1.434009e-06
#>  [8,]  2.788047e-07 -1.654978e-03  2.474699e-01  2.701288e-08 -6.782755e-08
#>  [9,]  1.056760e-02 -5.103504e-08  2.701288e-08  2.565465e-01 -1.220247e-07
#> [10,] -2.813656e-07 -1.434009e-06 -6.782755e-08 -1.220247e-07  2.460722e-01

[1] Zhou J, Gui J, Viles WD, Chen H, Li S, Madan JC, Coker MO, Hoen AG. Identifying stationary microbial interaction networks based on irregularly spaced longitudinal 16S rRNA gene sequencing data. Front Microbiomes. 2024;3:1366948. doi: 10.3389/frmbi.2024.1366948. Epub 2024 Jun 2. PMID: 40687607; PMCID: PMC12276884.

[2] Friedman J., Hastie T., Tibshirani R. (2019) Graphical Lasso: Estimation of Gaussian Graphical Models, Version: 1.11. https://CRAN.R-project.org/package=glasso.