1~5단계 연습문제 총정리
SNA 이론 · 단계별 학습 차례

총정리Complete Exercise Digest, Stages 1–5

1~5단계 연습문제 총정리

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

마감 노트 — 노트 39개 · 연습문제 79문항 · 소문항 113개

1. 이 문서는 무엇인가 (What This Document Is)

2026-07-30부터 2026-08-03까지 노트 39개로 1단계(네트워크 기초)부터 5단계(통계 모형)까지를 마쳤다. 각 노트 끝에는 직접 푸는 연습문제가 있었고, 그 답은 그 노트 안의 해설과 답 절에 있다. 이 문서는 그 79문항의 답을 한자리에 모은 색인이다.

쓰는 법. 단원마다 세 가지가 있다. 푸는 순서 상자는 "이 유형을 어떤 차례로 푸는가", 표의 핵심 답 칸은 "정답 문장", 이 문항의 요점 칸은 "이 문제가 존재하는 이유"다.
복기할 때는 푸는 순서만 읽고 표를 가린 채 다시 풀어 보는 것이 가장 낫다. 그래서 이 문서 하나로 지난 단원 점검이 끝나도록 만들었다 — 각 노트 본문에는 "지난 시간 연습문제 확인" 절을 따로 두지 않는다.
다만 완전한 전개 과정(0인 항까지 쓴 표, 색칠한 행렬, 교실 해석 상자)은 여기 옮기지 않았다. 각 단원 제목 옆의 원 노트 → 링크로 가면 그대로 있다.
왜 "푸는 순서"를 따로 두었는가 (Why a Procedure Box)
답을 기억하는 것은 공부가 아니다. 반년 뒤 우리 반 자료를 앞에 놓았을 때 필요한 것은 "가라테의 QQ가 0.3715였다"가 아니라 "모듈러리티는 집단마다 mcm_cDcD_c를 세는 것부터 시작한다"이다. 푸는 순서 상자는 그 첫걸음만 모아 둔 것이고, 대부분의 단원에서 막히는 지점도 바로 거기다.
이 문서에 새 계산은 없다. 모든 수치는 원 노트에서 이미 Rscript로 검증한 값을 옮긴 것이다. 값이 원 노트와 다르게 보이면 원 노트가 옳다고 보고 이 문서를 고칠 것.

2. 한눈에 보기 (Overview)

단계 (Stage)주제노트문항소문항
1단계네트워크 기초 — 인접행렬·차수·밀도·거리·컴포넌트·가중치01–09 (9)160
2단계중심성 — 연결정도·근접·매개·고유벡터·페이지랭크·가중10–15 (6)120
3단계하위집단과 구조 — 클리크·모듈러리티·등위성·이분망·E-I16–23 (8)1719
4단계생성 모형 — G(n,p)G(n,p)·좁은세상·척도없는·선호적 연결·배열 모형24–31 (8)1640
5단계통계 모형 — ERGM·변화통계량·동질성·GWESP·MCMC·QAP32–39 (8)1854
합계사회네트워크분석 1~5단계3979113

노트 01에는 연습문제가 없다(도입부). 연습문제가 있는 노트는 38개다. 소문항이 0인 1·2단계는 문항 하나가 곧 답 하나였고, 뒤로 갈수록 한 문항이 (가)(나)(다)…로 갈라진다 — 5단계에서는 문항 18개가 소문항 54개로, 문항당 평균 3개다.

3. 1단계 — 네트워크 기초 (Stage 1 — Network Basics)

단원 1-2 — 행렬 곱셈과 2단계 경로 (Matrix Multiplication and Two-Step Paths) 원 노트 →

문항핵심 답이 문항의 요점
1(A2)[5,3]=1(A^2)[5,3]=1. 경로는 M5→M1→M3 하나. M5 행에 1이 하나뿐이라 다섯 항 중 한 항만 살아남는다.A2A^2의 한 칸은 "iijj 사이 중간 친구가 몇 명인가".
2(A3)[1,1]=1(A^3)[1,1]=1, 삼각 순환 M1→M2→M3→M1. 항별 곱은 0 0 1 0 0.대각 성분은 자기에게 돌아오는 3단계 걷기 = 삼각 순환.

푸는 순서 (How to Solve).AA에서 iijj을 나란히 뽑는다. ② 다섯 항 A[i,k]A[k,j]A[i,k]\,A[k,j]0인 항까지 전부 곱해 더한다. ③ 1이 남은 항의 kk가 곧 중간에 낀 사람이다 — 값은 사람 수, 항은 이름표.

단원 1-3 — A3A^3, 걷기 vs 경로, 삼각 순환 (Walks vs Paths, Triangular Cycles) 원 노트 →

문항핵심 답이 문항의 요점
1(A3)[5,3]=1(A^3)[5,3]=1, 걷기 M5→M1→M2→M3 — 정점이 겹치지 않으므로 진짜 경로.값이 1이어도 경로인지 아닌지는 따로 확인해야 한다.
2(A3)[3,4]=1(A^3)[3,4]=1, 걷기 M3→M1→M3→M4 — M3을 두 번 지나므로 경로가 아니다. 원인은 상호 지명 M1↔M3(b=ib=i 유형).AkA^k가 세는 것은 걷기이지 경로가 아니다. 되돌아오기가 값을 부풀린다.

푸는 순서 (How to Solve).(A3)[i,j]=k(A2)[i,k]A[k,j](A^3)[i,j]=\sum_k (A^2)[i,k]\,A[k,j]로 값부터 구한다. ② 살아남은 항의 kk를 되짚어 걷기를 복원한다. ③ 정점이 겹치는지 확인 — 겹치면 걷기이되 경로가 아니다. 되돌아오기(b=ib=i 유형)가 값을 부풀리는 주범.

단원 1-4 — 연결정도: 행합과 열합 (Degree: Row Sums and Column Sums) 원 노트 →

문항핵심 답이 문항의 요점
1A[4,1]=1A'[4,1]=1을 넣으면 dout=(3,1,2,1,1)d_{out}=(3,1,2,1,1), din=(3,1,2,1,1)d_{in}=(3,1,2,1,1). 지명 7→8, 평균 1.4→1.6. M4가 삼각 순환 M4→M1→M3→M4에 새로 참여.간선 하나가 차수·평균·순환에 동시에 영향을 준다.
2차수 동점은 diag(A2)\mathrm{diag}(A^2)(상호 지명 수)로 가른다 — M1은 2건, M3은 1건이므로 M1.같은 숫자라도 "주고받은 관계"의 비중이 다르다.

푸는 순서 (How to Solve). ① 행합 = 외향, 열합 = 내향. ② 간선을 하나 바꾸면 그 행과 그 열만 다시 더하면 된다. ③ 차수가 같아 순위가 안 갈리면 diag(A2)\mathrm{diag}(A^2)(상호 지명 수)를 2차 기준으로 쓴다.

단원 1-5 — 밀도: 방향과 무방향 (Density: Directed and Undirected) 원 노트 →

문항핵심 답이 문항의 요점
17명 무방향 21쌍, 밀도 8/210.38108/21\approx0.3810. 평균 차수 dˉ=16/7\bar d=16/7이고 dˉ/6\bar d/6이 밀도와 일치.d=2E\sum d = 2E — 차수 합을 간선 수로 착각하면 밀도가 두 배가 된다.
2간선 하나를 더하면 방향 0.35→0.45, 무방향 0.5→0.6(5→6간선). 증가폭이 둘 다 0.10인 것은 우연.분모가 n(n1)n(n-1)이냐 n(n1)/2n(n-1)/2냐를 늘 밝히고 쓴다.

푸는 순서 (How to Solve).분모부터 확정 — 방향은 n(n1)n(n-1), 무방향은 (n2)\binom n2. ② 간선을 센다. ③ dˉ/(n1)\bar d/(n-1)이 같은 값인지로 검산한다. 방향·무방향 밀도를 같은 표에 놓고 비교하지 말 것.

단원 1-6 — 측지거리 (Geodesic Distance) 원 노트 →

문항핵심 답이 문항의 요점
1d(M5,M4)=3d(M_5,M_4)=3, 경로 M5→M1→M3→M4. 다른 경로 M5→M1→M2→M3→M4는 길이 4이므로 최단이 아니다.최단거리는 AkA^k에서 처음 0이 아닌 kk.
2M4 행이 전부 ∞인 것은 dout(M4)=0d_{out}(M_4)=0(싱크)이기 때문. A[4,3]=1A[4,3]=1을 넣으면 M4 행이 (2,3,1,0,3)(2,3,1,0,3)이 되고 평균거리는 36/20 = 1.8로 증가한다.간선을 더했는데 평균거리가 커진다 — ∞였던 20쌍이 계산에 들어오기 때문. 분모가 바뀌면 평균은 비교할 수 없다.

푸는 순서 (How to Solve).A,A2,A3,A, A^2, A^3,\dots를 차례로 만들어 그 칸이 처음 0이 아니게 되는 kk가 거리다. ② 살아남은 항으로 최단경로를 복원한다. ③ 행 전체가 \infty면 먼저 dout=0d_{out}=0(싱크)인지 확인한다.

단원 1-7 — 도달가능성과 컴포넌트 (Reachability and Components) 원 노트 →

문항핵심 답이 문항의 요점
1RR의 M4 행이 (1,1,1,1,1)(1,1,1,1,1)이 되어 강한 컴포넌트가 1개로 합쳐진다.싱크가 하나 풀리면 전체가 하나가 된다.
2A[3,4]=0A[3,4]=0으로 지우면 M4의 행·열이 (0,0,0,1,0)(0,0,0,1,0). 강한 컴포넌트는 2개로 불변, 약한 컴포넌트가 1→2개로 늘어난다.약한 1개면 "받기만 하는 학생", 2개면 "완전 고립" — 두 지표를 함께 봐야 처지가 보인다.

푸는 순서 (How to Solve).R=sign(I+A+A2++An1)R=\mathrm{sign}(I+A+A^2+\cdots+A^{n-1}). ② 강한 컴포넌트는 RRTR \wedge R^{\mathsf T}, 약한 컴포넌트는 방향을 지운 뒤 같은 계산. ③ 간선을 고치면 그 행·열만 다시 보고, 두 컴포넌트 수가 따로 움직인다는 점을 확인한다.

