오늘 배우는 것 한 줄 요약
4단계에서 우리는 망을 만들어 놓고 실제와 대조했다. 배열 모형 500표본을 돌려
z=1.23 같은 숫자를 얻고 "차수로는 설명 안 된다"까지 말했다.
5단계는 방향이 한 번 더 바뀐다. 실제 망을 데이터로 두고, 그 망이 나올 확률을 모형으로 쓴 뒤
모수를 추정한다. 그러면 "다르다/같다"가 아니라
"얼마나 다른가"를 계수와 표준오차로 말할 수 있다.
오늘 다루는 모형은 항이 하나뿐인 가장 단순한 ERGM —
y ~ edges — 이고, 놀랍게도 그 계수는 손으로 계산된다.
정확히 밀도의 로짓이다. 가라테는 θ^=log48378=−1.8233.
1. 오늘의 질문: z점수 다음에 무엇이 오는가 (From z-Scores to Estimation)
4-8에서 우리가 한 일을 다시 보자. 가라테의 군집계수 0.2557을 놓고 배열 모형 500표본을 돌려
평균 0.2238, 표준편차 0.0259를 얻었고 z=1.23이라고 결론지었다.
FMH의 Q는 z가 100을 훌쩍 넘었다.
이 방식으로 답할 수 있는 질문은 딱 한 가지 모양이다.
4단계가 답한 질문
"관측값이 영 모형의 분포 안에 들어가는가, 벗어나는가?"
→ 답은 예/아니오다. 벗어난다면 "이 지표는 우연이 아니다"까지.
그런데 담임이 실제로 묻고 싶은 것은 이런 모양이 아니다.
"성별이 같으면 친구가 될 확률이 몇 배나 높아지나요?"
"성별 효과와 학년 효과 중 어느 쪽이 더 센가요?"
"학년이 같은 걸 고려하고 나서도 성별이 여전히 영향을 주나요?"
이 질문들에는 공통점이 있다. 효과의 크기를 묻고, 여러 요인을 동시에 놓고 묻는다.
회귀분석이 하는 일이다. 그런데 우리에게는 회귀분석에 넣을 "관측 단위"가 애매하다.
학생 34명이 관측 단위인가? 아니면 간선 78개가?
ERGM의 대답: 관측 단위는 망 전체 하나다.
우리 반 친구관계망은 표본 크기 1의 데이터점이고,
ERGM은 "이 망 하나가 나올 확률"을 모형으로 쓴다.
그리고 그 확률을 최대로 만드는 모수를 찾는다.
오늘은 이 틀을 세우고, 항이 하나뿐인 가장 단순한 경우를 끝까지 손으로 푼다.
손으로 풀 수 있는 ERGM은 사실상 오늘 것뿐이다 —
5-2에서 보게 되듯, 항이 두 개만 되어도 손 계산이 불가능해진다.
그래서 오늘 계산해 보는 이 한 번이 계수가 무엇인지를 붙잡는 유일한 기회다.
2. 표본 공간 — 그래프 하나가 아니라 그래프 전부 (The Sample Space of Graphs)
확률 분포를 세우려면 먼저 "무엇들 위의 분포인가"를 정해야 한다.
동전이면 {앞,뒤}, 주사위면 {1,…,6}이다. 네트워크는?
표본 공간 Y: 정점 n개를 고정하고, 그 위에 그릴 수 있는
모든 그래프의 집합.
정점이 n개면 간선을 놓을 수 있는 자리(쌍, dyad)의 개수는
N=⎩⎨⎧2n(n−1)n(n−1)무방향방향
이고 — 1-5에서 밀도의 분모로 쓴 바로 그 수다 — 각 자리마다 간선이 있거나 없거나 두 가지이므로
∣Y∣=2N
가라테는 n=34이므로
N=234×33=21122=561,∣Y∣=2561≈7.548×10168
이 수의 크기: 관측 가능한 우주의 원자 수가 약 1080개다.
10168은 그것을 제곱한 것보다 크다.
FMH(n=1461)는 N=1,066,530이고 ∣Y∣=21066530,
자릿수로 321,058자리다.
→ 표본 공간을 다 훑는 계산은 영원히 불가능하다. 이 사실이 5-2(정규화 상수)와
5-7(MCMC 추정)의 존재 이유 전부다.
우리가 관측한 가라테 망 yobs는 이 7.5×10168개 중 하나다.
모형이 할 일은 이 방대한 집합 위에 확률을 뿌리되,
실제로 본 그 하나에 최대한 큰 확률이 가도록 뿌리는 것이다.
표기를 정해 두자.
기호
뜻
Y
확률변수로서의 네트워크 (아직 안 뽑은 것)
y
실현값 — 실제로 관측한 우리 반 망 (인접행렬 하나)
Yij
쌍 {i,j}에 간선이 있는지 나타내는 0/1 확률변수
m(y)
망 y의 간선 수 — y에서 계산해 내는 숫자(통계량)
N
쌍의 개수 (무방향 n(n−1)/2, 방향 n(n−1))
3. 정의 — 베르누이 그래프를 확률 분포로 쓰기 (The Bernoulli Graph as a Distribution)
가장 단순한 가정에서 출발한다. 4-1의 G(n,p)를 그대로 가져오되,
이번에는 "망을 만드는 절차"가 아니라 "망 하나에 확률을 매기는 식"으로 읽는다.
가정 (베르누이 그래프)
① 모든 쌍은 서로 독립이다.
② 모든 쌍이 간선을 가질 확률은 같은 p다.
그러면 특정 망 y 하나가 나올 확률은 쌍마다의 확률을 전부 곱한 것이다.
P(Y=y)=i<j∏pyij(1−p)1−yij
지수에 yij를 올린 이 표기가 낯설면, 두 경우를 대입해 보면 된다.
yij
pyij
(1−p)1−yij
곱
뜻
1
p1=p
(1−p)0=1
p
간선이 있으니 p를 곱한다
0
p0=1
(1−p)1=1−p
1−p
간선이 없으니 1−p를 곱한다
3-1. n=3에서 전부 써 보기 (Writing Out Every Graph on Three Nodes)
정점 3개면 쌍은 {1,2},{1,3},{2,3} 세 개, 그래프는 23=8개다.
그중 "1–2와 1–3만 있는" 망 y⋆의 확률을 인수 세 개를 모두 쓰면
결정적인 관찰: 이 확률은 y의 모양에 전혀 의존하지 않는다.
오직 간선 수 m(y) 하나로 결정된다.
간선 78개짜리 가라테 망과, 간선 78개를 완전히 다르게 배치한 어떤 망이든
이 모형에서는 확률이 똑같다.
→ 그래서 이 모형은 밀도 말고는 아무것도 모른다. 4-3에서 G(n,p)가
거리는 맞히고 뭉침은 못 맞혔던 이유가 이 한 줄에 다 들어 있다.
4. 지수족 형태로 바꾸기 (Rewriting in Exponential-Family Form)
pm(1−p)N−m를 그대로 두면 회귀처럼 다룰 수가 없다.
p는 [0,1]에 갇혀 있어서 "효과를 더한다"는 말이 성립하지 않기 때문이다.
그래서 형태를 바꾼다. 대수적 변형일 뿐, 모형은 그대로다.
g1은 간선 수, g2는 "성별이 같은 간선 수", g3은 "삼각형 수" 같은 식이다.
5-4부터 이 항들을 하나씩 붙인다. 오늘은 g1 하나뿐인 경우다.
4-1. 정규화 상수를 손으로 — n=3의 그래프 8개 (The Normalizing Constant by Hand)
κ(θ)는 "분자를 표본 공간 전체에 대해 합한 것"으로 정의된다.
κ(θ)=y∈Y∑exp{θm(y)}
n=3이면 Y에 그래프가 8개뿐이니 전부 나열할 수 있다.
#
간선 집합
m(y)
exp{θm(y)}
1
∅ (아무것도 없음)
0
e0=1
2
{12}
1
eθ
3
{13}
1
eθ
4
{23}
1
eθ
5
{12,13}
2
e2θ
6
{12,23}
2
e2θ
7
{13,23}
2
e2θ
8
{12,13,23} (삼각형)
3
e3θ
여덟 항을 하나도 빼지 않고 더하면
κ(θ)=1+eθ+eθ+eθ+e2θ+e2θ+e2θ+e3θ=1+3eθ+3e2θ+e3θ
계수 1,3,3,1은 (03),(13),(23),(33)이다 —
간선 수가 k인 그래프가 (kN)개이기 때문이다. 이항정리로 묶으면
κ(θ)=k=0∑3(k3)(eθ)k13−k=(1+eθ)3
N=3일 때 (1+eθ)N과 정확히 일치한다. §4의 유도가 맞았다는 뜻이다.
여기가 5단계 전체의 급소다.n=3이라 8항을 손으로 더할 수 있었고,
운 좋게 이항정리로 닫힌 식이 나왔다.
가라테는 7.5×10168항이다. 그런데도 닫힌 식 (1+eθ)561이 있는 이유는
통계량이 간선 수 하나뿐이라 쌍들이 독립이기 때문이다.
5-6에서 삼각형 항을 넣는 순간 쌍들이 얽히고, κ의 닫힌 식이 사라진다.
그때부터 MCMC가 필요하다(5-7). 오늘 계산이 손으로 끝나는 것은 오늘뿐인 특권이다.
5. 손 계산 ① 로그가능도를 미분한다 (Differentiating the Log-Likelihood)
이제 θ를 정한다. 기준은 최대가능도다 —
관측한 망 yobs가 나올 확률을 가장 크게 만드는 θ를 고른다.
확률에 로그를 씌운다(곱이 합이 되어 미분이 쉬워진다). m=m(yobs)로 줄여 쓰면
ℓ(θ)=logP(Y=yobs∣θ)=log(1+eθ)Neθm=θm−Nlog(1+eθ)
θ로 미분한다. 두 항을 따로 처리한다.
항
미분
근거
θm
m
m은 데이터에서 온 상수
−Nlog(1+eθ)
−N⋅1+eθeθ
연쇄법칙: dθdlogu=uu′, u=1+eθ, u′=eθ
합치면
dθdℓ=m−N1+eθeθ=m−Np(θ)
여기서 1+eθeθ=p(θ)는 §4에서 얻은 되돌리기 식 그대로다.
그런데 Np(θ)에는 더 중요한 정체가 있다.
Eθ[m(Y)]=i<j∑Eθ[Yij]=i<j∑p=Np
즉 Np(θ)는 이 모형이 만들어 내는 망의 평균 간선 수다. 그러므로
dθdℓ=관측한간선수m(yobs)−모형의평균간선수Eθ[m(Y)]
이것을 0으로 놓는 것이 최대가능도 조건이다.
적률 일치 조건 (Moment Matching)Eθ^[g(Y)]=g(yobs)"모형이 만드는 망들의 통계량 평균이, 관측한 망의 통계량과 정확히 같아지도록"
계수를 맞춘다. 이 조건은 edges-only뿐 아니라 모든 ERGM에서 성립한다.
5-7의 MCMC 추정은 결국 이 등식을 시뮬레이션으로 푸는 절차다.
정보량 = 통계량의 분산 m(Y)=∑i<jYij는 독립인 베르누이 N개의 합이므로
Var(m(Y))=Np(1−p)다.
즉 I(θ)=Varθ(m(Y)) — 4단계에서 영 모형을 500번 돌려
표준편차를 재던 그 값이 여기서는 공식으로 나온다.
그리고 SE(θ^)=1/I=1/sd(m(Y)).
모형이 만드는 망의 간선 수가 널뛸수록 계수는 정확해진다는,
처음 보면 거꾸로 같은 관계다(§10에서 그림으로 확인한다).
가라테 edges 항 정리θ^=−1.8233, SE=0.1220, z=−14.94, p-value<10−49.
그런데 이 z가 무엇을 검정한 것인지는 §13에서 따로 짚는다 — 거의 아무 의미 없다.
8. R 검증 ① ergm(karate ~ edges)(Verification I: Fitting the Edges-Only Model)
가라테 데이터는 CLAUDE.md의 지시대로 9–31 간선을 복원해서 쓴다.
library(ergm); library(intergraph)
kel <- as.matrix(read.table(sna_path("karate_net.txt")))
gk <- add_edges(simplify(graph_from_edgelist(kel, directed = FALSE)), c(9, 31))
fit <- ergm(asNetwork(gk) ~ edges)
summary(fit)$coefficients
Estimate Std. Error MCMC % z value Pr(>|z|)
edges -1.823307826 0.1220266856 0 -14.94187781 1.75946393e-50
값
손 계산
R
판정
θ^
−1.8233078
−1.8233078
소수 9자리까지 일치
SE
0.1220283
0.1220267
6번째 자리부터 다름 (아래 참조)
z
−14.9417
−14.9419
SE 차이가 그대로 전달됨
SE가 6번째 자리에서 다른 이유: 계수는 닫힌 식이라 정확하지만,
ergm은 표준오차를 의사가능도(MPLE)의 헤세 행렬을
수치적으로 계산한다. 그 과정의 수치 오차다(상대오차 1.3×10−5).
실무적으로 무시해도 되지만, "손 계산과 R이 완전히 같아야 한다"고 생각하면
디버깅에 시간을 쓰게 되므로 알아 둘 것.
8-1. 로그가능도도 손으로 맞는가 (Does the Log-Likelihood Match by Hand)
계수가 정확히 같다. 표준오차도 0.1220283으로 손 계산과 완전히 일치한다
(§8에서 ergm이 살짝 달랐던 값이 여기서는 맞는다).
ERGM을 이해하는 가장 쉬운 문장
ERGM은 "쌍(dyad)을 관측 단위로 하는 로지스틱 회귀"다.
반응변수는 "이 두 사람 사이에 간선이 있는가", 설명변수는 그 쌍의 성질이다.
그런데 이 문장은 오늘만 정확하다. 쌍들이 독립일 때만 성립하기 때문이다.
간선 항만 있으면 독립이지만, 5-6에서 삼각형 항을 넣으면
"1–2 간선이 생기는지"가 "1–3, 2–3이 있는지"에 의존하게 된다.
그때 로지스틱 회귀와의 등가는 깨지고, ERGM은 의사가능도(MPLE)가 아니라
MCMC로 추정해야 한다(5-7). z 값이 Pr(>|z|)과 함께 회귀표처럼 출력되는 것도 여기서 온 관행이므로,
독립이 깨진 모형에서는 그 p값을 액면 그대로 믿으면 안 된다.
10. R 검증 ③ 적률 일치 (Moment Matching)
§5에서 유도한 조건 Eθ^[m(Y)]=m(yobs)를
시뮬레이션으로 직접 확인한다. 추정한 모형에서 망을 2000개 뽑아 간선 수를 세면 된다.
모형이 만든 망 2000개의 간선 수. 빨간 선이 관측값 78, 초록 점선이 모형 평균 78.11.
항목
이론(손 계산)
시뮬레이션
평균 간선 수
Np=78 (정확히)
78.1065
표준편차
Np(1−p)=67.155=8.1948
8.2913
평균이 관측값 78에 맞춰졌다. 이것이 최대가능도가 한 일의 전부다.
표준편차의 작은 차이(8.195 vs 8.291)는 2000회 표본의 몬테카를로 오차다.
§7의 관계를 여기서 눈으로 확인한다
이 히스토그램의 폭이 sd(m(Y))=8.19이고,
계수의 표준오차는 그 역수1/8.19=0.122다.
히스토그램이 넓다 = 간선 수가 θ에 민감하게 반응한다
= θ를 조금만 틀려도 간선 수가 크게 어긋난다
= θ를 정밀하게 집어낼 수 있다.
동시에, 이 모형의 한계도 이 그림 안에 있다.
2000개 표본은 간선 수만 78 근처로 맞을 뿐,
군집계수는 4-7에서 이미 확인했듯 평균 0.1348로 실제 0.2557의 절반이다. 맞춘 통계량만 맞는다 — 이것이 ERGM의 근본 성질이고,
5-6에서 "왜 굳이 삼각형 항을 넣으려 하는가"의 이유가 된다.
11. 손 계산 ④ FMH — 밀도가 0.0009일 때 (FMH: A Very Sparse Network)
같은 계산을 극단적으로 희소한 망에 적용해 본다. FMH 고교: n=1461, m=974.
희소한 망에서는 오즈 ≈ 확률 p=0.00091324, 오즈 =0.00091408. 차이는 소수 일곱째 자리다.
이유: 오즈 =1−pp인데 p가 작으면 1−p≈1이므로
오즈 ≈p. 상대오차는 정확히 pp/(1−p)−p=1−pp≈p=0.091%.
→ 희소한 학급 망에서는 eθ를 그냥 확률로 읽어도 된다.
5-4의 오즈비 해석이 편해지는 것이 이 때문이다.
11-3. 표준오차 — n이 아니라 m이 결정한다 (Standard Error: m Decides It, Not n)
표준오차를 결정하는 것은 학생 수가 아니라 간선 수다.
FMH는 학생이 1461명이지만 친구관계는 974개뿐이다.
쌍은 106만 개나 되는데도 SE≈1/974로,
사실상 간선 974개만큼의 정보밖에 없다.
→ 교실 데이터를 모을 때 "학생 수를 늘리는 것"보다
"지명 개수를 늘리는 것"(3명 → 5명 지명)이 통계적 정밀도에 훨씬 크게 기여한다.
z=−6.9975960/0.0320567=−218.29. R로 확인하면
data(faux.magnolia.high)
summary(ergm(faux.magnolia.high ~ edges))$coefficients
Estimate Std. Error MCMC % z value Pr(>|z|)
edges -6.997595934 0.03205167606 0 -218.3223093 0
12. 손 계산 ⑤ 방향망 Knoke — 계수가 양수가 된다 (Directed Networks)
지금까지는 무방향이었다. 방향망에서는 N의 공식만 바뀐다 —
1-5에서 밀도를 다룰 때 이미 정리한 그대로다.
N=n(n−1)(2로나누지않는다: i→j와j→i는다른자리)
Knoke 정보 네트워크: n=10, 간선 49개(1-9에서 확인).
N=10×9=90,N−m=90−49=41p=9049=0.5444444
여기서 처음으로 밀도가 0.5를 넘는다. 계수를 계산하면
θ^=log4149=log(1.1951220)=+0.1782482
Knoke의 edges 계수는 양수다θ^=+0.1782. 지금까지 본 계수가 전부 음수였던 것과 대조된다.
이유는 단 하나: 밀도가 0.5보다 크기 때문이다.
조직 10개 사이의 정보 전달은 "안 하는 쪽이 기본"이 아니라 "하는 쪽이 기본"인 망이다.
ki <- as.matrix(read.table(sna_path("knoke-infor.txt"), header = TRUE))
summary(ergm(network(ki, directed = TRUE) ~ edges))$coefficients
Estimate Std. Error MCMC % z value Pr(>|z|)
edges 0.17824823 0.2116546509 0 0.8421654293 0.3996953616
p-value=0.40 — "유의하지 않다". 이 결과를 어떻게 읽어야 하는지가 다음 절의 주제다.
13. 계수를 읽는 법과 읽으면 안 되는 법 (How to Read θ — and How Not To)
13-1. 되돌리기 — θ에서 확률로 (Back-Transforming from θ to Probability)
계수는 로그 오즈이므로 그대로는 해석이 안 된다. 항상 되돌려서 읽는다.
p=1+e−θ1,오즈=eθ오늘 계산한 네 망을 로지스틱 곡선 위에 얹은 것. 가로축이 계수, 세로축이 확률.
망
n
m
N
θ^
오즈 eθ^
p
FMH
1461
974
1066530
−6.9976
0.000914
0.000913
가라테
34
78
561
−1.8233
0.16149
0.13904
5명 모둠(§15 문제 1)
5
4
10
−0.4055
0.66667
0.40000
(기준선)
—
—
—
0
1
0.5
Knoke (방향)
10
49
90
+0.1782
1.19512
0.54444
곡선의 모양에서 읽을 것: θ가 0 근처일 때는 확률이 빠르게 변하고,
멀어질수록 둔해진다. FMH의 −6.998과 −7.5는 계수로는 0.5 차이지만
확률로는 둘 다 사실상 0이다. 반대로 0과 0.5의 차이는 확률로 12%p다.
13-2. 하면 안 되는 것 ① — z와 p값을 액면대로 읽기 (Don't I: Reading z and p at Face Value)
edges 항의 유의성은 거의 언제나 무의미하다. z가 검정하는 귀무가설은 θ=0, 즉 p=0.5다.
"이 학급의 밀도가 50%인가?"를 묻고 있는 것이다.
가라테의 z=−14.94는 "가라테의 밀도가 0.5가 아니다"를 말할 뿐이고,
그건 볼 필요도 없이 참이다.
Knoke의 p-value=0.40도 마찬가지다. "간선이 유의하지 않다"가 아니라
"Knoke의 정보 전달 밀도가 동전 던지기와 구별되지 않는다"는 뜻이다.
망에 간선이 49개 있는 것은 명백한 사실이다.
→ 회귀에서 절편의 유의성을 보고하지 않는 것과 같은 이유로,
edges 항의 p값은 보고하지 않는다.
13-3. 하면 안 되는 것 ② — 두 망의 θ를 그냥 비교하기 (Don't II: Comparing θ Across Networks)
θ는 밀도의 단조변환일 뿐이므로, 밀도를 비교할 때의 함정을 그대로 물려받는다.
1-5에서 확인한 학급 규모 효과다: N이 n2에 비례해 자라는데
학생 한 명이 사귈 수 있는 친구 수는 그렇게 늘지 않는다.
그래서 큰 학급은 자동으로 밀도가 낮고, 따라서 자동으로 θ가 작다.
§15 문제 2가 이 함정을 다룬다.
13-4. 그럼 edges-only 모형은 왜 배우나 (Then Why Learn the Edges-Only Model)
오늘 모형이 데이터에서 뽑아낸 정보는 정확히 밀도 하나다.
새로 알게 된 것은 아무것도 없다. 밀도를 로그 오즈로 다시 쓴 것뿐이다.
그럼에도 이것을 세우는 이유는 기준선이기 때문이다.
회귀에서 절편만 있는 모형을 먼저 세우는 것과 같다.
5-4부터 항을 하나씩 붙이면, 새 항의 계수는 전부
"밀도를 이미 맞춘 뒤에도 남는 효과"가 된다.
"성별이 같으면 오즈 3배"라는 말이 성립하려면,
그 밑에 "성별과 무관하게 깔린 기본 오즈"가 먼저 정해져 있어야 한다.
edges 항이 바로 그 기본 오즈다.
13-5. 4단계 영 모형과의 관계 (How It Relates to the Stage 4 Null Models)
4단계 (영 모형)
5단계 (ERGM)
하는 일
모형에서 망을 뽑아 실제와 대조
실제 망에 맞도록 모수를 추정
모수
미리 정한다 (p, m, 차수열)
데이터가 정한다 (θ^)
결과물
z점수 — "다르다/같다"
계수와 표준오차 — "얼마나"
여러 요인
한 번에 하나씩
동시에, 서로를 통제하며
둘은 대립하지 않는다. 사실 §10에서 본 시뮬레이션이 곧 영 모형이고,
5-7의 적합도 검정(gof)은 추정한 ERGM을 영 모형 삼아 4단계 방식으로 채점하는 절차다.
4단계와 5단계는 마지막에 다시 합쳐진다.
14. 교실 적용 (Classroom Application)
14-1. 우리 반 계수 구해 보기 (Getting the Coefficient for Your Own Class)
30명 학급에서 "같이 놀고 싶은 친구" 설문을 받아 상호 지명만 남겼더니 간선이 65개였다고 하자.
평균 차수는 2m/n=130/30=4.33명. 가라테(θ=−1.8233, 평균 차수 4.59)와
거의 같은 밀도의 학급이다.
14-2. 담임에게 무엇을 말할 수 있고 무엇을 말할 수 없는가 (What You Can and Cannot Tell a Homeroom Teacher)
말할 수 있는 것
• "우리 반에서 아무 두 명을 짚었을 때 서로 친구일 확률은 약 15%입니다."
• "학생 한 명당 평균 4.3명과 상호 친구 관계입니다."
말할 수 없는 것
• "계수가 음수이므로 우리 반은 관계가 약합니다."
→ 음수는 밀도가 0.5 미만이라는 뜻일 뿐. 모든 학급이 음수다.
• "p값이 0.001 미만이므로 통계적으로 유의한 친구관계가 있습니다."
→ 검정한 것은 "밀도가 50%인가"일 뿐.
• "옆 반은 −1.95니까 우리 반이 더 친합니다."
→ 학급 인원이 다르면 비교 불가(§13-3, 문제 2).
14-3. 이 단원이 실제로 쓸모 있어지는 지점 (Where This Unit Actually Becomes Useful)
솔직히 말해 오늘 계산은 담임에게 새 정보를 주지 못한다.
"밀도 0.15"라고 말하는 것과 똑같기 때문이다.
그러나 다음 단원부터 붙일 질문들은 밀도로는 답이 안 된다.
교사의 질문
필요한 항
단원
"남녀가 갈라져 노나요? 얼마나요?"
nodematch("성별")
5-4
"다문화 학생이 덜 지명받나요?"
nodefactor("배경")
5-5
"성적이 비슷한 애들끼리 뭉치나요?"
absdiff("성적")
5-5
"친구의 친구가 친구가 되나요?"
gwesp
5-6
"성별 때문인가요, 친구의 친구라서인가요?"
둘을 같이 넣기
5-8
마지막 줄이 5단계의 목적지다. 3-7의 E-I 지수는 "남녀가 갈라진다"까지만 말할 수 있었고,
"그게 성별 때문인지 아니면 그냥 친한 애들끼리 뭉치다 보니 그렇게 된 것인지"는
구별하지 못했다. ERGM은 두 항을 동시에 넣어 서로를 통제한 뒤 답한다.
15. 연습문제 (Exercises)
연습문제 1. 5명으로 이루어진 모둠에서 상호 친구 관계를 조사했더니
S1–S2S1–S3S2–S3S3–S4 네 쌍이 나왔다 (S5는 아무와도 이어지지 않았다).
(가) N과 N−m, 밀도 p를 구하라.
(나) θ^=logN−mm를 구하라.
log2=0.693147, log3=1.098612를 써서 로그의 차로 전개할 것.
(다) eθ^(오즈)를 구하고, p=1/(1+e−θ^)로 되돌려
(가)의 밀도와 같은지 확인하라.
(라) I=Nm(N−m), SE=1/I, z=θ^/SE를 구하라.
z=−0.63, p-value=0.53이 나온다.
담임에게 "이 모둠에는 유의한 관계가 없다"고 보고해도 되는가? 안 된다면 이유는? → 먼저 풀고 §16 해설과 맞춰 볼 것
연습문제 2. 같은 학교의 두 학급을 조사했다.
학급
학생 수 n
상호 친구 간선 m
A반
25
60
B반
32
90
(가) 두 학급의 N, 밀도 p, 계수 θ^, 평균 차수 2m/n를 각각 구하라.
θ^는 분수를 약분한 뒤 로그를 취할 것.
(나) 밀도로 순위를 매기면 A반이 위인데 평균 차수로 매기면 B반이 위다.
왜 두 지표가 반대 방향을 가리키는가를 N의 공식으로 설명하라.
(다) 두 계수의 차이를 검정하라.
SE(θ^A−θ^B)=SEA2+SEB2를 쓰고 z를 구하라.
(라) 교감이 "어느 반이 관계가 더 활발한가?"라고 묻는다.
(가)~(다)를 근거로 한 문단으로 답하라. → 먼저 풀고 §16 해설과 맞춰 볼 것
16. 해설과 답 (Solutions)
16-1. 연습문제 1 해설 (Solution to Exercise 1)
(가) 자리의 개수와 밀도. 5명 무방향이므로 쌍은 (25)개다.
어떤 쌍들인지 전부 적어 보면
"유의한 관계가 없다"고 보고하면 안 된다. 이유는 두 겹이다.
① 검정한 가설이 다르다.z가 묻는 것은 "이 모둠의 밀도가 0.5인가"다.
p=0.4는 0.5와 꽤 가깝고 표본(쌍 10개)이 작으니 구별이 안 되는 것이 당연하다.
"관계가 없다"와는 아무 상관이 없다 — 실제로 10쌍 중 4쌍이 친구이고
이는 가라테(13.9%)의 세 배에 가까운 밀도다.
② edges 항의 유의성은 원래 보고 대상이 아니다(§13-2). 회귀의 절편과 같다.
올바른 보고: "5명 모둠의 상호 친구 밀도는 40%(10쌍 중 4쌍)입니다.
다만 S5는 아무와도 연결되지 않았고, S1·S2·S3이 삼각형을 이루고 있습니다."
— 밀도 하나만 보고 판단할 것이 아니라 구조를 함께 봐야 한다는 점도 여기서 드러난다.
밀도의 분모 증가 1.653배와 비교하면 모자란다 → 밀도 하락 (0.2000 → 0.1815)
평균 차수의 분모 증가 1.280배와 비교하면 남는다 → 평균 차수 상승 (4.80 → 5.63)
1-5에서 정리한 학급 규모 효과가 그대로 재현된 것이다.
학생이 늘어도 한 사람이 사귈 수 있는 친구 수는 n에 비례해 늘지 않는데
(설문에서 3명만 지명하게 하면 아예 상한이 고정된다),
밀도의 분모는 n2로 자란다. 그래서 큰 학급은 거의 언제나 밀도가 낮게 나온다. θ^는 밀도의 단조변환이므로 이 함정을 그대로 물려받는다.
(다) 답z=0.65, p=0.52 → 두 학급의 밀도 차이는 표본 변동으로 설명되는 수준이다.
"A반이 더 밀하다"고 말할 근거가 없다.
(라) 교감에게 할 답.
예시 답안
"두 지표가 서로 다른 답을 냅니다. 밀도로 보면 A반이 20.0%, B반이 18.1%로 A반이 높지만,
이 차이는 통계적으로 구별되지 않습니다(z=0.65, p=0.52).
게다가 밀도는 학급 인원이 많을수록 자동으로 낮아지는 지표라
인원이 다른 두 반을 비교하는 데 적절하지 않습니다
— 가능한 짝의 수가 A반 300쌍, B반 496쌍으로 1.65배 차이 나는데
학생 한 명이 사귈 수 있는 친구 수는 그만큼 늘지 않기 때문입니다.
학생 개인이 체감하는 관계의 양은 평균 친구 수로 보는 편이 낫고,
그 기준으로는 B반이 5.6명으로 A반 4.8명보다 많습니다.
결론적으로 '어느 반이 더 활발한가'는 이 자료로는 답할 수 없고, 굳이 답한다면
학생 한 명 기준으로는 B반이 조금 낫습니다.
다만 두 학급 모두 고립 학생이 있는지, 무리가 갈라져 있는지는
밀도로는 알 수 없으므로 별도로 봐야 합니다."
교실에서 진짜 중요한 지점
학급 간 비교를 요구받았을 때 밀도(또는 그 로짓인 θ^)를 그대로 들이대면
인원이 많은 학급이 언제나 손해를 본다.
"우리 학년에서 우리 반 관계가 제일 나쁘다"는 결론이
사실은 "우리 반이 학년에서 제일 크다"였던 경우가 흔하다.
규모가 다른 학급을 비교할 때는 ① 평균 차수, ② 고립 학생 비율,
③ 무리 개수처럼 분모가 n2이 아닌 지표를 함께 봐야 한다.
다음 단원 예고 — 5-2. 지수족과 정규화 상수 (The Normalizing Constant)
오늘 κ(θ)=(1+eθ)561이라는 닫힌 식이 나온 것은
통계량이 간선 수 하나뿐이라 쌍들이 독립이었기 때문이다.
5-2에서는 n=3의 그래프 8개를 다시 꺼내, 항을 두 개로 늘리면
그 합이 어떻게 끝까지 계산해야만 하는 형태로 바뀌는지를 손으로 확인한다.
7.5×10168항을 실제로 더할 수는 없다는 사실이
왜 5단계 전체의 기술적 난점인지가 거기서 분명해진다.