我有一個真正的有向圖,我知道有多少個節點和邊。度分佈近似於冪律分佈。現在,我想創建一個隨機圖複製我的真實圖形的特點如下:創建定向隨機圖,指定冪律度分佈的alpha值
- 節點數量
- 邊數
- (類似)冪律入度和出 分佈
假設g
是我真正的10000個節點和30000個邊緣
exp.out = 2.2
exp.in = 2.3
set.seed(123)
g <- static.power.law.game(10000, 30000, exp.out, exp.in, multiple=TRUE)
的圖
但我不知道exp.out
和exp.in
。然後,我嘗試用plfit
功能(downloaded here)估計冪律指數:
plfit(degree(g, mode="in")+1)
# $xmin
# [1] 5
#
# $alpha
# [1] 2.97
#
# $D
# [1] 0.01735342
plfit(degree(g, mode="out")+1)
# $xmin
# [1] 5
#
# $alpha
# [1] 2.83
#
# $D
# [1] 0.01589222
從中我然後得出我的分佈函數(分別爲入度和出度):
- P(X )〜X^-2.97對於x> = 5
- p(X)〜X^-2.83對於x> = 5
根據的
遊戲只是簡單地使用static.fitness.game和適當的 構造的健身向量。特別地,頂點的適應度i是 I ^( - α),其中alpha = 1 /(γ-1)和γ是在參數
給出 指數據我所知,爲了複製我的alpha,我應該分別以1.3367(2.97 = 1 /(x-1))和1.35336(2.83 = 1 /(x-1))作爲gammas。然後
set.seed(321)
random.g <- static.power.law.game(10000, 30000, 1.35336, 1.3367, multiple=TRUE)
# Error in .Call("R_igraph_static_power_law_game", no.of.nodes, no.of.edges, :
# At games.c:3748 : out-degree exponent must be >= 2, Invalid value
然而,這static.power.law.game
只需要度指數高於或等於2讓我覺得,也許我失去了一些東西的事實...
但是,我沒有得到'i ^( - alpha),其中alpha = 1 /(gamma-1) '來自文檔......它代表什麼? – CptNemo 2014-10-20 20:11:05
'static.power.law.game'是'static.fitness.game'方便的包裝,'i^{ - alpha}'定義了'static.fitness.game'中頂點i的健身得分 - 但是你不應該擔心,因爲你應該指定所需的指數(gamma)作爲'static.power.law.game'的一個參數,並且將它們轉換爲正確的適應度(alpha)值。 – 2014-10-20 22:04:49