단원 1-8 — 무방향 가중 네트워크 (Undirected Weighted Networks) 원 노트 →

문항핵심 답이 문항의 요점
1d=(2,2,3,3,3,3,2)d=(2,2,3,3,3,3,2), d=18\sum d=18, E=9E=9, 밀도 0.4286. 강도가 변하는 학생은 S4(0→2)·S5(2→4)·S6(2→4). 삼각형 2→3개, 평균거리 42/21 = 2.0, 지름은 4로 불변.간선 하나로 여러 지표가 움직이지만 지름은 안 움직일 수 있다.
2S3와 S5는 넓이(차수)가 같고 두께(강도)가 다르다. 관계당 평균 강도는 S1 3.0 > S5 2.0, 쏠림 66.7% vs 50%. 소식 확산은 차수 dd, 넓이는 dd·깊이는 ss·빠르기는 1/w1/w.차수와 강도는 서로 다른 질문에 답한다. 무엇을 재려는지 먼저 정하고 자를 고른다.

푸는 순서 (How to Solve). ① 무방향이면 행합이 차수, 가중치 행합이 강도다. ② 간선 수는 d/2\sum d/2, 삼각형은 tr(U3)/6\mathrm{tr}(U^3)/6. ③ 평균거리는 거리행렬의 합을 쌍 수로 나눈다. 차수(넓이)와 강도(두께)를 반드시 갈라서 읽을 것.

단원 1-9 — Knoke 자료 기초지표 종합 (Knoke Data: Basic Measures) 원 노트 →

문항핵심 답이 문항의 요점
1UWAY는 dout=6d_{out}=6(COUN·COMM·INDU·MAYR·NEWS·WELF), din=2d_{in}=2(COMM·MAYR), (A2)[8,8]=2(A^2)[8,8]=2로 상호 관계 2건. 나머지 4곳은 일방 발신. UWAY는 활발, WRO는 주변부.diag(A2)\mathrm{diag}(A^2)가 "짝사랑"과 "맞지명"을 갈라 준다.
2MAYR→WRO를 더하면 거리 3인 7쌍 중 5개가 해소되고 WRO→COUN·WRO→UWAY만 남는다. 지름은 3으로 불변, 평균거리 138/90 → 132/90.거리 분포는 크게 바뀌었는데 지름은 그대로 — 요약값 하나로 개선을 보고하면 안 된다.

푸는 순서 (How to Solve). ① 행합·열합으로 발신형·수신형을 가른다. ② diag(A2)\mathrm{diag}(A^2)로 상호 관계 건수를 센다. ③ 거리행렬로 지름·평균거리를 재고, 간선을 더하면 거리 3인 쌍 중 몇 개가 해소되는지를 직접 센다.

4. 2단계 — 중심성 (Stage 2 — Centrality)

단원 2-1 — 연결정도 중심성과 중심화 (Degree Centrality and Centralization) 원 노트 →

문항핵심 답이 문항의 요점
1S4–S6을 더하면 d=(2,2,3,3,3,3,2)d=(2,2,3,3,3,3,2), 중심화 3/30=0.13/30=0.1로 0.1667에서 내려간다.간선을 더했는데 중심화가 떨어진다 — 중심화는 "총량"이 아니라 "쏠림"을 재기 때문.
2S3를 허브로 만들면 d=(2,2,6,2,4,3,3)d=(2,2,6,2,4,3,3), 중심화 20/30=0.666720/30=0.6667(4.0배). S3가 결석하면 {S1,S2}와 {S4,S5,S6,S7}로 갈라진다. S4는 절단점 지위만 잃고 차수·처지는 그대로."자리"는 값이 아니라 관계 배치에서 온다.

푸는 순서 (How to Solve). ① 차수를 구하고 CD=di/(n1)C_D=d_i/(n-1). ② 중심화는 i(dmaxdi)\sum_i (d_{\max}-d_i)(n1)(n2)(n-1)(n-2)로 나눈다. ③ 구조를 바꾸면 분자가 어떻게 커지는지를 보고, 절단점 여부는 차수와 별개로 따로 확인한다.

단원 2-2 — 근접 중심성 (Closeness Centrality) 원 노트 →

문항핵심 답이 문항의 요점
1s6=11s_6=11이고 s=(14,14,10,9,11,11,15)s=(14,14,10,9,11,11,15). 근접 1위는 S4의 6/9=0.66676/9=0.6667. S7은 0.4로 값이 그대로인데 공동 4위 → 단독 7위가 된다.내 값이 안 변해도 남이 좋아지면 내 처지는 나빠진다.
2허브 구조에서는 s=(10,10,6,10,8,9,9)s=(10,10,6,10,8,9,9), CC(S3)=1.0C_C(S3)=1.0. S4는 0.6으로 불변인데 1위 → 공동 최하위. 지름 4→2, 평균거리 2.1905→1.4762.순위는 상대적이다. 순위 변화를 보고할 때는 값도 함께 적는다.

푸는 순서 (How to Solve). ① 거리행렬의 행합 sis_i를 구한다. ② CC=(n1)/siC_C = (n-1)/s_i. ③ \infty가 하나라도 있으면 값이 0이 되므로 컴포넌트 안에서만 재거나 조화 중심성으로 바꾼다. 값이 그대로여도 순위는 바뀔 수 있다.

단원 2-3 — 매개 중심성 (Betweenness Centrality) 원 노트 →

문항핵심 답이 문항의 요점
1최단경로가 2개인 쌍은 S4–S7·S3–S7·S1–S7·S2–S7(모두 도착점이 S7). b=(0,0,8,9,2,2,0)b=(0,0,8,9,2,2,0)이고 S5는 8→2로 −75%, 절단점에서도 탈락(남은 절단점 S4·S3). S6은 b=2>0b=2>0인데 절단점은 아니다. 매개 중심화 0.4222→0.4667.우회로가 생기면 "통행료"가 즉시 무너진다. 매개 중심화는 1등을 키워서가 아니라 2등을 끌어내려서도 오른다.
2허브 구조에서 b=(0,0,9,0,1,0,0)b=(0,0,9,0,1,0,0), CB=(0,0,0.6,0,0.0667,0,0)C_B=(0,0,0.6,0,0.0667,0,0)S4가 9→0. 매개 중심화 0.5889, 절단점은 S3 하나. 세 중심화 배율은 연결정도 ×4.0 · 근접 ×2.33 · 매개 ×1.39.같은 구조 변화에도 세 중심화가 서로 다른 크기로 반응한다 — 그래서 셋을 같이 본다.

푸는 순서 (How to Solve). ① 모든 쌍의 최단경로 수 gstg_{st}와 그중 ii를 지나는 수 gst(i)g_{st}(i)를 센다. ② bi=s<tgst(i)/gstb_i=\sum_{s<t} g_{st}(i)/g_{st}. ③ 최단경로가 여러 개인 쌍은 분수로 쪼개 나눠 담는다. b>0b>0이라고 절단점인 것은 아니다.

단원 2-4 — 고유벡터 중심성과 페이지랭크 (Eigenvector Centrality and PageRank) 원 노트 →

문항핵심 답이 문항의 요점
1거듭제곱법 x(1)=(2,2,3,3,3,3,2)x^{(1)}=(2,2,3,3,3,3,2), x(2)=(5,5,7,9,8,8,6)x^{(2)}=(5,5,7,9,8,8,6), x(3)=(12,12,19,23,23,23,16)x^{(3)}=(12,12,19,23,23,23,16). 수렴값은 λ1=2.709275\lambda_1=2.709275, x=(0.3691,0.3691,0.6309,0.9711,1,1,0.7382)x=(0.3691,0.3691,0.6309,0.9711,1,1,0.7382). S3가 내려간 이유는 두 겹 — 이웃 값이 내려갔고 λ1\lambda_1이 올라갔다.고유벡터는 "이웃의 값"을 되먹임한다. 나눗셈의 분모(λ1\lambda_1)도 함께 움직인다.
2허브 구조에서 λ1=3.555676\lambda_1=3.555676, x=(0.3913,0.3913,1,0.5142,0.8282,0.7154,0.7154)x=(0.3913,0.3913,1,0.5142,0.8282,0.7154,0.7154), PR (0.1015,0.1015,0.2608,0.0954,0.1744,0.1332,0.1332)(0.1015,0.1015,0.2608,0.0954,0.1744,0.1332,0.1332). 고유벡터에서는 S4>S1인데 PR에서 뒤집힌다 — 허브는 바빠서 나눠 주는 몫이 작다(0.043467 vs 0.050761). 고유벡터 중심화는 별그래프에서도 0.7101에서 멈추므로 눈금이 다른 자다(0.4889/0.7101 = 0.688)."누구와 이어졌는가"(고유벡터)와 "그가 나에게 얼마를 나눠 주는가"(PR)는 다른 질문이다.

푸는 순서 (How to Solve).x(0)=1x^{(0)}=\mathbf 1에서 x(k+1)=Ax(k)x^{(k+1)}=Ax^{(k)}를 반복한다. ② 최대 성분으로 나눠 정규화하고, 성분 비가 멎으면 그 배율이 λ1\lambda_1이다. ③ 이웃합 =λ1xi=\lambda_1 x_i 로 검산한다. 페이지랭크는 나눠 주는 쪽(1/dj1/d_j)이 다르다는 것만 갈아 끼우면 된다.

단원 2-5 — 가중 네트워크의 중심성과 α\alpha 조절 (Weighted Centrality and the α\alpha Tuning Parameter) 원 노트 →

