R
을 사용하여 네트워크의 차수 분포가 스케일없는 특성을 갖는 지수 법칙처럼 동작하는지 테스트하고 싶습니다. 그럼에도 불구하고 여러 가지 다른 방법으로이 작업을 수행하는 사람들을 읽었으며, 혼란스러운 점 중 하나는 모델에서 사용해야하는 입력입니다.네트워크의 지수 분포에 적합한 입력
저는 예를 들어 바라바시가 강세를 '보완 누적 분포'인 도수 (see Advanced Topic 3.B of chapter 4, figure 4.22에 맞추도록 권장했습니다. 그러나 사람들이 그래프의 차수에 승수 법칙을 적용한 것을 보았습니다. (igraph::degree(g)
으로 얻음) 저는 또한 다음과 같이 얻어진 확률 분포를 구하기 위해 다음과 같이 구한 확률 법칙을 구했습니다. igraph::degree_distribution(g, cumulative = T)
아래의 재현 가능한 예제에서 볼 수 있듯이이 두 옵션은 매우 다른 결과를 제공합니다. 어느 것이 옳은가요? 다른 말로하면, 그래프에서 "보완적인 누적 누계 분포"를 얻으면 어떻게 권력 법을 적용 할 수 있습니까?
library(igraph)
# create a graph
set.seed(202)
g <- static.power.law.game(500, 1000, exponent.out= 2.2, exponent.in = 2.2, loops = FALSE, multiple = T)
# get input to fit power-law.
# 1) degrees of the nodes
d <- degree(g, v = V(g), mode ="all")
d <- d[ d > 0] # remove nodes with no connection
# OR ?
# 2) cumulative degree distribution
d <- degree_distribution(g, mode ="all", cumulative = T)
# Fit power law
fit <- fit_power_law(d, impelementation = "R.mle")