SNA 이론 · 단계별 학습 차례

단원 1-9Knoke Data & Basic Measures

실전 — Knoke 데이터 입력과 기초 지표 종합

SNA 이론 · 단계별 학습STAGED+ 스터디

1. 오늘의 질문 (Today's Question)

1-1부터 1-8까지는 5명·7명짜리 손으로 셀 수 있는 네트워크만 다뤘다. 오늘은 교재의 실제 데이터를 파일에서 읽어, 배운 지표를 한 번에 적용한다.

"10개 조직의 정보 교환망을 받았다. 어떤 순서로 무엇을 계산하고, 각 숫자를 어떻게 읽어야 하는가?"

1단계의 마무리이므로 새 개념은 거의 없다. 대신 세 가지를 익힌다: ① 파일에서 인접행렬을 읽는 법 ② 지표를 계산하는 순서 ③ 숫자 하나가 아니라 여러 지표를 교차해서 읽는 습관.

2. 데이터 소개와 파일 읽기 (The Data & Reading a File)

Knoke & Kuklinski(1982)가 조사한 미국 한 도시의 조직 간 정보 교환 네트워크다. 행 조직이 열 조직에게 정보를 제공한다고 답하면 1이다 — 즉 방향이 있다.

약칭조직약칭조직
COUNCounty government (군 정부)WROWelfare Rights Organization (복지권 단체)
COMMCommunity chest (지역 공동모금)NEWSNewspaper (신문사)
EDUCBoard of education (교육위원회)UWAYUnited Way (연합모금기구)
INDUIndustrial development (산업개발)WELFWelfare agency (복지기관)
MAYRMayor (시장)WESTWest side organization (서부지역 단체)

파일 R_SNA_2010/knoke-infor.txt는 첫 줄이 조직 이름, 그 아래 10줄이 0/1 행렬이다.

# 스크립트와 같은 폴더에서 실행하거나 setwd()로 이동
setwd("R_SNA_2010")
A <- as.matrix(read.table("knoke-infor.txt", header = TRUE))
rownames(A) <- colnames(A)     # ← 행 이름이 없으므로 열 이름을 복사해 붙인다
dim(A)                          # 10 10

세 가지 실수 지점.read.table()data.frame을 반환하므로 as.matrix()로 감싸야 %*%(행렬 곱)이 동작한다. ② 파일에 행 이름이 없으므로 rownames()를 직접 붙여야 결과에 조직명이 나온다 (안 붙이면 1~10 숫자로만 표시되어 해석이 어려워진다). ③ header = TRUE를 빼면 첫 줄의 조직명이 데이터로 읽혀 11행 문자 행렬이 된다.

A=COUNCOMMEDUCINDUMAYRWRONEWSUWAYWELFWESTCOUN0100101010COMM1011101110EDUC0101111001INDU1100101000MAYR1111001111WRO0010001010NEWS0101100000UWAY1101101010WELF0100101000WEST1110101000 A=\begin{array}{c|cccccccccc} & \text{COUN} & \text{COMM} & \text{EDUC} & \text{INDU} & \text{MAYR} & \text{WRO} & \text{NEWS} & \text{UWAY} & \text{WELF} & \text{WEST}\\ \hline \text{COUN} & 0&1&0&0&1&0&1&0&1&0\\ \text{COMM} & 1&0&1&1&1&0&1&1&1&0\\ \text{EDUC} & 0&1&0&1&1&1&1&0&0&1\\ \text{INDU} & 1&1&0&0&1&0&1&0&0&0\\ \text{MAYR} & 1&1&1&1&0&0&1&1&1&1\\ \text{WRO} & 0&0&1&0&0&0&1&0&1&0\\ \text{NEWS} & 0&1&0&1&1&0&0&0&0&0\\ \text{UWAY} & 1&1&0&1&1&0&1&0&1&0\\ \text{WELF} & 0&1&0&0&1&0&1&0&0&0\\ \text{WEST} & 1&1&1&0&1&0&1&0&0&0 \end{array}

3. 지표 ① 크기와 밀도 (Size & Density)

가장 먼저 볼 것은 n과 밀도다. 이 둘을 모르면 다른 지표를 해석할 기준이 없다.

관계 수. 행별 1의 개수를 세어 더한다(단원 1-4):

ijA[i,j]=4+7+6+4+8+3+3+6+3+5=49 \sum_i \sum_j A[i,j] = 4+7+6+4+8+3+3+6+3+5 = \mathbf{49}

가능한 관계 수. 방향이 있으므로 대각선만 뺀다(단원 1-5):

n(n1)=10×9=90 n(n-1) = 10 \times 9 = 90 밀도=4990=0.5444 \text{밀도} = \frac{49}{90} = \mathbf{0.5444}

0.544는 매우 높다. 가능한 관계의 절반 이상이 실재한다는 뜻이다. 단원 1-5 §7에서 본 것처럼 밀도는 규모에 크게 좌우되므로, 10개 조직이라는 작은 집단에서 나온 값임을 함께 기억해야 한다. 비교하자면 우리 5명 예제는 0.35, 학생 30명에게 3명씩 지명받은 학급은 0.103이었다. 규모가 다른 네트워크의 밀도를 직접 비교하면 안 된다.

검산: 평균 외향 연결정도 dˉout=49/10=4.9\bar{d}_{\text{out}} = 49/10 = 4.9, 그리고 4.9/9=0.54444.9/9 = 0.5444

4. 지표 ② 연결정도 (Degree)

4-1. 손 계산 두 개 (Two Hand Calculations)

단원 1-4의 요령: 외향은 행합(뒤 인덱스가 움직인다), 내향은 열합(앞 인덱스가 움직인다). 대표로 MAYR의 행과 NEWS의 열을 열 항 전부 전개한다.

MAYR의 외향 연결정도 — MAYR 행(5행)을 훑는다:

dout(MAYR)=j=110A[5,j]=1+1+1+1+0+0+1+1+1+1=8 d_{\text{out}}(\text{MAYR}) = \sum_{j=1}^{10} A[5,j] = 1+1+1+1+0+0+1+1+1+1 = \mathbf{8}
jjCOUNCOMMEDUCINDUMAYRWRONEWSUWAYWELFWEST
A[5,j]A[5,j]1111001111
왜 그 값인가시장은 이 네 곳에 정보를 준다자기WRO에게만 안 준다나머지 네 곳에도 준다

NEWS의 내향 연결정도 — NEWS 열(7열)을 훑는다. 앞 인덱스가 움직인다:

din(NEWS)=i=110A[i,7]=1+1+1+1+1+1+0+1+1+1=9 d_{\text{in}}(\text{NEWS}) = \sum_{i=1}^{10} A[i,7] = 1+1+1+1+1+1+0+1+1+1 = \mathbf{9}

9는 최대값이다. 자기 자신을 뺀 9개 조직 전부가 신문사에 정보를 준다. 신문사가 하는 일 그대로다 — 모두가 정보를 흘려보내는 곳. 반면 NEWS의 외향은 3에 불과하다. 받기만 하는 조직이다.

4-2. 전체 표와 검산 (Full Table and Check)

조직COUNCOMMEDUCINDUMAYRWRONEWSUWAYWELFWEST
doutd_{\text{out}} (행합)476483363549
dind_{\text{in}} (열합)584581925249
doutdind_{\text{out}}-d_{\text{in}}−1−1+2−10+2−6+4−2+30

검산(단원 1-4 §5): 지명 하나가 행에 1칸·열에 1칸을 채우므로

idout(i)=jdin(j)=49  따라서 차의 합=0   \sum_i d_{\text{out}}(i) = \sum_j d_{\text{in}}(j) = 49 \;✓ \qquad \text{따라서 차의 합} = 0 \;✓

세 유형이 뚜렷하게 갈린다. 수신형(dout<dind_{\text{out}} < d_{\text{in}}): NEWS(−6) — 정보가 모이는 곳. 발신형(dout>dind_{\text{out}} > d_{\text{in}}): UWAY(+4), WEST(+3), EDUC(+2), WRO(+2) — 많이 주지만 받지는 못한다. 균형형: MAYR(0, 8·8) — 주고받기가 완전히 균형 잡힌 유일한 조직. 차이의 부호가 조직의 성격을 말해 준다는 것이 이 표의 핵심이다.

5. 지표 ③ 상호성 (Mutuality & Reciprocity)

단원 1-3에서 방향 네트워크의 (A2)[i,i](A^2)[i,i]상호 관계의 수였다. A2A^2의 대각선은:

diag(A2)=(2,  7,  4,  3,  8,  1,  3,  2,  2,  2) \operatorname{diag}(A^2) = (2,\;7,\;4,\;3,\;\mathbf{8},\;\mathbf{1},\;3,\;2,\;2,\;2)
조직COUNCOMMEDUCINDUMAYRWRONEWSUWAYWELFWEST
상호 관계 수274381322234
doutd_{\text{out}}476483363549
상호 비율0.501.000.670.751.000.331.000.330.670.40

상호 쌍의 수는 한 쌍이 두 조직에서 각각 세어지므로 2로 나눈다:

상호 쌍=tr(A2)2=342=17 \text{상호 쌍} = \frac{\operatorname{tr}(A^2)}{2} = \frac{34}{2} = \mathbf{17}

상호성(reciprocity)은 "존재하는 관계 중 되돌아오는 비율"이다:

reciprocity=상호 관계 칸의 수전체 관계 수=2×1749=3449=0.6939 \text{reciprocity} = \frac{\text{상호 관계 칸의 수}}{\text{전체 관계 수}} = \frac{2 \times 17}{49} = \frac{34}{49} = \mathbf{0.6939}

0.694는 상당히 높다. 관계 10개 중 약 7개가 되돌아온다. 정보 교환처럼 주고받는 것이 서로에게 이득인 관계에서 전형적으로 나타나는 값이다.

MAYR의 1.00이 뜻하는 것. 시장이 정보를 주는 8개 조직이 전부 시장에게도 정보를 준다. dout=din=8d_{\text{out}} = d_{\text{in}} = 8이고 상호가 8이므로 일방 관계가 하나도 없다. 반대로 WRO는 3개에 정보를 주지만 되돌아오는 것은 1개(0.33)뿐이다.

NEWS의 상호 비율 1.00에 속지 말 것. 분모가 dout=3d_{\text{out}}=3이라 3개 모두 상호이면 1.00이 된다. 그런데 NEWS는 9개에서 정보를 받는다 — 즉 6개는 일방적으로 받기만 하는 관계다. 같은 "1.00"이 MAYR에서는 "완전 균형", NEWS에서는 "보내는 곳이 적어서 생긴 우연"을 뜻한다. 비율은 분모를 함께 봐야 한다.

6. 지표 ④ 측지거리 (Geodesic Distance)

단원 1-6의 방법으로 거리행렬을 구한다(AkA^k에서 처음 0이 아닌 kk).

D=COUNCOMMEDUCINDUMAYRWRONEWSUWAYWELFWESTCOUN0122131212COMM1011121112EDUC2101111221INDU1120131222MAYR1111021111WRO3212201312NEWS2121130222UWAY1121131012WELF2122131202WEST1112121220 D=\begin{array}{c|cccccccccc} & \text{COUN} & \text{COMM} & \text{EDUC} & \text{INDU} & \text{MAYR} & \text{WRO} & \text{NEWS} & \text{UWAY} & \text{WELF} & \text{WEST}\\ \hline \text{COUN} & 0&1&2&2&1&\color{#b91c1c}{3}&1&2&1&2\\ \text{COMM} & 1&0&1&1&1&2&1&1&1&2\\ \text{EDUC} & 2&1&0&1&1&1&1&2&2&1\\ \text{INDU} & 1&1&2&0&1&\color{#b91c1c}{3}&1&2&2&2\\ \text{MAYR} & 1&1&1&1&0&2&1&1&1&1\\ \text{WRO} & \color{#b91c1c}{3}&2&1&2&2&0&1&\color{#b91c1c}{3}&1&2\\ \text{NEWS} & 2&1&2&1&1&\color{#b91c1c}{3}&0&2&2&2\\ \text{UWAY} & 1&1&2&1&1&\color{#b91c1c}{3}&1&0&1&2\\ \text{WELF} & 2&1&2&2&1&\color{#b91c1c}{3}&1&2&0&2\\ \text{WEST} & 1&1&1&2&1&2&1&2&2&0 \end{array}

\infty가 하나도 없다 — 90개 순서쌍 전부 도달 가능하다. 거리별로 세면:

거리쌍의 수비율기여
14954.4%49×1=4949 \times 1 = 49
23437.8%34×2=6834 \times 2 = 68
377.8%7×3=217 \times 3 = 21
00%
90100%138

거리 1인 쌍이 49개인 것은 당연하다 — 관계 수가 곧 거리 1인 쌍의 수다(밀도 0.544와 같은 정보). 따라서:

dˉ=13890=1.5333,지름=3 \bar{d} = \frac{138}{90} = \mathbf{1.5333}, \qquad \text{지름} = \mathbf{3}

거리 3인 7쌍은 전부 WRO가 끼어 있다(위 행렬의 빨간 값). WRO로 가는 쌍 5개(COUN, INDU, NEWS, UWAY, WELF → WRO)와 WRO에서 나가는 쌍 2개(WRO → COUN, WRO → UWAY)다. 즉 이 네트워크에서 "먼 곳"은 곧 WRO다. 지름 3이라는 숫자 하나가 "한 조직이 주변부에 있다"는 사실을 요약하고 있다.

7. 지표 ⑤ 도달가능성과 컴포넌트 (Reachability & Components)

거리행렬에 \infty가 없으므로 도달가능성 행렬은 25칸이 아니라 100칸 전부 1이다 (단원 1-7의 R[i,j]=1d(i,j)<R[i,j]=1 \Leftrightarrow d(i,j)<\infty).

지표읽기
도달가능성 행렬 RR전부 1모든 조직이 모든 조직에 (간접으로라도) 닿는다
강한 컴포넌트1개 (크기 10)모든 쌍이 서로 오갈 수 있다 = 강하게 연결된 네트워크
약한 컴포넌트1개 (크기 10)(강한 것이 1개면 약한 것도 자동으로 1개)

이 지표들이 "재미없게" 나온 것이 정보다. 밀도 0.544처럼 촘촘한 네트워크에서는 도달가능성과 컴포넌트가 거의 항상 "전부 1, 1개"로 나와 구별력이 없다. 단원 1-7 §5에서 예고한 대로다 — 컴포넌트는 쪼개짐을 확인하는 안전장치이고, 쪼개져 있지 않다는 것을 확인한 뒤에는 중심성으로 넘어가야 한다. "WRO가 주변부"라는 사실도 컴포넌트로는 전혀 보이지 않았고 거리에서만 보였다.

8. 지표 ⑥ 대칭화 — OR과 AND (Symmetrization)

단원 1-5의 두 규칙을 이 데이터에 적용한다.

규칙기준엣지 수무방향 밀도 (÷45)
OR (합집합)S=max(A,AT)S = \max(A, A^{\mathsf T})한쪽만 줘도 "관계 있음"3232/45=0.711132/45 = 0.7111
AND (교집합)S=AATS = A \ast A^{\mathsf T}양쪽 다 줘야 "관계 있음"1717/45=0.377817/45 = 0.3778
(원본 방향)AA49 관계49/90=0.544449/90 = 0.5444

가능한 의 수는 n(n1)/2=10×9/2=45n(n-1)/2 = 10 \times 9/2 = 45다. AND 규칙의 엣지 수 17은 §5에서 구한 상호 쌍의 수와 같다 — 정의상 당연하다 ✓

같은 데이터에서 세 개의 밀도(0.378 / 0.544 / 0.711)가 나온다. 어느 것이 맞는가? 질문에 따라 다르다. "정보가 흐를 수 있는 통로가 얼마나 있나"는 OR(0.711), "믿을 만한 쌍방 협력 관계가 얼마나 있나"는 AND(0.378)이다. 보고서에는 반드시 어떤 규칙을 썼는지 적어야 한다 — 같은 학급을 두고 0.38과 0.71 어느 쪽으로도 말할 수 있기 때문이다.

9. 종합 프로필 표 (Putting It Together)

여섯 지표를 조직별로 모아 내향 연결정도 순으로 정렬한다. 이것이 1단계 분석의 최종 산출물이다.

조직dind_{\text{in}}doutd_{\text{out}}차이상호상호비율한 줄 진단
NEWS93−631.00모두가 정보를 주는 수집소. 내보내는 것은 적다
COMM87−171.00주고받기 모두 많고 전부 상호 — 핵심 협력자
MAYR88081.00완전 균형·완전 상호. 중심 조직의 전형
COUN54−120.50중간 규모, 상호 비율은 낮음
INDU54−130.75중간 규모, 관계는 대체로 상호
WELF53−220.67받는 편이 많음
EDUC46+240.67발신형. WRO에 정보를 주는 유일한 조직
UWAY26+420.336곳에 주지만 2곳에서만 받는다 — 일방 발신
WEST25+320.40UWAY와 같은 유형
WRO13+210.33주변부. 정보를 받는 곳이 EDUC 하나뿐이고 거리 3쌍 전부에 관여

네트워크 수준 요약.

n관계 수밀도(방향)상호 쌍상호성평균거리지름강한 컴포넌트
10490.5444170.69391.533331개

한 문장 진단: 촘촘하고(0.544) 상호적이며(0.694) 전체가 하나로 연결된 네트워크인데, WRO 한 조직만 주변부에 남아 있다. 개선 지점이 명확하다 — WRO에게 정보를 주는 조직을 늘리는 것.

10. R 전체 스크립트 (Full Script)

library(igraph)
setwd("R_SNA_2010")
A <- as.matrix(read.table("knoke-infor.txt", header = TRUE))
rownames(A) <- colnames(A)
n <- nrow(A)
g <- graph_from_adjacency_matrix(A, mode = "directed")

# ① 크기와 밀도
n; sum(A)                        # 10  49
sum(A) / (n * (n - 1))           # 0.5444444
edge_density(g)                  # 0.5444444

# ② 연결정도
rowSums(A)                       # 4 7 6 4 8 3 3 6 3 5   외향
colSums(A)                       # 5 8 4 5 8 1 9 2 5 2   내향
rowSums(A) - colSums(A)          # -1 -1 2 -1 0 2 -6 4 -2 3
sum(rowSums(A)) == sum(colSums(A))            # TRUE

# ③ 상호성
A2 <- A %*% A
diag(A2)                         # 2 7 4 3 8 1 3 2 2 2
sum(diag(A2)) / 2                # 17   상호 쌍
sum(A * t(A)) / 2                # 17   같은 값 (다른 계산법)
reciprocity(g)                   # 0.6938776 = 34/49

# ④ 측지거리
D <- distances(g, mode = "out")
table(D[row(D) != col(D)])       #  1  2  3
                                  # 49 34  7
mean_distance(g)                 # 1.533333
diameter(g)                      # 3
which(D == 3, arr.ind = TRUE)     # 7쌍 — 모두 WRO 관련

# ⑤ 도달가능성·컴포넌트
all((D < Inf) * 1 == 1)                       # TRUE  모든 쌍 도달 가능
igraph::components(g, "strong")$no             # 1
igraph::components(g, "weak")$no               # 1

# ⑥ 대칭화
S_or  <- pmax(A, t(A));  sum(S_or) / 2         # 32
S_and <- A * t(A);       sum(S_and) / 2        # 17
c(or = (sum(S_or)/2) / (n*(n-1)/2),
  and = (sum(S_and)/2) / (n*(n-1)/2))          # 0.7111111  0.3777778

# ⑦ 종합 표 한 번에
data.frame(d_in = colSums(A), d_out = rowSums(A),
           diff = rowSums(A) - colSums(A), mutual = diag(A2))[order(-colSums(A)), ]

sna 패키지를 함께 쓸 때. gden(A, mode="digraph")가 밀도, grecip(A, measure="edgewise")가 상호성, geodist(A)$gdist가 거리행렬, reachability(A)가 도달가능성 행렬이다. 단 components·degree는 igraph와 이름이 겹치므로 igraph:: 또는 sna::를 붙여 명시할 것(단원 1-7 §8).

11. 교실 적용 체크리스트 (Classroom Checklist)

학급 교우관계 설문 데이터를 받았을 때, 1단계에서 배운 순서 그대로 확인하는 목록이다.

순서계산교실에서 묻는 질문경고 신호
1n, 관계 수, 밀도우리 반은 얼마나 촘촘한가지명 수를 제한했다면 밀도는 학급 규모가 정한다 — 학년 간 비교 금지
2약한 컴포넌트 수반이 조각나 있지 않은가2개 이상 = 서로 모르는 집단이 공존. 가장 먼저 볼 것
3dind_{\text{in}} 하위아무도 지명하지 않은 학생은 누구인가din=0d_{\text{in}} = 0 → 즉시 개별 확인. doutd_{\text{out}}이 아무리 커도 무관
4doutdind_{\text{out}} - d_{\text{in}}짝사랑이 심한 학생은 누구인가양수 = 지명은 많이 했는데 받지 못했다 (WRO·UWAY형)
5diag(A2)\operatorname{diag}(A^2)서로 인정하는 친구가 있는 학생은 누구인가0 = 상호 친구가 한 명도 없다. dind_{\text{in}}만으로는 안 보인다
6거리행렬의 \infty소식이 닿지 않는 학생은 누구인가행이 전부 \infty = 이 학생 말이 퍼지지 않는다
7평균거리, 지름소문은 며칠이면 도나\infty를 제외한 평균임을 반드시 함께 보고
8거리 최대인 쌍가장 먼 학생은 누구인가Knoke의 WRO처럼 같은 학생이 반복 등장하면 주변부 신호

① 지표 하나로 판단하지 않는다 — 이번 데이터가 준 증거. NEWS와 MAYR은 내향 연결정도가 9와 8로 나란히 높지만 성격이 완전히 다르다 (NEWS는 받기만, MAYR은 완전 상호). WRO와 UWAY는 둘 다 dout>dind_{\text{out}} > d_{\text{in}}이지만 WRO는 주변부이고 UWAY는 활발한 발신자다. 내향·외향·상호·거리를 교차해야 비로소 유형이 갈린다.

② "받는 쪽"이 인기다. 학생 데이터에서도 마찬가지다. 지명을 많이 한 학생(doutd_{\text{out}} 큼)이 인기 있는 것이 아니라, 지명을 많이 받은 학생(dind_{\text{in}} 큼)이 인기 있다. NEWS가 정보를 3곳에만 주면서도 이 네트워크의 최대 수신자인 것과 같은 구조다.

③ WRO 유형 학생을 찾는 것이 1단계의 실전 목표다. WRO는 컴포넌트로는 안 보이고(1개), 밀도로도 안 보이고(높음), 내향 연결정도 1과 거리 3쌍의 반복 등장으로만 드러났다. 학급에서 이에 해당하는 학생은 "지명을 1명에게만 받았고, 다른 학생들에게서 멀리 있는" 학생이다. 전체 지표가 좋은 학급에서도 이런 학생은 존재하며, 평균은 그 학생을 가린다.

④ 개선 지점은 지표가 알려준다. Knoke 데이터의 처방은 "WRO에게 정보를 주는 조직을 늘려라"였다. 학급의 처방도 같은 형태다 — 고립 학생에게 들어오는 연결을 만드는 것. 그런데 그것으로 충분한지는 연습문제 2에서 확인한다.

12. 연습문제 (Exercises)

문제 1. UWAY(연합모금기구)를 분석하시오. ① UWAY 행 열 항을 전부 전개해 doutd_{\text{out}}을 구하시오. ② UWAY 열 항을 전부 전개해 dind_{\text{in}}을 구하고, 정보를 주는 조직의 이름을 쓰시오. ③ (A2)[UWAY,UWAY](A^2)[\text{UWAY},\text{UWAY}]를 구해 상호 관계 수를 확인하고, 어느 조직과 상호인지 이름을 쓰시오. ④ doutdin=+4d_{\text{out}} - d_{\text{in}} = +4를 한 문장으로 해석하고, 같은 부호를 가진 WRO와 UWAY가 왜 전혀 다른 조직인지 설명하시오.

문제 2. §9의 처방대로 시장이 WRO에게 정보를 주기로 했다고 하자 (A[MAYR,WRO]=1A[\text{MAYR},\text{WRO}] = 1 추가). ① 관계 수와 밀도는 어떻게 되는가? ② 거리 3이었던 7쌍 중 몇 개가 해결되고 몇 개가 남는가? 남는 쌍의 이름을 쓰고, 왜 남는지 설명하시오. ③ 지름은 어떻게 되는가? ④ 이 결과가 §11 ④의 처방("들어오는 연결을 만들라")에 대해 무엇을 말해 주는가?

먼저 스스로 풀고 §13 해설과 맞춰 볼 것.

13. 연습문제 해설과 답 (Solutions)

13-1. 문제 1 — UWAY 프로필 (Profiling One Organization)

① 외향 연결정도. UWAY는 8번째 조직이므로 8행을 훑는다(뒤 인덱스 jj가 움직인다):

dout(UWAY)=j=110A[8,j]=1+1+0+1+1+0+1+0+1+0=6 d_{\text{out}}(\text{UWAY}) = \sum_{j=1}^{10} A[8,j] = 1+1+0+1+1+0+1+0+1+0 = \mathbf{6}
jjCOUNCOMMEDUCINDUMAYRWRONEWSUWAYWELFWEST
A[8,j]A[8,j]1101101010
준다준다안 줌준다준다안 줌준다자기준다안 줌

② 내향 연결정도. 8열을 훑는다(앞 인덱스 ii가 움직인다 — 단원 1-4 §4):

din(UWAY)=i=110A[i,8]=0+1+0+0+1+0+0+0+0+0=2 d_{\text{in}}(\text{UWAY}) = \sum_{i=1}^{10} A[i,8] = 0+1+0+0+1+0+0+0+0+0 = \mathbf{2}
iiCOUNCOMMEDUCINDUMAYRWRONEWSUWAYWELFWEST
A[i,8]A[i,8]0100100000
안 줌준다안 줌안 줌준다안 줌안 줌자기안 줌안 줌

③ 상호 관계. (A2)[8,8]=kA[8,k]A[k,8](A^2)[8,8] = \sum_k A[8,k]\,A[k,8]을 열 항 전부 전개한다. 두 표를 세로로 곱하면 된다:

kkA[8,k]A[8,k]
(UWAY→k)
A[k,8]A[k,8]
(k→UWAY)
판정
COUN100UWAY만 준다 (일방)
COMM111상호
EDUC000양쪽 다 없음
INDU100UWAY만 준다 (일방)
MAYR111상호
WRO000양쪽 다 없음
NEWS100UWAY만 준다 (일방)
UWAY000자기 자신 (A[8,8]=0A[8,8]=0)
WELF100UWAY만 준다 (일방)
WEST000양쪽 다 없음
2상호 2개

dout=6d_{\text{out}} = 6 (COUN, COMM, INDU, MAYR, NEWS, WELF에게 준다) ② din=2d_{\text{in}} = 2COMM과 MAYR 두 곳만 UWAY에게 정보를 준다 ③ (A2)[8,8]=2(A^2)[8,8] = 2, 상호 상대는 COMM, MAYR (내향 2개가 곧 상호 2개다 — 받는 관계가 모두 상호라는 뜻) ④ 아래에 서술.

+4+4의 해석: "UWAY는 6곳에 정보를 보내지만 2곳에서만 받는다 — 내보내는 양이 받는 양의 3배인 일방 발신자다." UWAY가 보낸 6개 중 4개(COUN, INDU, NEWS, WELF)가 되돌아오지 않는다.

WRO와 UWAY는 왜 다른가. 부호는 같은 양수지만 절대 수준이 다르다:

조직doutd_{\text{out}}dind_{\text{in}}차이상호거리 3 쌍에 등장유형
UWAY62+421회 (UWAY→WRO)활발한 발신자 — 6곳과 접촉, 핵심 조직 둘과 상호
WRO31+217쌍 전부주변부 — 내보내는 것도 적고 받는 것은 거의 없다

답 ④ (계속) 차이의 부호만 보면 둘이 같은 유형처럼 보이지만, 절대 수준을 보면 완전히 다르다. UWAY는 dout=6d_{\text{out}}=6으로 상위권이고 COMM·MAYR이라는 두 핵심 조직과 상호 관계를 갖는다 — 영향력을 행사하려 애쓰는 활발한 조직이다. WRO는 dout=3d_{\text{out}}=3, din=1d_{\text{in}}=1로 양쪽 다 최하위이고 거리 3인 7쌍에 모두 등장한다 — 구조적 주변부다. 교훈: 차이(doutdind_{\text{out}}-d_{\text{in}})는 방향만 알려주고 크기는 알려주지 않는다. 반드시 두 원래 값을 함께 봐야 한다.

교실 해석. 학급에서도 "지명을 많이 했는데 받지 못한" 학생이 두 유형으로 갈린다. 5명을 지명하고 2명에게 받은 학생(UWAY형)은 적극적으로 관계를 맺으려는 학생이고, 1명을 지명하고 0~1명에게 받은 학생(WRO형)은 관계 자체가 얇은 학생이다. 전자에게는 "지명한 친구와 짝을 지어 주기"가 통하지만, 후자에게는 먼저 관계의 총량을 늘리는 개입이 필요하다. 같은 "짝사랑" 신호를 같은 처방으로 다루면 안 된다.

13-2. 문제 2 — 처방을 검증한다 (Testing the Prescription)

① 관계 수와 밀도. 칸 하나가 0에서 1로 바뀌므로:

관계 수=49+1=50,밀도=5090=0.5556 \text{관계 수} = 49 + 1 = \mathbf{50}, \qquad \text{밀도} = \frac{50}{90} = \mathbf{0.5556}

분모 90은 조직 수가 그대로이므로 변하지 않는다. WRO의 내향 연결정도는 121 \to 2(EDUC, MAYR)가 된다.

② 거리 3이었던 7쌍. 새 관계 MAYR→WRO 덕분에 MAYR에 닿을 수 있는 조직은 모두 한 걸음 더 가서 WRO에 닿는다. 원래 거리행렬에서 각 조직이 MAYR까지 몇 걸음인지 보고 거기에 1을 더하면 된다:

이전d(,MAYR)d(\cdot,\text{MAYR})새 값 = d+1d+1새 경로해결?
COUN → WRO312COUN→MAYR→WRO해결
INDU → WRO312INDU→MAYR→WRO해결
NEWS → WRO312NEWS→MAYR→WRO해결
UWAY → WRO312UWAY→MAYR→WRO해결
WELF → WRO312WELF→MAYR→WRO해결
WRO → COUN33WRO→EDUC→COMM→COUN (그대로)남음
WRO → UWAY33WRO→EDUC→COMM→UWAY (그대로)남음

답 ② 5개가 해결되고 2개가 남는다. 남는 것은 WRO → COUNWRO → UWAY다.

왜 남는가: 새 관계는 MAYR에서 WRO 가는 방향이므로 WRO로 들어오는 길만 짧게 만든다. WRO에서 나가는 길은 전혀 건드리지 않았으므로 그대로다. WRO가 정보를 주는 곳은 EDUC, NEWS, WELF 세 곳뿐이고, 거기서 COUN·UWAY까지 다시 두 걸음이 필요하다.

③ 지름. 거리 3인 쌍이 아직 2개 남아 있으므로:

지름=3(변화 없음) \text{지름} = \mathbf{3} \quad (\text{변화 없음})

다만 거리 분포와 평균은 개선된다:

거리이전이후변화
14950+1 (MAYR→WRO가 2에서 1로 내려왔다)
23438+5 (3에서 내려온 5쌍) −1 (MAYR→WRO가 1로 빠졌다) = +4
372−5
거리 합138132−6 (5쌍이 −1씩, MAYR→WRO가 −1)
평균거리1.53331.4667−0.0667

답 ③ 지름은 3으로 그대로다. 평균거리는 138/90=1.5333138/90 = 1.5333에서 132/90=1.4667132/90 = 1.4667로 줄고, 거리 3인 쌍은 7개에서 2개로 줄었다.

답 ④ "들어오는 연결을 만들라"는 처방은 절반만 듣는다. WRO가 정보를 받는 문제는 크게 개선됐지만(5쌍 해결), WRO가 정보를 내보내는 문제는 하나도 나아지지 않았다(2쌍 그대로, 지름 3 유지). 방향 네트워크에서 고립은 받기 문제와 보내기 문제로 나뉘며 처방도 따로다. WRO의 발신 문제를 풀려면 WRO가 MAYR 같은 중심 조직에게 정보를 주도록 해야 한다 (단원 1-7 연습문제 1에서 M4에게 나가는 연결 하나를 준 것과 같은 논리).

교실 해석. 고립 학생 개입에서 가장 흔한 실수가 이것이다 — "친구를 붙여 주면 해결된다"고 보는 것. 누군가가 그 학생을 지명하게 만드는 것(들어오는 연결)과 그 학생이 말을 꺼낼 수 있게 만드는 것(나가는 연결)은 다른 개입이다. 전자는 소속감을, 후자는 목소리를 준다. Knoke 데이터에서 시장이 WRO에게 정보를 준 것만으로는 WRO의 의견이 다른 조직에 닿는 거리가 전혀 줄지 않았다. 학급에서도 "짝을 지어 줬는데 여전히 조용하다"면 이 구분을 확인해야 한다.
# 문제 1
A["UWAY", ]; sum(A["UWAY", ])         # 1 1 0 1 1 0 1 0 1 0  → 6
A[ , "UWAY"]; sum(A[ , "UWAY"])       # 0 1 0 0 1 0 0 0 0 0  → 2
colnames(A)[A[ , "UWAY"] == 1]        # "COMM" "MAYR"
(A %*% A)["UWAY", "UWAY"]             # 2
colnames(A)[A["UWAY", ] == 1 & A[ , "UWAY"] == 1]   # "COMM" "MAYR"

# 문제 2
Ax <- A; Ax["MAYR", "WRO"] <- 1
gx <- graph_from_adjacency_matrix(Ax, mode = "directed")
sum(Ax); sum(Ax) / 90                 # 50   0.5555556
sum(Ax[ , "WRO"])                     # 2    ← WRO 내향 1 → 2
Dx <- distances(gx, mode = "out")
table(Dx[row(Dx) != col(Dx)])         #  1  2  3
                                       # 50 38  2
which(Dx == 3, arr.ind = TRUE)        # WRO→COUN, WRO→UWAY 둘만 남는다
mean_distance(gx)                     # 1.466667
diameter(gx)                          # 3      ← 변화 없음

1단계 완료. 여기까지가 "관계를 데이터로 만들기"다. 배운 것을 한 줄로 정리하면:

단원핵심 한 줄
1-1A[i,j]A[i,j] = 행이 열을 지명. 대각선은 0
1-2(A2)[i,j](A^2)[i,j] = 2걸음 경로의 수 = 공통 이웃 수
1-3AkA^k걷기를 센다. 대각선은 순환
1-4행합 = 외향, 열합 = 내향. 인기는 내향
1-5밀도 = 관계 수 / 가능한 수. 규모가 좌우한다
1-6거리 = AkA^k에서 처음 0이 아닌 kk. 최단 걷기는 경로다
1-7R=(I+A+)>0R = (I+A+\cdots)>0. 강한 vs 약한 컴포넌트
1-8무방향은 d=2E\sum d = 2E. 가중치는 강도 ≠ 비용
1-9지표를 교차해서 읽는다. 평균은 개인을 가린다

1단계에서 답할 수 없었던 질문이 2단계의 출발점이다 — "NEWS와 MAYR 중 누가 더 중심적인가?", "WRO를 빼면 무엇이 무너지는가?" 연결정도만으로는 답이 갈리지 않는다.

다음 단원 — 2-1: 연결정도 중심성과 그래프 중심화(Freeman centralization). 단원 1-8에서 만든 7명 무방향 네트워크로 돌아가, 연결정도를 중심성 지표로 다듬고 "이 학급이 한 사람에게 얼마나 집중되어 있는가"를 하나의 수로 요약한다. · 이 문서: notes/09_단원1-9_Knoke데이터_기초지표_종합.html