Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of: uppercase, lowercase, numbers, and special characters.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    Français
    v4.5

      Centralité de Vecteur Propre

      ✓ File Writeback ✓ Property Writeback ✓ Direct Return ✓ Stream Return ✕ Stats

      Vue d’ensemble

      La centralité de vecteur propre mesure le pouvoir ou l'influence d'un node. Dans un réseau orienté, le pouvoir d'un node provient de ses voisins entrants. Ainsi, le score de centralité de vecteur propre d'un node dépend non seulement du nombre de liens entrants qu'il a, mais aussi de la puissance de ses voisins entrants. Les connexions avec des nodes à score élevé contribuent davantage au score du node que les connexions avec des nodes à faible score. Dans le scénario de propagation de maladie, un node avec une plus haute centralité de vecteur propre est plus susceptible d'être proche de la source d'infection, ce qui nécessite des précautions particulières.

      Le bien connu PageRank est une variante de la centralité de vecteur propre.

      La centralité de vecteur propre prend des valeurs entre 0 et 1, les nodes avec des scores plus élevés étant plus influents dans le réseau.

      Concepts

      Centralité de Vecteur Propre

      La puissance (score) de chaque node peut être calculée de manière récursive. Prenez le graph ci-dessous comme exemple, la matrice adjacente A reflète les liens entrants de chaque node. En initialisant que chaque node a un score de 1, et il est représenté par le vecteur s(0).

      À chaque tour de transition de puissance, mettez à jour le score de chaque node par la somme des scores de tous ses voisins entrants. Après un tour, le vecteur s(1) = As(0) est comme suit, la normalisation L2 est appliquée pour remettre à l'échelle :

      Après k itérations, s(k) = As(k-1) = Aks(0). À mesure que k augmente, s(k) se stabilise. Dans cet exemple, la stabilisation est atteinte après environ 20 tours.

      En fait, s(k) converge vers le vecteur propre de la matrice A qui correspond à la plus grande valeur propre absolue, d'où les éléments dans s(k) sont appelés centralité de vecteur propre.

      Valeur Propre et Vecteur Propre

      Étant donné A est une matrice carrée n x n, λ est une constante, x est un vecteur non-nul n x 1. Si l'équation Ax = λx est vraie, alors λ est appelée la valeur propre de A, et x est le vecteur propre de A qui correspond à la valeur propre λ.

      La matrice ci-dessus A a 4 valeurs propres λ1, λ2, λ3 et λ4 qui correspondent respectivement aux vecteurs propres x1, x2, x3 et x4. x1 est le vecteur propre correspondant à la valeur propre dominante λ1 qui a la plus grande valeur absolue.

      Selon le théorème de Perron-Forbenius, si la matrice A a des valeurs propres 1| > |λ2| ≥ |λ3| ≥ ... ≥ |λn|, alors à mesure que k → ∞, la direction de s(k) = Aks(0) converge vers x1, et s(0) peut être n'importe quel vecteur non nul.

      Itération de Puissance

      Pour la meilleure efficacité de calcul et précision, cet algorithme adopte l'approche d'itération de puissance pour calculer le vecteur propre dominant (x1) de la matrice A

      • s(1) = As(0)
      • s(2) = As(1) = A2s(0)
      • ...
      • s(k) = As(k-1) = Aks(0)

      L'algorithme continue jusqu'à ce que s(k) converge dans certaines tolérances, ou que le nombre maximum d'itérations soit atteint.

      Considérations

      • L'algorithme utilise la somme de la matrice d'adjacence et de la matrice unité (c'est-à-dire, A = A + I) plutôt que seulement la matrice d'adjacence pour garantir la convergence.
      • Le score de centralité de vecteur propre des nodes sans lien entrant converge vers 0.
      • La boucle sur soi-même est comptée comme un lien entrant, son poids n'étant compté qu'une seule fois (graph pondéré).

      Syntaxe

      • Commande : algo(eigenvector_centrality)
      • Paramètres :
      Nom
      Type
      Spéc
      Défaut
      Optionnel
      Description
      max_loop_num int ≥1 20 Oui Nombre maximum de tours d'itérations ; l'algorithme se termine après avoir fonctionné pour tous les tours, même si la condition de tolerance n'est pas respectée
      tolerance float (0,1) 0.001 Oui Lorsque tous les scores changent moins que la tolérance entre les itérations, le résultat est considéré comme stable et l'algorithme se termine
      edge_weight_property @<schema>?.<property> Type numérique, doit être LTE / Oui Propriété(s) de l'arête à utiliser comme poids des arêtes, où les valeurs de plusieurs propriétés sont additionnées
      limit int ≥-1 -1 Oui Nombre de résultats à retourner, -1 pour retourner tous les résultats
      order string asc, desc / Oui Trier les nodes par le score de centralité

      Exemples

      L'exemple est un réseau web, la propriété d'arête @link.value peut être utilisée comme pondération :

      File Writeback

      Spéc Contenu
      filename _id,rank
      algo(eigenvector_centrality).params({
        max_loop_num: 15,
        tolerance: 0.01
      }).write({
          file: {
            filename: 'rank'
          }
      })
      

      Résultats : Fichier rank

      web7,4.63007e-06
      web6,0.0198426
      web5,0.255212
      web3,0.459901
      web4,0.255214
      web2,0.573512
      web1,0.573511
      

      Property Writeback

      Spéc Contenu Écrire dans Type de données
      property rank Node property float
      algo(eigenvector_centrality).params({
        edge_weight_property: 'value'  
      }).write({
          db: {
            property: 'ec'
          }
      })
      

      Résultats : Le score de centralité pour chaque node est écrit dans une nouvelle propriété nommée ec

      Direct Return

      Ordre Alias Type
      Description
      Colonnes
      0 []parNode Node et sa centralité _uuid, rank
      algo(eigenvector_centrality).params({
        max_loop_num: 20,
        tolerance: 0.01,
        edge_weight_property: '@link.value',
        order: 'desc'
      }) as ec 
      return ec
      

      Résultats : ec

      _uuid rank
      1 0.73133802
      6 0.48346400
      2 0.43551901
      3 0.17412201
      4 0.098612003
      5 0.041088000
      7 0.0000000

      Stream Return

      Ordre Alias Type
      Description
      Colonnes
      0 []parNode Node et sa centralité _uuid, rank

      Exemple : Calculez la centralité de vecteur propre pondérée pour tous les nodes, comptez le nombre de nodes avec un score supérieur à 0,4 ou autrement respectivement

      algo(eigenvector_centrality).params({
        edge_weight_property: '@link.value'
      }).stream() as ec
      with case
      when ec.rank > 0.4 then 'attention'
      when ec.rank <= 0.4 then 'normal'
      END as r
      group by r
      return table(r, count(r))
      

      Résultats : table(r, count(r))

      r count(r)
      attention 3
      normal 4
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写