Calcula las métricas de centralidad de un grafo. Estas métricas son fundamentales en el análisis de redes para identificar los nodos más importantes o influyentes. Por ejemplo, en una red social, la centralidad puede ayudar a identificar a los 'influencers'. En una red de transporte, puede señalar los hubs más críticos.
| Parámetro | Descripción |
|---|---|
| auth | Especifica cómo calcular la centralidad de autoridad. Útil en grafos dirigidos para encontrar nodos que son referenciados por muchos hubs. |
| between | Especifica cómo calcular la centralidad de intermediación. Mide la frecuencia con la que un nodo aparece en los caminos más cortos entre otros nodos. |
| betweenNorm | Cuando se establece en True, normaliza el cálculo de la centralidad de intermediación, permitiendo la comparación entre grafos de diferentes tamaños. |
| close | Especifica cómo calcular la centralidad de cercanía. Mide qué tan cerca está un nodo de todos los demás nodos en la red. |
| closeNoPath | Especifica un método para tratar la distancia en caminos más cortos cuando no existe una ruta entre dos nodos (nodos desconectados). |
| clusteringCoefficient | Cuando se establece en True, calcula el coeficiente de agrupamiento del nodo, que mide la tendencia de los vecinos de un nodo a conectarse entre sí. |
| degree | Especifica cómo calcular la centralidad de grado. Es el número de enlaces incidentes en un nodo. |
| deterministic | Cuando se establece en True, asegura que cada invocación (con la misma configuración de máquina y parámetros) produzca el mismo resultado final. |
| direction | Especifica si se debe considerar el grafo de entrada como dirigido o no dirigido. |
| display | Especifica una lista de tablas de resultados para enviar al cliente para su visualización. |
| distributed | Cuando se establece en True, utiliza un grafo distribuido para el cálculo, lo que es crucial para redes muy grandes. |
| eigen | Especifica cómo calcular la centralidad de vector propio. Mide la influencia de un nodo en la red, considerando la importancia de sus vecinos. |
| eigenAlgorithm | Especifica el algoritmo a utilizar para calcular métricas de centralidad que requieren la resolución de sistemas de valores propios (eigen, hub, auth). |
| eigenMaxIters | Especifica el número máximo de iteraciones para los cálculos de vector propio para limitar el tiempo de cómputo. |
| graph | Especifica el grafo en memoria a utilizar para el análisis. |
| hub | Especifica cómo calcular la centralidad de hub. Útil en grafos dirigidos para encontrar nodos que apuntan a muchas autoridades. |
| indexOffset | Especifica el desplazamiento del índice para los identificadores en las tablas de datos de salida de registro y resultados. |
| influence | Especifica cómo calcular la centralidad de influencia, que combina la centralidad de grado y la de sus vecinos. |
| links | Especifica la tabla de datos de entrada que contiene la información de los enlaces del grafo. |
| linksVar | Especifica los nombres de las variables de datos para la tabla de enlaces. |
| logFreqTime | Controla la frecuencia (en segundos) para mostrar los registros de iteración para algoritmos computacionalmente intensivos. |
| logLevel | Controla la cantidad de información que se muestra en el registro de SAS. |
| multiLinks | Cuando se establece en True, incluye múltiples enlaces entre los mismos dos nodos cuando se lee un grafo de entrada. |
| nodes | Especifica la tabla de datos de entrada que contiene la información de los nodos del grafo. |
| nodesVar | Especifica los nombres de las variables de datos para la tabla de nodos. |
| nThreads | Especifica el número máximo de hilos a utilizar para el procesamiento multihilo. |
| outGraphList | Especifica la tabla de datos de salida para contener información resumida sobre los grafos en memoria. |
| outLinks | Especifica la tabla de datos de salida para contener la información de los enlaces del grafo junto con los resultados de los algoritmos. |
| outNodes | Especifica la tabla de datos de salida para contener la información de los nodos del grafo junto con los resultados de los algoritmos. |
| outputTables | Enumera los nombres de las tablas de resultados para guardar como tablas CAS en el servidor. |
| pageRank | Especifica cómo calcular la centralidad de PageRank, un algoritmo famoso para medir la importancia de los nodos. |
| pageRankAlpha | Especifica el factor de amortiguamiento (damping factor) para el algoritmo PageRank. |
| pageRankTolerance | Especifica la tolerancia de convergencia para el algoritmo PageRank. |
| samplePercent | Especifica el porcentaje de nodos de origen a muestrear para el cálculo aproximado de la centralidad de intermediación. |
| selfLinks | Cuando se establece en True, incluye autoenlaces (enlaces de un nodo a sí mismo) cuando se lee un grafo de entrada. |
| standardizedLabels | Cuando se establece en True, especifica que los datos del grafo de entrada están en un formato estandarizado. |
| standardizedLabelsOut | Cuando se establece en True, solicita que los datos del grafo de salida incluyan un formato estandarizado. |
Creamos un grafo simple para ilustrar el cálculo de las métricas de centralidad. Este grafo contiene nodos que representan individuos y enlaces ponderados que representan la fuerza de sus interacciones.
| 1 | DATA mycas.Links; |
| 2 | INFILE DATALINES dsd; |
| 3 | INPUT from $ to $ weight; |
| 4 | DATALINES; |
| 5 | A,B,1 |
| 6 | A,C,1 |
| 7 | A,D,1 |
| 8 | B,C,2 |
| 9 | B,D,1 |
| 10 | C,D,1 |
| 11 | C,E,1 |
| 12 | D,E,1 |
| 13 | E,F,1 |
| 14 | F,G,1 |
| 15 | F,H,1 |
| 16 | G,H,1 |
| 17 | ; |
| 18 | RUN; |
Este ejemplo calcula la centralidad de grado (sin ponderar) y la centralidad de intermediación (ponderada) para cada nodo en el grafo. La centralidad de grado es útil para una rápida evaluación de la conectividad, mientras que la de intermediación identifica nodos 'puente'.
| 1 | PROC CAS; |
| 2 | ACTION network.centrality / |
| 3 | links={name="Links"} |
| 4 | degree="UNWEIGHT" |
| 5 | between="WEIGHT" |
| 6 | outNodes={name="NodeCentrality", replace=true}; |
| 7 | RUN; |
| 8 | QUIT; |
Este ejemplo realiza un análisis de centralidad más completo en un grafo dirigido. Calcula la centralidad de cercanía (usando la fórmula armónica para nodos desconectados), la centralidad de vector propio (usando el algoritmo de potencia) y la centralidad de PageRank. Estas métricas avanzadas proporcionan una visión más matizada de la influencia de los nodos.
| 1 | PROC CAS; |
| 2 | ACTION network.centrality / |
| 3 | links={name="Links"} |
| 4 | direction="DIRECTED" |
| 5 | close="BOTH" |
| 6 | closeNoPath="HARMONIC" |
| 7 | eigen="WEIGHT" |
| 8 | eigenAlgorithm="POWER" |
| 9 | pageRank="WEIGHT" |
| 10 | pageRankAlpha=0.85 |
| 11 | outNodes={name="NodeCentrality_Detailed", replace=true}; |
| 12 | RUN; |
| 13 | QUIT; |