문항핵심 답이 문항의 요점
1s=(6,5,8,6,6,5,4)s'=(6,5,8,6,6,5,4), 합 40 = 가중치 합 20의 두 배. α=0.5\alpha=0.5에서 S4가 꼴찌(2.0) → 공동 3위(3.4641)로 올라가고, S3는 모든 α\alpha에서 1위.α\alpha는 "친구 수"와 "친밀도" 사이의 손잡이다. 순위가 α\alpha에 따라 바뀌면 그 사실 자체가 결과다.
2dw(S1,S7)=0.5+0.2+1+0.5=2.2d^w(S1,S7)=0.5+0.2+1+0.5=2.2(S1-S3-S4-S5-S7, 이진 거리로는 3.0). 가중 근접은 (0.8126,0.6950,1.0198,1.0557,0.8978,0.7484,0.6780)(0.8126,0.6950,1.0198,1.0557,0.8978,0.7484,0.6780)1을 넘는다. 가중 매개 bw=(5,0,8,9,8,0,0)b^w=(5,0,8,9,8,0,0)로 이진과 같고, 오른쪽 삼각형은 직접 0.5 < 우회 0.8333이라 bw(S6)=0b^w(S6)=0이 모든 α\alpha에서 유지된다.가중 근접은 "0~1 척도"가 아니다. 정규화 관행을 그대로 옮기면 안 된다.

푸는 순서 (How to Solve). ① 강도 si=jwijs_i=\sum_j w_{ij}를 구한다. ② Cαw=di1αsiαC^{w}_\alpha = d_i^{\,1-\alpha}\,s_i^{\,\alpha}. ③ 거리를 잴 때는 가중치를 1/w1/w로 뒤집어 넣는다. 순위 교차점은 두 식을 같다고 놓고 α\alpha에 대해 푼다.

단원 2-6 — Knoke 중심성 종합과 지표 간 비교 (Knoke Centrality Synthesis and Cross-Measure Comparison) 원 노트 →

문항핵심 답이 문항의 요점
1NEWS를 빼면 dout=(3,6,5,3,7,2,5,2,4)d^{out}=(3,6,5,3,7,2,5,2,4), din=(5,7,4,4,7,1,2,5,2)d^{in}=(5,7,4,4,7,1,2,5,2). 외향은 아홉 곳 모두 1-1(NEWS의 din=9d_{in}=9), 내향은 세 곳만(dout=3d_{out}=3). 밀도 37/72=0.513937/72=0.5139, COMM(2위)·EDUC(3위) 교체, (WRO,COUN)의 gjkg_{jk}가 9→6. 지름 3 유지, 평균거리 1.5333→1.5694.인기 1위를 잃는 것보다 다리를 잃는 것이 위험하다 — 빠진 자리의 종류가 피해를 정한다.
2지표 셋은 doutd^{out}·dind^{in}·bb. doutd^{out}dind^{in} 상관은 0.135(MAYR는 양쪽, NEWS는 종착지, UWAY는 발신 과잉). CCinC_C^{in}dind^{in}의 0.978은 이 망의 성질(밀도 0.5444·지름 3)이지 일반 법칙이 아니고, 반례는 2-2의 7명 망(S4가 연결정도 공동 4위인데 근접 1위)."두 지표가 거의 같다"는 관찰은 자료마다 다시 확인해야 한다.

푸는 순서 (How to Solve). ① 지표를 세 개만 고른다(외향·내향·매개처럼 재는 축이 다른 것으로). ② 노드를 빼거나 더하면 어느 지표가 몇 만큼 움직이는지 표로 만든다. ③ 상관이 높게 나오면 지표가 같아서인지 이 망의 성질인지를 반드시 구분한다.

5. 3단계 — 하위집단과 구조 (Stage 3 — Subgroups and Structure)

단원 3-1 — 클리크: 극대와 최대 (Cliques: Maximal and Maximum) 원 노트 →

