Значения R положительны для степени 0?

Я использую evcent для определения EC для моих вершин. Я замечаю, что могут быть получены положительные значения для вершин, имеющих степень = 0. Этого не должно быть! Это числовая проблема?

Я использовал:

ecs <- evcent(g)$vector

Кроме того, чтобы увидеть, была ли эта численная проблема, я попытался включить именованный список для увеличения числа итераций в алгоритме ARPACK:

namedList<-list()
namedList["iter"]<-100
ecs <- evcent(g, options=namedList)$vector

Это не изменило число итераций. Итак, можете ли вы ответить, если это числовая проблема, или мое понимание теории неверно, и если это числовая проблема, как изменить количество итераций. Полагаю, я мог бы исправить это по степени.

Вот воспроизводимый пример:

> V(temppg)
Vertex sequence: [1] 1 2 3 4 5 6 7 8 9 10 11
> E(temppg)
Edge sequence:
[1] 3 -- 2
[2] 4 -- 2
[3] 5 -- 2
[4] 6 -- 2
[5] 7 -- 2
[6] 8 -- 2
[7] 9 -- 2
[8] 10 -- 2
[9] 4 -- 3
[10] 5 -- 3
[11] 7 -- 3
[12] 8 -- 3
[13] 9 -- 3
[14] 10 -- 3
[15] 5 -- 4
[16] 6 -- 4
[17] 7 -- 4
[18] 8 -- 4
[19] 9 -- 4
[20] 10 -- 4
[21] 11 -- 4
[22] 7 -- 5
[23] 8 -- 5
[24] 9 -- 5
[25] 10 -- 5
[26] 11 -- 5
[27] 9 -- 6
[28] 10 -- 6
[29] 11 -- 6
[30] 8 -- 7
[31] 9 -- 7
[32] 10 -- 7
[33] 9 -- 8
[34] 10 -- 9
[35] 11 -- 9
tempec <- evcent(temppg)$vector
> tempec [1] 0.0256601 1.0000000 0.7269698 0.6933415 0.5969578 0.8510570 0.8601283 0.8512843 [9] 0.9912620 0.9523037 0.6248307

Итак, почему, если вершина имеет степень = 0, она получает центральную центральную составляющую 0.0256601?

1 ответ

Центральная плотность собственных векторов не определена для отключенных сетей.

Основная идея центральной тенденции состоит в том, что оценка центрированности каждой вершины должна быть пропорциональна сумме оценок центральности ее соседей. Из этого легко следует, что оценки узлов центрального вектора узлов, которые находятся в разных компонентах одной и той же сети, никак не могут влиять друг на друга (поскольку между ними нет пути). Если вы не видите этого сразу, просто попробуйте умножить оценку центрированности собственного вектора каждой вершины в пределах одной и той же компоненты связности с той же ненулевой константой c - уравнения для центральной оси будут сохраняться для каждой вершины! Таким образом, обычным способом вычисления оценок собственных векторов является вычисление его для разных связанных компонент графа независимо.

В вашем случае вершина со степенью нуля сама по себе является компонентом связности. Какова будет оценка его центральности? С одной стороны, можно сказать, что оценка его центральной вектора равна нулю, поскольку у нее нет соседей вообще. С другой стороны, можно утверждать, что его собственная векторная центральность может быть 1 или любым другим неотрицательным числом, так как эта вершина является самой центральной (и, конечно, единственной) вершиной внутри своей собственной компоненты (и мы знаем, что оценки центрального вектора в разных компонентах не сопоставимы друг с другом).

igraph не заботится обо всем этом - он просто находит собственный вектор матрицы смежности и возвращает это, так как из определения центральной вектора известно, что он является собственным вектором матрицы смежности. Вектор, который вы видите, является собственным вектором. Единственная проблема заключается в том, что из-за несвязности вашей сети матрица смежности имеет бесконечно много собственных векторов, и некоторые из них могут не совпадать с вашей интуицией о центральности некоторых вершин (так как ваша интуиция говорит, что вершины с нулевой степенью должны иметь нуль сосредоточенность).

licensed under cc by-sa 3.0 with attribution.