Computes variance of \(Y\) at ego level

ego_variance(graph, Y, funname, all = FALSE)

Arguments

graph

A matrix of size \(n\times n\) of class dgCMatrix.

Y

A numeric vector of length \(n\).

funname

Character scalar. Comparison to make (see vertex_covariate_compare).

all

Logical scalar. When FALSE (default) \(f_i\) is mean at ego level. Otherwise is fix for all i (see details).

Value

A numeric vector of length \(n\).

Details

For each vertex \(i\) the variance is computed as follows

$$% (\sum_j a_{ij})^{-1}\sum_j a_{ij} \left[f(y_i,y_j) - f_i\right]^2 $$

Where \(a_{ij}\) is the ij-th element of graph, \(f\) is the function specified in funname, and, if all=FALSE \(f_i = \sum_j a_{ij}f(y_i,y_j)^2/\sum_ja_{ij}\), otherwise \(f_i = f_j = \frac{1}{n^2}\sum_{i,j}f(y_i,y_j)\)

This is an auxiliary function for struct_test. The idea is to compute an adjusted measure of disimilarity between vertices, so the closest in terms of \(f\) is \(i\) to its neighbors, the smaller the relative variance.

See also