문항핵심 답이 문항의 요점
1새로 생기는 삼각형은 {S2,S3,S4} 하나뿐이고 총 3개(tr(U3)/6=18/6\mathrm{tr}(U'^3)/6=18/6). {S3,S4}는 극대가 아니다. 극대 클리크는 4개로 유지, ω=3\omega=3.극대(더 못 키움)와 최대(가장 큼)는 다른 말이다.
24-클리크는 간선 6개가 필요한데 5개짜리 4인 조가 하나도 없으므로 최소 2개를 더해야 한다(예: {S4,S5,S6,S7}에 S4–S6·S4–S7)."거의 다 됐다"를 세는 방법 — 필요 간선에서 현재 간선을 뺀다.
3가라테 3번은 자기가 속한 극대 클리크 7개 중 5개가 혼합(전체 9개의 56%), 교차 간선 10개 중 5개를 혼자 감당. 1번은 12.5%, 34번은 11.8%. 3번을 빼면 혼합 클리크가 9→4개.분열 예측의 핵심 인물은 중심성 1위가 아니라 양쪽에 걸친 사람이다.

푸는 순서 (How to Solve). ① 삼각형 수는 tr(U3)/6\mathrm{tr}(U^3)/6. ② 클리크를 찾은 뒤 한 명 더 넣어도 되는지 확인해 극대인지 판정한다. ③ kk-클리크는 간선 (k2)\binom k2개가 필요하므로, 모자란 간선 수를 세면 최소 추가량이 바로 나온다.

단원 3-2 — 완화된 클리크 (Relaxed Cliques: n-clique, n-clan, k-plex, k-core) 원 노트 →

문항핵심 답이 문항의 요점
1{S5,S6,S7,S8}은 3-플렉스다(S5의 차수가 1이라 2-플렉스는 아니다). 정리로는 지름이 보장되지 않지만 실제 지름은 2 → 2-클리크(극대)이자 2-클랜.정의가 보장하지 않는 성질은 직접 확인해야 한다.
2WW'의 차수는 (4,4,3,3,5,5,2,2), 간선 12→14. 3-코어는 6명이고 한 단계 만에 끝난다. S6의 코어 번호가 2→3. 반대로 S1–S2·S3–S4를 더하면 왼쪽은 4-코어가 되지만 S6은 2 그대로.k-코어는 "내 이웃도 함께 튼튼해야" 올라간다 — 남의 동네가 좋아져도 내 번호는 안 오른다.

푸는 순서 (How to Solve).kk-플렉스는 각자의 차수 Sk\ge |S|-k — 가장 낮은 차수로 kk가 정해진다. ② nn-클리크와 nn-클랜은 부분그래프 안에서의 지름까지 따져야 갈린다. ③ kk-코어는 차수 <k<k인 정점을 더 지울 게 없을 때까지 반복해 벗긴다.

단원 3-3 — 모듈러리티 QQ (Modularity) 원 노트 →

문항핵심 답이 문항의 요점
1P5는 mc=(3,1,3)m_c=(3,1,3), Dc=(11,6,7)D_c=(11,6,7), Q=130/576=0.2257Q=130/576=0.2257로 P1의 190/576=0.3299190/576=0.3299보다 낮다. 2집단에서 쓰던 항등식은 DA+DB=2mD_A+D_B=2m이 깨지므로 3집단에서 무너진다.지름길 공식은 집단 수가 바뀌면 다시 유도해야 한다.
2아령은 d=(3,2,2,3,2,2)d=(3,2,2,3,2,2), Q=10/28=5/140.3571Q=10/28=5/14\approx0.3571. 다리를 끊으면 1/2=11/K1/2 = 1-1/K로 이론 상한에 닿는다. 손실 1/71/7은 전적으로 mc/mm_c/m 항에서 나온다.QQ의 상한은 11/K1-1/K. "Q=0.36Q=0.36이 높은가"는 KK를 알아야 답할 수 있다.

푸는 순서 (How to Solve). ① 집단마다 내부 간선 mcm_c와 차수 합 DcD_c를 센다. ② Q=c[mc/m(Dc/2m)2]Q=\sum_c\big[m_c/m-(D_c/2m)^2\big]. ③ 2집단에서 쓰던 항등식은 3집단에서 무너진다. 상한 11/K1-1/K에 얼마나 가까운지로 분할의 좋음을 읽는다.

단원 3-4 — 커뮤니티 탐지 알고리즘 (Community Detection Algorithms) 원 노트 →

문항핵심 답이 문항의 요점
1간선 매개는 A1–B1이 9, 나머지가 4·4·4·4·1·1이고 총합 27 = 모든 쌍의 거리 총합.다리는 모든 최단경로가 지나므로 간선 매개가 압도적으로 크다.
2fast greedy의 첫 병합은 A2–A3(+20/196+20/196)이고 다리 병합은 +10/196+10/196로 가장 작다. 끝까지 가면 70/196=5/1470/196=5/14. GN은 다리를 잘라서, fast greedy는 덩어리를 붙여서 같은 답에 닿는다.알고리즘이 다르면 가는 길이 다르다. 같은 QQ라도 중간 단계를 봐야 이해된다.

푸는 순서 (How to Solve). ① Girvan-Newman은 간선 매개가 가장 큰 간선을 잘라 나간다. ② fast greedy/Louvain은 ΔQ\Delta Q가 가장 큰 병합을 붙여 나간다. ③ 두 방향이 같은 답에 닿는지를 확인하고, 닿지 않으면 QQ 값으로 판정한다.

단원 3-5 — 구조적 등위성과 블록모델링 (Structural Equivalence and Blockmodeling) 원 노트 →

문항핵심 답이 문항의 요점
1아령의 해밍 거리는 0이 2쌍·1이 4쌍·3이 4쌍·4가 5쌍. 완전 등위는 (A2,A3)·(B2,B3) — 서로 아는 쌍둥이. 병합 높이 0,0,1,1,4, 밀도행렬 오차 0(대각 블록이 둘 다 1). D(A1,B1)=4D(A1,B1)=4로 가장 먼데 정규 등위성으로는 같은 역할이다."같은 자리"에는 두 뜻이 있다 — 같은 사람들과 이어짐(구조적) vs 같은 종류의 사람들과 이어짐(정규).
2WW에 S1–S2를 더하면 완화된 등위는 유지되나 엄격한 등위는 깨진다. 행렬 12칸이 바뀌고 D(S1,S5)D(S_1,S_5)는 2→1, D(S1,S6)D(S_1,S_6)은 4→5. 높이 0,0,0,1,1,2,6, h=1.5h=1.5에서 위치가 4→3개, 블록모델은 P1→P1 한 칸만 0→1.간선 하나가 "위치의 개수"를 바꾼다. 자르는 높이 hh를 밝히지 않은 블록모델은 재현이 안 된다.

푸는 순서 (How to Solve). ① 두 사람의 행(과 열)을 겹쳐 다른 칸 수를 센다 — 해밍 거리. ② 거리행렬로 군집을 만들고 병합 높이를 읽는다. ③ 위치를 확정한 뒤 블록별 밀도를 계산해 블록모델을 만든다. 구조적 등위와 정규 등위는 다른 질문임을 잊지 말 것.

단원 3-6 — 이분 네트워크와 투영 (Bipartite Networks and Projection) 원 노트 →

문항핵심 답이 문항의 요점
1이분 밀도 9/15=0.69/15=0.6. 가중치가 2인 쌍은 (T1,T2)·(T3,T4)뿐. 투영 밀도 1.0은 E1 하나가 만든 것이라 잴 정보가 없다. 활동 투영은 C[E1,E2]=C[E1,E3]=2C[E1,E2]=C[E1,E3]=2, C[E2,E3]=0C[E2,E3]=0. 뉴먼 가중이면 1.25 vs 0.25로 2배 대비가 5배 대비가 된다.투영은 정보를 만들지 않는다. 큰 활동 하나가 밀도를 1.0으로 만들어 버린다.
2역문제 — 4명 완전그래프는 "4명짜리 활동 하나"(이분 차수 1, 간선 4)로도 "2인 활동 6개"(차수 3, 간선 12)로도 만들어지고 투영은 완전히 같다. 최소 활동 수는 1개. 뉴먼 가중이면 0.3333 vs 1.0으로 구별된다.투영만 보고 원래 이분 구조를 복원할 수 없다. 원자료를 함께 보고해야 한다.

푸는 순서 (How to Solve). ① 소속행렬 BB에서 P=BBTP=BB^{\mathsf T}(사람), C=BTBC=B^{\mathsf T}B(활동). ② 대각은 버리고 비대각만 읽는다. ③ 큰 활동 하나가 밀도 1.0을 만든다는 착시를 항상 의심하고, 뉴먼 가중(1/(k1)1/(k-1))으로 다시 재 본다.

단원 3-7 — 동질성과 E-I 지수 (Homophily and the E-I Index) 원 노트 →

문항핵심 답이 문항의 요점
112명 EI=10/14=0.714286EI=-10/14=-0.714286. 관측만 보면 여학생이 더 닫혀 보이지만(0.5556<0.4286-0.5556 < -0.4286) 기대 대비 낙차는 남학생이 크다(0.984-0.984 vs 0.806-0.806). a=(3/7,4/7)a=(3/7,4/7), ak2=25/49\sum a_k^2=25/49, EIexp=1/49=0.020408EI^{exp}=-1/49=-0.020408, r=0.708333r=0.708333.집단 크기가 다르면 관측 EIEI끼리 비교하는 것은 무의미하다. 반드시 EIexpEI^{exp}와의 낙차로 본다.
2EIi=0EI_i=0인 학생은 S5뿐(차수 2)이지만 가장 좋은 다리는 EI3=0.5EI_3=-0.5인 S3(차수 4)다. 전학생 3명은 EI=+0.8667EI=+0.8667인데 기대가 +0.9286+0.9286이라 차이가 0.0619-0.0619 — "융화가 잘 됐다"는 해석은 틀렸다. n=30n=30이면 k=61/320.33k=61/3\approx20.33, 즉 21명 이상이어야 음수 EIEI를 논할 수 있다.개인 EIi=0EI_i=0은 "차수가 작아서" 나올 수 있다. 다리 후보는 값과 차수를 함께 본다.

푸는 순서 (How to Solve). ① 간선을 내부(I)와 외부(E)로 갈라 센다. ② EI=(EI)/(E+I)EI=(E-I)/(E+I). ③ 반드시 기대값과 견준다 — 집단 크기가 치우치면 기준선 자체가 0이 아니다. 관측값만 보고 "닫혀 있다"고 하면 틀린다.

단원 3-8 — 가라테 분열 예측과 FMH 하위집단 (Predicting the Karate Split; FMH Subgroups) 원 노트 →

문항핵심 답이 문항의 요점
1ARI 0.482030(우연 몫 28.2쌍, 완전일치까지 47.3쌍 중 22.8쌍 일치) vs RI 0.742105(90쌍을 공짜로 셈). 세분이 아니다 — C3가 경계를 1명 넘는다. 다수결로 복원하면 19/20 = 0.95. ARI 감점의 대부분은 오류가 아니라 세분이다(B조 12명을 6+6으로 쪼개 36쌍 불일치).RI는 "둘 다 다른 조" 쌍을 공짜로 세어 준다. 학급 규모에서는 항상 ARI를 쓴다.
210명 예제는 m=18m=18, 차수 합 36. Q정답=0.4058642<Q이동=0.4305556Q_{정답}=0.4058642 < Q_{이동}=0.4305556이므로 알고리즘이 오답을 고른다(Louvain 300회 최대도 이동 쪽). 교차 간선은 그대로인데 벌점만 0.5386→0.5139로 줄어든다(차수 합 13:23 → 15:21). EIS10=0EI_{S10}=0이고 가라테 10번과 같은 구조지만 편향 크기는 가라테 +0.000329+0.000329(넷째 자리) vs 10명 망 +0.0247+0.0247(둘째 자리).작은 망일수록 QQ의 차수 균형 편향이 크고, 우리 반은 25~30명이다.

푸는 순서 (How to Solve). ① 두 분할의 교차표를 만든다. ② 쌍 기준으로 a,b,c,da,b,c,d를 세고 우연 몫을 뺀 ARI를 구한다. ③ RI는 안 맞는 쌍 90개를 공짜로 세므로 늘 높게 나온다. QQ가 정답보다 오답에서 높을 수 있다는 것도 같이 확인한다.

6. 4단계 — 생성 모형 (Stage 4 — Generative Models)

단원 4-1 — 무작위 그래프 G(n,p)G(n,p) (The Erdős–Rényi Random Graph) 원 노트 →

문항핵심 답이 문항의 요점
16명이면 동전 15개, E[m]=5E[m]=5, Var[m]=10/3\mathrm{Var}[m]=10/3(sd 1.826). 차수는 B(5,1/3)B(5,1/3)로 32/80/80/40/10/1(÷243)이라 k=1,2k=1,2가 동률 최빈. E[d]=5/3E[d]=5/3, Var[d]=10/9\mathrm{Var}[d]=10/9, 분산/평균 =1p=2/3=1-p=2/3. 고립 기대 0.79명. 특정 5간선 그래프 하나의 확률은 1024/14,348,9071024/14{,}348{,}907이고 ×3003=0.214307\times 3003 = 0.214307.G(n,p)G(n,p)에서는 분산/평균이 항상 1p<11-p<1이다 — 실제 자료가 이보다 크면 그 자체가 신호다.
225명 60간선 → p=0.2p=0.2, 평균 차수 4.8(항등식이라 "모형이 맞다"는 증거가 아니다). 예측 분산 3.84 vs 실제 12.0으로 3.125배(가라테 3.81배 급). 고립 기대 0.12명(8~9개 학급당 한 명), 차수 15는 6000개 학급당 한 명(학생 15만 명).평균이 맞는 것은 당연하다. 모형을 시험하는 것은 분산과 꼬리다.

푸는 순서 (How to Solve). ① 동전은 (n2)\binom n2개. ② E[m]=(n2)pE[m]=\binom n2 p, Var[m]=(n2)p(1p)\mathrm{Var}[m]=\binom n2 p(1-p). ③ 차수는 B(n1,p)B(n-1,p)로 항을 전부 전개해 확인한다. 평균이 맞는 것은 항등식이지 모형이 맞다는 증거가 아니다 — 분산을 비교할 것.

단원 4-2 — 푸아송 근사와 거대 컴포넌트 (Poisson Approximation and the Giant Component) 원 노트 →

문항핵심 답이 문항의 요점
130명 30간선 → p=2/29p=2/29, λ=2\lambda=2. 푸아송 확률 0.135335/0.270671/0.270671/0.180447/0.090224/0.036089 → 인원 4.06/8.12/8.12/5.41/2.71/1.08명. 고립은 푸아송 4.06 vs 이항 3.78(7.5% 차이, 푸아송은 언제나 고립을 더 많게 본다). 거대 컴포넌트 ≈24명(79.7%), 전원 연결에는 λln30=3.4\lambda\approx\ln 30=3.4가 필요. 관측 고립 7명은 1.72배지만 P=0.10P=0.10으로 유의하지 않다(sd 1.87명)."두 배나 많다"도 작은 수에서는 우연 범위 안일 수 있다.
2λ=0.9\lambda=0.91.251.25의 반복 — 8회에서 0.9078(목적지 1) vs 0.6145(수렴 0.6286). u=1u^*=1(S=0S=0, 0명) vs u=0.628630u^*=0.628630(S=0.371370S=0.371370, ≈11명). f(u)=λuf'(u^*)=\lambda u^*이고 임계점에서 정확히 1이라 기하급수 수렴이 붕괴한다. n=1000n=1000에서 53명(5.3%)이 나와도 S=0S=0은 "비율이 0으로 간다"는 뜻(최대 덩어리 lnn\propto \ln n). λ=1.0\lambda=1.0, n=1461n=1461이면 115명(7.9%).S=0S=0은 "아무도 안 이어진다"가 아니라 "nn이 커질수록 비율이 0으로 간다"이다.

푸는 순서 (How to Solve).λ=(n1)p\lambda=(n-1)p를 구한다. ② 푸아송 eλλk/k!e^{-\lambda}\lambda^k/k!로 인원을 환산한다. ③ 거대 성분은 u=eλ(1u)u=e^{-\lambda(1-u)}반복 대입해 풀고 S=1uS=1-u. λ=1\lambda=1이 임계점이라는 것을 값으로 확인한다.

단원 4-3 — 좁은 세상인데 왜 뭉치지 않는가 (Short Paths without Clustering) 원 노트 →

문항핵심 답이 문항의 요점
1100명 고리 격자(nei=2) → m=200m=200, 평균 차수 4, p=4/99p=4/99. C=0.5C=0.5로 무작위 0.0404의 12.4배, 평균거리 12.9 vs 3.4로 3.8배(n=5000n=5000이면 101배), 삼각형 100 vs 10.7로 9.4배.격자는 지역성만 있고 지름길이 없다. 무작위는 그 반대다.
230명 60간선(λ=4\lambda=4) — 이론 거리 2.453 vs 실제 2.6(1.06배, z=+1.58z=+1.58로 합격), 이론 CC 0.1379 vs 0.35(2.54배, z=+5.91z=+5.91로 불합격, 1000회 중 0번). 삼각형 ≈27개 vs 기대 10.65(무작위 1000회 최대 22)."뭉쳐 있으나 갈라지지는 않았다" — 거리와 군집계수는 따로 판정한다.

푸는 순서 (How to Solve). ① 격자의 CCLL을 손으로 구한다. ② 같은 n,mn,m의 무작위 그래프에서는 CpC\approx p, Llogn/logλL\approx \log n/\log\lambda. ③ 두 지표를 각각 배수로 비교한다 — 거리는 잘 맞고 뭉침은 크게 어긋나는 것이 핵심.

단원 4-4 — 와츠–스트로가츠 좁은 세상 (The Watts–Strogatz Small World) 원 노트 →

문항핵심 답이 문항의 요점
1C243C_{24}^3m=72m=72, 차수 6, N(1)={2,3,4,22,23,24}N(1)=\{2,3,4,22,23,24\}, 이어진 쌍 9/15 → C1=0.6C_1=0.6. 홉별 도달 6,6,6,5, 거리 합 56, L=56/23=2.4348L=56/23=2.4348, 지름 4(근사식 2는 18% 과소).격자의 C0=3(nei1)/(2(2nei1))C_0=3(\mathrm{nei}-1)/(2(2\mathrm{nei}-1))은 손으로 확인된다.
230명 nei=2 → C0=0.5C_0=0.5, L0=120/29=4.1379L_0=120/29=4.1379, 지름 8(근사 3.75는 9% 과소). 목표 C=0.35C=0.35교과서 공식으로 풀면 p=0.1121p=0.1121, igraph 정의로는 p=0.0577p=0.0577(12.7개 대 6.7개 간선). 관측과 비교하면 zL=2.00z_L=-2.00, zC=0.33z_C=-0.33 → WS로 설명되지 않는 더 극단적 좁은 세상.sample_smallworld()는 간선이 아니라 양 끝점을 각각 재배선한다 — 생존이 (1p)3(1-p)^3이 아니라 (1p)2(1-p)^2.

푸는 순서 (How to Solve). ① 고리 격자에서 C0C_0L0L_0를 직접 센다. ② 재배선 확률 pp를 넣으면 LL이 먼저 급락하고 CC는 늦게 떨어진다. ③ `sample_smallworld()`는 간선이 아니라 양 끝점을 각각 재배선하므로 교과서 공식으로 pp를 역산하면 약 2배가 어긋난다.

단원 4-5 — 차수분포를 읽는 법 (Reading a Degree Distribution) 원 노트 →

문항핵심 답이 문항의 요점
112명 차수 1,1,2,2,2,3,3,3,4,5,7,9 → m=21m=21, λ=3.5\lambda=3.5. k=6,8k=6,8에 구멍이 있어도 CCDF는 끊기지 않는다. 중간(4~6)이 비고 양 끝이 채워진 모양. 차수 9는 8.4개 학급당 한 명(가라테 1153개 학급당 한 명에 비하면 약한 신호). γ\gamma는 2.131~2.7712. Var(K)=5.909\mathrm{Var}(K)=5.909, D=1.688D=1.688 — 격자 0 < 무작위 1.03 < 이 학급 1.69 ≈ FMH 1.54 < 가라테 3.28 < BA 5.29.CCDF는 구멍에 강하다. 분산지수 DD는 학급끼리 비교할 수 있는 한 줄 요약이다.
2가라테 Fˉ(5)=0.294118\bar F(5)=0.294118은 "34명 중 10명(29.4%)이 5명 이상". γ\gamma가 2.2546 / 2.8815 / 2.9162 + 회귀 2.281 + MLE 2.126으로 폭 0.79라 이론 구분선 2와 3이 전부 그 안에 들어온다. 그래서 γ\gamma 대신 "무작위 200회의 α\alpha 범위 2.62~13.90, 가라테 2.13은 그 바깥, 0/200(경험적 p<0.005p<0.005)"로 보고한다.추정치의 폭이 이론 구분선을 삼키면 그 추정치로는 아무 주장도 할 수 없다 — 영 모형 대조로 갈아탄다.

푸는 순서 (How to Solve).nkn_k를 세고 위에서부터 누적해 CCDF Fˉ(k)\bar F(k)를 만든다. ② 로그-로그로 옮겨 기울기를 읽으면 γ\gamma. ③ γ\gamma는 구간을 어떻게 잡느냐에 따라 크게 흔들린다 — 여러 방법의 값을 나란히 적고 폭을 함께 보고할 것.

단원 4-6 — 허브는 어디서 오는가 (Where Hubs Come From: Preferential Attachment) 원 노트 →

문항핵심 답이 문항의 요점
1손 시뮬에서 Π(2)\Pi(2)는 0.500→0.500→0.375→0.400으로 버티는데 1·3번은 0.250→0.167→0.125→0.100으로 계속 내려간다. 최종 차수 (1,5,1,2,1,1,1)(1,5,1,2,1,1,1), 합 12, 간선 6 = n1n-1(나무). 최대 차수가 41.67%로 평등 기대 14.3%의 2.9배. 2번의 기대 차수는 선호적 3.609375 vs 균등 2.95(+22.35%; 10만 회 모의 3.6043/2.9515).부익부는 "확률이 유지되는 것"만으로도 생긴다 — 남들이 내려가기 때문이다.
21000명 BA에서 k6k\le6이 964.29명, 7 이상이 35.71명(=1000/28=1000/28), 20 이상 4.76명·30 이상 2.15명. 균등이면 0.0019명·0.0000019명(2497배·115만 배). "1명" 지점이 BA k44k\approx44 vs 균등 k11k\approx11. γ\gamma를 두 점으로 재면 k=10,100k=10,100에서 2.9629, k=100,1000k=100,1000에서 2.9961 — 보정 항 1/(1+1/k)1/(1+1/k) 때문이지 표본 오차가 아니다.이론 분포에서도 유한 kk 보정 때문에 γ\gamma가 3에 못 미친다. 편차를 무조건 잡음으로 돌리면 안 된다.

푸는 순서 (How to Solve).Πi=di/jdj\Pi_i=d_i/\sum_j d_j를 시각마다 다시 계산한다. ② 붙는 정점을 하나씩 굴려 최종 차수를 얻는다. ③ 이론은 P(k)k3P(k)\propto k^{-3}, 기대 인원은 nP(k)nP(k). `sample_pa()`의 `zero.appeal` 기본값이 1이라 순수 BA를 원하면 명시해야 한다.

단원 4-7 — 모형 고르기 (Choosing Among Models) 원 노트 →

문항핵심 답이 문항의 요점
1지수 분포 (2/3)k1(2/3)^{k-1}을 로그로그로 재면 기울기 1.4590-1.4590γ=2.4590\gamma=2.4590, R2=0.9744R^2=0.9744로 "척도 없음"처럼 보인다. 반박 ① 구간을 넓히면 γ\gamma가 2.46→3.29→4.31→5.52로 계속 커진다(진짜 멱함수면 안 변한다) ② 반로그에서 R2=1.0000R^2=1.0000(기울기 log10(2/3)=0.176091259\log_{10}(2/3)=-0.176091259)으로 더 잘 맞는다.높은 R2R^2는 모형 선택의 증거가 아니다. 경쟁 모형과 붙여야 한다.
2산불 모형 p=1/3p=1/3b=p/(1p)=1/2b=p/(1-p)=1/2. 세대별 1, 0.5, 0.25, …로 8세대 누적 1.99609375, 극한 2명. 예측 4.0 vs 실측 6.647이므로 손 계산은 하한(p=0.2p=0.2면 2.667 vs 2.992로 12% 차). p=0.6p=0.6이면 b=1.51b=1.5\ge1로 발산 — n=200n=200에서 평균 차수 148.8.분기 과정의 b=1b=1은 "조금 더 퍼짐"이 아니라 다른 세상으로 넘어가는 문턱이다.

푸는 순서 (How to Solve). ① 같은 자료를 로그-로그와 반로그 두 축에 얹어 본다. ② 구간을 넓혀 가며 γ\gamma가 계속 커지는지 본다 — 커지면 거듭제곱 법칙이 아니다. ③ 손 계산으로 극한을 구해 시뮬레이션의 하한으로 쓴다. "우리 반은 어느 모형인가"를 묻지 말 것.

단원 4-8 — 배열 모형 (The Configuration Model) 원 노트 →

문항핵심 답이 문항의 요점
15명 (4,3,2,2,1)(4,3,2,2,1)2m=122m=12, m=6m=6, 짝짓기 가짓수 11!!=1039511!!=10395, 특정 짝의 확률 1/111/11. 쌍 기대 합 55/11=5.055/11=5.0(항등식 (14434)/2=55(144-34)/2=55), 자기고리 기대 0.5455/0.2727/0.0909/0.0909/0의 합이 1.0 → 둘을 합치면 정확히 m=6m=6. 모듈러리티 기대 간선은 정확 12/1112/11 vs 근사 12/1212/12로 오차 9.09%(가라테 0.645%, FMH 0.087%).didj/(2m)d_id_j/(2m) 근사의 오차는 mm이 작을수록 커진다 — 학급 자료에서 유의할 것.
230명 학급의 zz점수 — 군집계수 +0.80+0.80, 모둠 QQ +7.55+7.55, E-I 8.19-8.19, 차수동류성 0.49-0.49. 보고할 것은 둘(QQ, E-I), 보고하지 않을 것도 둘(군집계수, 동류성). "잘 뭉쳐 있네요?"라는 질문에는 "뭉침은 맞지만 이 반의 친구 수 분포에서 자연히 나오는 값"이라 답하고 곧바로 진짜 결과로 넘어간다.영 모형은 "무엇이 놀라운가"를 정해 준다. 놀랍지 않은 값을 결과로 보고하지 않는 것도 결과다.

푸는 순서 (How to Solve). ① 반쪽 간선을 2m2m개 만들고 짝짓기 가짓수 (2m1)!!(2m-1)!!를 센다. ② 특정 짝의 확률은 1/(2m1)1/(2m-1), 기대 간선은 didj/(2m)d_id_j/(2m). ③ 실제 지표를 zz점수로 바꿔 무엇을 보고할지 고른다. 영 모형은 반드시 sample_degseq(d, method="vl").

영 모형 표본은 sample_degseq(d, method="vl")로 뽑을 것. method="configuration" + simplify()는 다중 간선·자기고리를 지우면서 허브의 차수만 골라 깎아 가라테 78간선을 평균 66.09개로 줄인다(rr: 0.30110.1614-0.3011\to-0.1614, CC: 0.22380.16500.2238\to0.1650). 그 결과 가라테 군집계수가 "유의"로 뒤집힌다 — 옳은 쪽은 vl(z=1.23z=1.23, 유의하지 않음)이다.

7. 5단계 — 통계 모형 (Stage 5 — Statistical Models)

단원 5-1 — 확률분포로서의 네트워크 (A Network as a Probability Distribution) 원 노트 →

문항핵심 답이 문항의 요점
1가라테 θ^=log(78/483)=1.8233078\hat\theta=\log(78/483)=-1.8233078, SE 0.1220, z=14.94z=-14.94. Knoke는 +0.1782+0.1782양수다 — 밀도가 0.5를 넘기 때문.edges 계수는 logit(밀도)\mathrm{logit}(\text{밀도})다. 부호는 "관계가 많다/적다"가 아니라 "밀도가 0.5보다 큰가"를 말한다.
25명 4간선 → N=10N=10, Nm=6N-m=6, p=0.4p=0.4, θ^=log(2/3)=0.4055\hat\theta=\log(2/3)=-0.4055, I=2.4I=2.4, SE 0.6455, z=0.6281z=-0.6281. "유의한 관계가 없다"고 보고하면 안 된다 — 검정 가설이 "밀도가 0.5인가"이고 edges는 회귀의 절편이기 때문. 두 학급 비교는 z=0.65z=0.65, p=0.52p=0.52이고, 밀도는 A반 20.0% vs B반 18.1%인데 평균 차수는 B반 5.6 > A반 4.8(NN이 300 vs 496).밀도가 낮은 반이 친구는 더 많을 수 있다 — 분모가 n2n^2로 커지기 때문. 학급 크기가 다르면 밀도로 비교하지 않는다.

푸는 순서 (How to Solve). ① 쌍 수 N=(n2)N=\binom n2, 간선 mm. ② θ^=logmNm\hat\theta=\log\dfrac{m}{N-m}밀도의 로짓일 뿐이다. ③ SE=1/m+1/(Nm)\mathrm{SE}=\sqrt{1/m+1/(N-m)}. zz가 검정하는 가설은 "관계가 있다"가 아니라 "밀도가 0.5다"임을 반드시 밝힐 것.

단원 5-2 — 지수족과 정규화 상수 (The Exponential Family and the Normalizing Constant) 원 노트 →

문항핵심 답이 문항의 요점
1κ(1,2)=1+3e1+3e2+e1=2.8775236\kappa(-1,2)=1+3e^{-1}+3e^{-2}+e^{-1}=2.8775236. 확률은 0.3475210 / 0.1278458×30.1278458\times3 / 0.0470319×30.0470319\times3 / 0.1278458이고 합이 1. 삼각형이 있는 그래프의 배율은 6.5722로 e2=7.3891e^2=7.3891아니다(κ\kappa가 함께 커지므로). 빈 그래프 확률은 0.3907→0.3475로 오히려 준다. "삼각형 = 간선 1개"가 되는 조건은 2θ1+θ2=02\theta_1+\theta_2=0.eθe^{\theta}는 "다른 것이 다 같을 때"의 배율이다. 전체 확률은 κ\kappa를 통해 모두 연동된다.
2n=4n=4에서 간선 수별 그래프는 1,6,15,20,15,6,1(합 64). 삼각형까지 나누면 1,6,15,16,4,3,12,6,1(합 64)이고 삼각형이 있는 그래프는 23개. θ2=0\theta_2=0이면 κ\kappa(1+eθ1)6(1+e^{\theta_1})^6로 접힌다. κ(0.5,0.8)=23.3949565\kappa(-0.5,0.8)=23.3949565, P(K4)=0.0522080P(K_4)=0.0522080, P(C4)=0.0057848P(C_4)=0.0057848, P(paw)=0.0128743P(\text{paw})=0.0128743이고 paw/C4=e0.8=2.2255C_4=e^{0.8}=2.2255.κ\kappa가 곱으로 접히는 것이 쌍 독립의 정확한 뜻이다. 삼각형 항이 들어오면 접히지 않는다.

푸는 순서 (How to Solve). ① 그래프를 전부 나열하고 각각의 exp(θTg(y))\exp(\theta^{\mathsf T}g(y))를 적는다. ② 더한 것이 κ\kappa, 나눈 것이 확률 — 합이 1인지로 검산한다. ③ 간선 항만 있으면 κ=(1+eθ1)N\kappa=(1+e^{\theta_1})^N으로 곱으로 접히고, 삼각형 항이 들어오면 접히지 않는다.

단원 5-3 — 조건부 로그오즈와 변화통계량 (Conditional Log-Odds and Change Statistics) 원 노트 →

문항핵심 답이 문항의 요점
17명 MPLE는 θ^1=log(1/4)=1.3862944\hat\theta_1=\log(1/4)=-1.3862944, θ^2=log(24/5)=+1.5686159\hat\theta_2=\log(24/5)=+1.5686159 — 공통 친구 하나가 확률을 1/51/5에서 6/110.5456/11\approx0.545로(오즈 4.8배) 올린다. 다리 간선 3–4·4–5는 δ=0\delta^\triangle=0으로 간선 8개 중 이 둘뿐인데, 끊으면 4번이 완전히 고립되고 학급이 두 덩어리가 된다.모형이 가장 낮게 보는 간선이 현장에서 가장 중요한 간선일 수 있다.
2edges-only에서 logPL=θ1mNlog(1+eθ1)\log\mathrm{PL}=\theta_1 m-N\log(1+e^{\theta_1})이므로 θ^1=logit(밀도)\hat\theta_1=\mathrm{logit}(\text{밀도})이고 MLE와 글자까지 같다(쌍이 독립이므로). 삼각형이 들어가면 "같은 증거를 여러 번 세는" 문제가 생긴다. 7명 edges-only는 log(8/13)=0.4855078\log(8/13)=-0.4855078(확률 0.381)인데, 삼각형을 넣으면 θ1\theta_1의 뜻이 "공통 친구가 없는 쌍의 기준 확률"로 바뀌어 0.381→0.200이 된다.계수의 은 함께 넣은 항에 따라 달라진다. 모형이 바뀌면 같은 이름의 계수도 다른 수다.

푸는 순서 (How to Solve). ① 쌍마다 변화 통계량 δij\delta_{ij}를 구한다(삼각형이면 공통 친구 수). ② δ\delta가 같은 쌍끼리 묶어 2×22\times2로 접는다. ③ 무리별 적합 확률을 로짓으로 바꿔 계수를 읽는다. logPL\log\mathrm{PL}은 쌍이 독립일 때만 진짜 로그가능도와 같다.

단원 5-4 — 동질성: nodematch (Homophily: the nodematch Term) 원 노트 →

문항핵심 답이 문항의 요점
18명에서 N=13N_{같}=13, N=15N_{다}=15, m=7m_{같}=7, m=1m_{다}=1(비간선 6·14). θ^1=log(1/14)=2.6391\hat\theta_1=\log(1/14)=-2.6391, θ^1+θ^2=log(7/6)=0.1542\hat\theta_1+\hat\theta_2=\log(7/6)=0.1542이므로 θ^2=log(49/3)=2.7932\hat\theta_2=\log(49/3)=2.7932, 오즈비 16.33. EI=0.75EI=-0.75와 회수 공식이 정확히 맞고, 기준선 +0.0714+0.0714에서 낙차가 0.8214-0.8214.ERGM의 nodematch와 E-I 지수는 같은 자료를 다른 눈금으로 읽은 것이다.
210명(8:2)에서 EI=0.0588EI=-0.0588이라 "약한 동질성"처럼 보이지만 θ^1=0\hat\theta_1=0, θ^2=log0.45=0.7985\hat\theta_2=\log 0.45=-0.7985이질성이다(같은 집단 0.310 vs 다른 집단 0.500). 원인은 기준선이 0.2889-0.2889라는 것. z=1.245z=-1.245, p=0.213p=0.213, 오즈비 95% CI [0.128,1.581][0.128,1.581] → "작년 반 편성이 영향을 준다는 증거가 없다".집단 크기가 치우치면 EIEI의 부호만으로 동질성을 말할 수 없다. 기준선을 먼저 계산한다.

푸는 순서 (How to Solve). ① 쌍을 같은 집단/다른 집단으로 갈라 N,N,m,mN_{같}, N_{다}, m_{같}, m_{다}를 센다. ② θ^1=logit(m/N)\hat\theta_1=\mathrm{logit}(m_{다}/N_{다}), θ^1+θ^2=logit(m/N)\hat\theta_1+\hat\theta_2=\mathrm{logit}(m_{같}/N_{같}). ③ eθ2e^{\theta_2}가 오즈비. E-I와 부호가 어긋날 수 있다 — 기준선이 다르기 때문.

단원 5-5 — 활동성과 차이 효과 (Activity and Difference Effects) 원 노트 →

문항핵심 답이 문항의 요점
1d=(2,2,3,2,2,2,2,1)d=(2,2,3,2,2,2,2,1), gAfactor=11g^{factor}_A=11, gBfactor=5g^{factor}_B=5, 합 16 =2m=2m(공선성 항등식). LAA=0L_{AA}=0, LBB=log2=0.6931472L_{BB}=\log 2=0.6931472, L교차=log(1/14)=2.6390573L_{교차}=\log(1/14)=-2.6390573θe=2.9856309\theta_e=-2.9856309, θm=+2.9856309\theta_m=+2.9856309, θf(B)=+0.3465736\theta_f(B)=+0.3465736. θm\theta_m이 2.7932→2.9856(오즈비 16.33→19.80)로 커진다.작은 집단이 상대적으로 활발하면, 활동성을 통제할 때 동질성 계수는 오히려 커진다.
2스마트폰 x=(1,5,2,6,3,7)x=(1,5,2,6,3,7)gcov=43g^{cov}=43, gabs=19g^{abs}=19(전체 xixj=44\sum|x_i-x_j|=44). 간선 쪽 평균 차이 3.167 > 비간선 2.778로 독서량 사례(1.833 < 4.667)와 반대. θabs=+0.1501\theta_{abs}=+0.1501(1.1620배)로 이질성이지만 p=0.648p=0.648.부호가 반대로 나오는 것은 잘못이 아니다 — 그러나 6명 자료에서는 유의하지 않다.

푸는 순서 (How to Solve).nodefactor집단별 차수 합이므로 두 집단 값을 더하면 2m2m이 된다(공선성 → 한쪽은 기준으로 뺀다). ② 쌍의 종류를 AA·BB·교차로 갈라 각각 로짓을 구하고 연립한다. ③ absdiffA[i,j]xixj\sum A[i,j]|x_i-x_j|간선 쪽 평균 차이와 비간선 쪽을 견주면 부호가 먼저 보인다.

단원 5-6 — 전이성과 모형 퇴화 (Transitivity and Model Degeneracy) 원 노트 →

문항핵심 답이 문항의 요점
1κ\kappa 참값 23.3950 vs 곱 형태 17.1923(36% 어긋남). 퇴화한 분포는 평균 10.5인데 최빈이 완전망 21(확률 0.2532)인 이봉 분포P(5)=0.4750P(\le5)=0.4750, P(16)=0.3987P(\ge16)=0.3987, P(9 ⁣ ⁣12)=0.0288P(9\!\sim\!12)=0.0288이라 "평균 10.5는 아무도 살지 않는 주소". 증상은 Post-burnin sample is constant. δgwesp\delta^{gwesp}는 2.393으로 triangle의 3.000보다 작다(세 번째가 τ=0.393\tau=0.393으로 깎임). FMH를 쌍 독립으로 모의하면 삼각형 평균 2.01(0~5) vs 관측 169로 z=120.23z=120.23인데, gwesp를 넣으면 156.01(118~196), z=0.71z=0.71.triangle 항은 "많을수록 더 좋다"는 되먹임을 만든다. gwesp는 그 되먹임에 수확 체감을 넣어 끊는다.
27명 9간선 — 공통 친구 p=(1,1,2,1,1,0,1,1,1)p=(1,1,2,1,1,0,1,1,1), T=3T=3({1,2,3},{2,3,4},{5,6,7}), EP0=1EP_0=1, EP1=7EP_1=7, EP2=1EP_2=1(검산 EPk=9=m\sum EP_k=9=m, kEPk=9=3T\sum k\,EP_k=9=3T), v0.5=8.3934693v_{0.5}=8.3934693(α=0\alpha=0이면 8, α\alpha\to\infty면 9). 쌍 (1,4)는 p=2p=2, δtri=2\delta^{tri}=2, δgwesp=2.9673467\delta^{gwesp}=2.9673467; 쌍 (2,5)는 p=1p=1, δtri=1\delta^{tri}=1, δgwesp=2.3934693\delta^{gwesp}=2.3934693 → triangle 2.000배 vs gwesp 1.240배. 20명에서 θe=2.5\theta_e=-2.5면 퇴화 임계값 θt=3θe/(n2)=0.4166667\theta_t^*=-3\theta_e/(n-2)=0.4166667이고 θt=0.5\theta_t=0.5면 완전망 지수가 +95+95(e95=1.81×1041e^{95}=1.81\times10^{41}배)라 완전망만 나온다. 34명이면 0.234375.임계값이 1/(n2)1/(n-2)로 줄어든다 — 망이 클수록 triangle은 더 위험하다.

푸는 순서 (How to Solve). ① 간선인 쌍마다 공통 친구 수 pijp_{ij}를 세고 EPkEP_k 분포를 만든다. ② kEPk=m\sum_k EP_k=m, kkEPk=3T\sum_k k\,EP_k=3T로 검산. ③ gwesp의 무게는 w(p)=eα(1(1eα)p)w(p)=e^{\alpha}\big(1-(1-e^{-\alpha})^{p}\big). 퇴화 임계는 θt=3θe/(n2)\theta_t^{*}=-3\theta_e/(n-2)학급이 클수록 임계가 낮다.

단원 5-7 — MCMC 추정과 적합도 검정 (MCMC Estimation and Goodness of Fit) 원 노트 →

문항핵심 답이 문항의 요점
1Metropolis 세 걸음 — 걸음 1 (2,3) 켜기, p=1p=1, 지수 +0.3+0.3, r=1.3498588r=1.3498588, a=1a=1 → 수락(간선 3·삼각형 1). 걸음 2 (1,2) 끄기, p=1p=1, 0.3-0.3, r=a=0.7408182r=a=0.7408182, u=0.91u=0.91 → 기각. 걸음 3 (3,4) 켜기, p=0p=0, 0.5-0.5, r=a=0.6065307r=a=0.6065307, u=0.42u=0.42 → 수락(간선 4·삼각형 1).같은 쌍을 같은 방향으로 바꿔도 pp(공통 친구 수)가 다르면 수락확률이 다르다 — 이것이 의존성이다.
2중요도 표집 지수 0.6,0.4,0.8,0.6,1.2-0.6,-0.4,-0.8,-0.6,-1.2log[κ/κ0]0.6857877\log[\kappa/\kappa_0]\approx-0.6857877, 0+0.0857877>0\ell-\ell_0\approx+0.0857877>0이라 "새 모형이 낫다"는 틀린 결론이 나온다. 참 평균은 E[간선]=2.8618E[\text{간선}]=2.8618, E[삼각형]=0.6568E[\text{삼각형}]=0.6568인데 표본 평균이 3.6·1.2(간선을 0.74개 과대표집), 정확값은 0.0721-0.0721.표본 5개로는 κ\kappa 비를 추정할 수 없다. MCMC 진단을 건너뛰면 이런 부호 뒤집힘을 못 본다.
3담임이 자랑한 pp 0.97~0.99 세 칸은 전부 모형 통계량이라 적률 방정식 때문에 어떤 모형이든 통과한다. 진짜 문제는 차수 0(관측 3명 vs 모의 0.4명, p=0.01p=0.01)이고, 차수 1은 2 vs 1.9로 잘 맞는다. 처방은 isolates / degree(0) / gwdegree를 넣고 gof()·mcmc.diagnostics()를 다시 돌리는 것."친구가 적은 것"과 "아예 없는 것"은 별개의 현상이다. gof는 모형에 넣지 않은 칸만 정보를 준다.

푸는 순서 (How to Solve). ① 걸음마다 ① 켜는가 끄는가 ② 그 쌍의 공통 친구 수 ③ 지수 Δ=θTδ\Delta=\theta^{\mathsf T}\delta 를 적는다. ② r=e±Δr=e^{\pm\Delta}, 수락확률 a=min(1,r)a=\min(1,r). ③ gof 표에서는 모형 통계량 칸의 pp는 무조건 좋게 나온다 — 차수·ESP·거리처럼 모형에 안 넣은 칸만 증거로 쓴다.

단원 5-8 — QAP 로지스틱과 실전 종합 (QAP Logistic Regression and Putting It Together) 원 노트 →

문항핵심 답이 문항의 요점
17명에서 β^0=2.3979\hat\beta_0=-2.3979, β^1=3.0910\hat\beta_1=3.0910(오즈비 22), SE 1.2613, Wald p=0.0143p=0.0143. 순열은 35가지뿐이고 정확 QAP p=2/35=0.0571p=2/35=0.0571로 Wald의 4배 — 7명 학급에서는 QAP로 5% 유의가 원리상 불가능하다. 두 방법의 평균은 둘 다 3인데 sdQAP=1.17108\mathrm{sd}_{QAP}=1.17108 vs sd고전=1.09545\mathrm{sd}_{고전}=1.09545(1.069배; zz 2.5617 vs 2.7386). 6명 예제 1.157배, 가라테 1.271배.QAP가 잡는 것은 평균이 아니라 흔들림의 폭이다. 표본이 작으면 최소 pp 자체가 바닥에 걸린다.
2FMH 오즈비는 학년 4.54→3.15(30.7%-30.7\%, 계수 차 0.3664-0.3664), 인종 3.29→2.47(25.0%-25.0\%, 차 0.2874-0.2874). 계수 감소율이 둘 다 24%-24\%였던 것은 우연이다. 남–남 오즈는 0.744→0.877배로 "25.6% 낮다"가 "12.3% 낮다"가 되고, pp가 0.00018→0.023 → Bonferroni 0.05/7=0.00710.05/7=0.0071이면 유의하지 않다.전이성을 넣으면 계수는 대체로 0 쪽으로 줄어든다 — 삼각형이 설명하던 몫을 되돌려받기 때문.
3+gwesp를 보고할 근거 세 가지 — ① gof(쌍 독립 모형은 삼각형 평균 1.89, z=119z=119, 차수 8칸 중 7칸이 어긋남) ② AIC 12952→12050 ③ 계수 이동 자체. 단 "이 학교를 잘 재현한다"고 말하면 안 된다(ESP≥2 관측 83/24/8 vs 모의 31.6/2.5/0.1, 거리 3~14 미재현). 1종 오류 실험은 이름표까지 섞었으므로 설계는 옳지만 한 가지 자료 구조에서만 확인했다(허브 있음 12.6% / 허브 없음 4.0% / 노드 속성 2.6%). 확인해야 할 것은 "내 자료의 TT가 고전 가정보다 넓게 흔들리는가"인데, 그것은 실험이 아니라 QAP 그 자체다.모형이 통과한 영역과 실패한 영역을 함께 적는다. "좋아졌다"와 "맞다"는 다른 주장이다.

푸는 순서 (How to Solve). ① 쌍을 관측치로 놓고 2×22\times2 표를 만든다 — β^1\hat\beta_1로그 오즈비. ② SE=1/n\mathrm{SE}=\sqrt{\sum 1/n_{\text{칸}}}, Wald zz. ③ 작은 학급은 순열이 (nn1)\binom n{n_1}가지뿐이므로 combn()으로 정확 QAP pp를 직접 센다netlogit()pgreq를 믿지 말 것.

8. 다섯 단계를 관통하는 여섯 가지 교훈 (Six Lessons Across All Stages)

① 값이 안 변해도 처지는 나빠진다.
근접 중심성 0.4를 그대로 지킨 S7이 공동 4위에서 단독 7위로 밀렸고(2-2), 매개 9를 갖고 있던 S4가 남이 허브가 되자 0으로 떨어졌다(2-3). 학생 개인에게 "네 점수는 그대로다"라고 말하는 것은 위로가 되지 않는다 — 순위는 남이 정한다.
② 지표는 반드시 기준선과 함께 읽는다.
E-I는 EIexpEI^{exp}와의 낙차로(3-7), 모듈러리티는 영 모형과의 zz로(4-8), 군집계수는 배열 모형 표본과 비교해서(4-3, 4-8), γ\gamma는 무작위 200회의 범위와 대조해서(4-5) 읽는다. 5단계의 nodematch도 결국 "기준선 +0.0714+0.0714에서 낙차 0.8214-0.8214"라는 같은 문장이다(5-4). 기준선 없는 숫자는 결과가 아니다.
③ 요약 지표 하나로 결론 내지 않는다.
거리 분포가 크게 개선돼도 지름은 3으로 불변이었고(1-9), 강한 컴포넌트는 그대로인데 약한 것만 늘었으며(1-7), 간선을 더했는데 평균거리가 커지고(1-6) 중심화는 떨어졌다(2-1). 투영 밀도 1.0은 큰 활동 하나가 만든 값이었고(3-6), gof의 높은 pp는 그 칸이 모형 통계량이라서였다(5-7).
④ 같은 수를 재는 두 개의 자를 늘 확인한다.
RI vs ARI(3-8), 교과서 재배선 공식 vs igraph 구현(4-4), MPLE vs MLE(5-3), 고전 표준오차 vs QAP 순열 분포(5-8), triangle vs gwesp(5-6). 어느 쪽이 맞느냐가 아니라 내가 어느 자를 쓰고 있는지 알고 쓰느냐가 문제다.
⑤ 모형이 통과한 영역 안에서만 믿는다.
차수 0 칸이 어긋난 모형은 "고립 학생"에 대해 아무 말도 할 수 없고(5-7), ESP≥2를 재현하지 못한 모형은 "이 학교를 재현한다"고 말할 수 없다(5-8). 높은 R2R^2는 경쟁 모형과 붙이기 전까지 증거가 아니다(4-7).
⑥ 작을수록 편향이 크다 — 그리고 우리 반은 작다.
모듈러리티의 차수 균형 편향이 가라테에서는 +0.000329+0.000329(넷째 자리)인데 10명 망에서는 +0.0247+0.0247(둘째 자리)였고(3-8), 배열 모형 근사 오차는 FMH 0.087% · 가라테 0.645% · 5명 예제 9.09%였다(4-8). QAP는 7명에서 최소 pp2/35=0.05712/35=0.0571이라 5% 유의가 아예 불가능했다(5-8). 학급 자료(25~30명)는 큰 망에서 무시하던 편향이 전부 살아 있는 크기다.

9. 되풀이해 나온 함정 목록 (Recurring Pitfalls)

함정무슨 일이 일어나는가처음 만난 곳
d=2E\sum d = 2E차수 합을 간선 수로 착각하면 밀도가 두 배가 된다.단원 1-5
걷기 ≠ 경로AkA^k는 되돌아오기를 포함해 세므로 값이 부풀려진다.단원 1-3
∞가 평균에 섞임도달 불가 쌍이 계산에 들어오면 간선을 더해도 평균거리가 커진다.단원 1-6
가중 근접이 1을 넘음가중 거리는 0~1 정규화가 성립하지 않는다.단원 2-5
가라테 자료 오류karate_net.txt9 33 중복 · 9 31 누락. add_edges(..., c(9,31))로 복원해야 4-클리크 {9,31,33,34}가 산다.단원 3-1
RI로 조 편성 비교"둘 다 다른 조" 쌍을 공짜로 세어 0.74처럼 보이게 한다. ARI는 0.48.단원 3-8
sample_smallworld()간선이 아니라 양 끝점을 각각 재배선 → 생존이 (1p)2(1-p)^2. 교과서식으로 pp를 역산하면 약 2배가 된다.단원 4-4
fit_power_law()p.value 기본값이 FALSE$KS.p가 빈 채로 나온다.단원 4-5
sample_pa()zero.appeal 기본값이 1이라 순수 BA가 아니다(γ=3+A/m\gamma=3+A/m). 순수 BA는 zero.appeal=0을 명시.단원 4-6
sample_pa_age(aging.exp=0)BA로 환원되지 않는다(β0.637\beta\approx0.637, γ2.57\gamma\approx2.57). 노화 그림의 기준선은 자기 자신으로 잡는다.단원 4-7
method="configuration" + simplify()허브의 차수만 골라 깎여 결론이 뒤집힌다. 영 모형은 method="vl".단원 4-8
cluster_louvain()QQ실행마다 다르다(가라테 0.392~0.420). 노트 기재에는 결정적 분할을 쓴다.단원 4-8
edges 계수의 부호"관계가 적다"가 아니라 "밀도가 0.5보다 작다". 유의성 보고 금지.단원 5-1
triangle 항θt=3θe/(n2)\theta_t^*=-3\theta_e/(n-2)를 넘으면 완전망으로 붕괴. 망이 클수록 위험.단원 5-6
gof의 높은 pp모형 통계량 칸은 적률 방정식 때문에 자동으로 통과한다 — 정보가 없다.단원 5-7
sna::netlogit()pgreq작은 망에서 부동소수점 동점 처리 때문에 정확 순열 pp와 어긋난다(7명에서 0.0337 vs 정확 0.0571). combn()으로 직접 셀 것.단원 5-8
QAP 1종 오류 실험sample_degseq()만 쓰면 허브 위치가 공유돼 참 효과가 0이 아니다. p <- sample(n); B <- B[p,p]로 이름표까지 섞을 것.단원 5-8
네임스페이스 가림sna/networkigraph가 서로 함수명을 가린다. 항상 igraph::degree()처럼 지정.전 단계

10. 우리 반에 그대로 쓰는 점검표 (A Checklist for Your Own Class)

0. 자료 만들기. 지명 목록 → 인접행렬. 방향인가 무방향인가, 가중치가 있는가를 먼저 정하고 적어 둔다. 같은 자료도 대칭화 여부에 따라 밀도·컴포넌트·중심성이 전부 달라진다(1-5, 1-7, 1-8).
1. 기초(1단계). 밀도 · 평균 차수 · 컴포넌트 수 · 고립 학생 명단 · 지름과 평균거리. 학급 크기가 다른 반과 비교할 때는 밀도가 아니라 평균 차수를 쓴다(5-1).
2. 사람 보기(2단계). 연결정도 · 근접 · 매개를 함께 계산하고, 절단점을 따로 뽑는다. 셋의 순위가 엇갈리는 학생이 이야깃거리가 있는 학생이다(2-6). 매개가 큰 학생이 결석하면 반이 갈라진다(2-1).
3. 구조 보기(3단계). 커뮤니티 탐지 → QQ → 실제 모둠과의 ARI(RI 금지) → E-I와 EIexpEI^{exp}의 낙차. 개인 EIiEI_i는 차수와 함께 보고 다리 후보를 고른다(3-7). 학급이 작으므로 QQ의 차수 균형 편향을 유념한다(3-8).
4. 기준선 잡기(4단계). sample_degseq(d, method="vl")로 500표본을 뽑아 군집계수 · 동류성 · 모둠 QQ · E-I의 zz점수를 낸다. z<2|z|<2인 지표는 "이 반의 친구 수 분포에서 자연히 나오는 값"이므로 결과로 보고하지 않는다(4-8).
5. 설명하기(5단계). ERGM edges + nodematch(성별·모둠) + gwesp로 시작하고, mcmc.diagnostics()gof() 순으로 확인한다. 차수 0 칸이 어긋나면 isolates를 넣는다(5-7). 회귀식 하나만 필요하면 QAP 로지스틱으로 충분하다(5-8).
6. 보고하기. 값 하나가 아니라 값 + 기준선 + 낙차를 쓴다. 모형이 통과한 칸과 실패한 칸을 함께 적는다. 순위 변화를 말할 때는 값도 같이 적는다.

11. 마무리 (Closing)

노트 39개, 연습문제 79문항, 소문항 113개로 1단계부터 5단계까지를 마쳤다. 인접행렬 한 칸의 뜻에서 시작해 ERGM의 정규화 상수와 QAP 순열 분포까지 왔고, 그 사이의 모든 계산은 손으로 한 번, R로 한 번 확인했다.

이 커리큘럼이 실제로 가르친 것은 지표 목록이 아니라 한 문장의 습관이다 — "이 값은 무엇과 비교한 값인가?"
1단계에서는 다른 학생과, 2단계에서는 다른 지표와, 3단계에서는 실제 모둠과, 4단계에서는 영 모형과, 5단계에서는 모형이 못 맞춘 칸과 비교했다. 비교 대상 없이 나온 숫자는 다섯 단계 어디에서도 결과가 된 적이 없다.