확률 분포로서의 네트워크
SNA 이론 · 단계별 학습 차례

단원 5-1Networks as Probability Distributions

확률 분포로서의 네트워크

SNA 이론 · 단계별 학습STAGED+ 스터디
오늘 배우는 것 한 줄 요약
4단계에서 우리는 망을 만들어 놓고 실제와 대조했다. 배열 모형 500표본을 돌려 z=1.23z=1.23 같은 숫자를 얻고 "차수로는 설명 안 된다"까지 말했다.
5단계는 방향이 한 번 더 바뀐다. 실제 망을 데이터로 두고, 그 망이 나올 확률을 모형으로 쓴 뒤 모수를 추정한다. 그러면 "다르다/같다"가 아니라 "얼마나 다른가"를 계수와 표준오차로 말할 수 있다.
오늘 다루는 모형은 항이 하나뿐인 가장 단순한 ERGM — y ~ edges — 이고, 놀랍게도 그 계수는 손으로 계산된다. 정확히 밀도의 로짓이다. 가라테는 θ^=log78483=1.8233\hat\theta=\log\frac{78}{483}=-1.8233.

1. 오늘의 질문: zz점수 다음에 무엇이 오는가 (From z-Scores to Estimation)

4-8에서 우리가 한 일을 다시 보자. 가라테의 군집계수 0.2557을 놓고 배열 모형 500표본을 돌려 평균 0.2238, 표준편차 0.0259를 얻었고 z=1.23z=1.23이라고 결론지었다. FMH의 QQzz가 100을 훌쩍 넘었다.

이 방식으로 답할 수 있는 질문은 딱 한 가지 모양이다.

4단계가 답한 질문
"관측값이 영 모형의 분포 안에 들어가는가, 벗어나는가?"
→ 답은 예/아니오다. 벗어난다면 "이 지표는 우연이 아니다"까지.

그런데 담임이 실제로 묻고 싶은 것은 이런 모양이 아니다.

  • "성별이 같으면 친구가 될 확률이 몇 배나 높아지나요?"
  • "성별 효과와 학년 효과 중 어느 쪽이 더 센가요?"
  • "학년이 같은 걸 고려하고 나서도 성별이 여전히 영향을 주나요?"

이 질문들에는 공통점이 있다. 효과의 크기를 묻고, 여러 요인을 동시에 놓고 묻는다. 회귀분석이 하는 일이다. 그런데 우리에게는 회귀분석에 넣을 "관측 단위"가 애매하다. 학생 34명이 관측 단위인가? 아니면 간선 78개가?

ERGM의 대답: 관측 단위는 망 전체 하나다.
우리 반 친구관계망은 표본 크기 1의 데이터점이고, ERGM은 "이 망 하나가 나올 확률"을 모형으로 쓴다. 그리고 그 확률을 최대로 만드는 모수를 찾는다.

오늘은 이 틀을 세우고, 항이 하나뿐인 가장 단순한 경우를 끝까지 손으로 푼다. 손으로 풀 수 있는 ERGM은 사실상 오늘 것뿐이다 — 5-2에서 보게 되듯, 항이 두 개만 되어도 손 계산이 불가능해진다. 그래서 오늘 계산해 보는 이 한 번이 계수가 무엇인지를 붙잡는 유일한 기회다.

2. 표본 공간 — 그래프 하나가 아니라 그래프 전부 (The Sample Space of Graphs)

확률 분포를 세우려면 먼저 "무엇들 위의 분포인가"를 정해야 한다. 동전이면 {,}\{앞, 뒤\}, 주사위면 {1,,6}\{1,\dots,6\}이다. 네트워크는?

표본 공간 Y\mathcal{Y}: 정점 nn개를 고정하고, 그 위에 그릴 수 있는 모든 그래프의 집합.

정점이 nn개면 간선을 놓을 수 있는 자리(쌍, dyad)의 개수는

N={n(n1)2무방향n(n1)방향 N = \begin{cases} \dfrac{n(n-1)}{2} & \text{무방향} \\[.6em] n(n-1) & \text{방향} \end{cases}

이고 — 1-5에서 밀도의 분모로 쓴 바로 그 수다 — 각 자리마다 간선이 있거나 없거나 두 가지이므로

Y=2N |\mathcal{Y}| = 2^{N}

가라테는 n=34n=34이므로

N=34×332=11222=561,Y=25617.548×10168 N = \frac{34\times 33}{2} = \frac{1122}{2} = 561, \qquad |\mathcal{Y}| = 2^{561} \approx 7.548\times 10^{168}
이 수의 크기: 관측 가능한 우주의 원자 수가 약 108010^{80}개다. 1016810^{168}은 그것을 제곱한 것보다 크다.
FMH(n=1461n=1461)는 N=1,066,530N=1{,}066{,}530이고 Y=21066530|\mathcal{Y}|=2^{1066530}, 자릿수로 321,058자리다.
→ 표본 공간을 다 훑는 계산은 영원히 불가능하다. 이 사실이 5-2(정규화 상수)와 5-7(MCMC 추정)의 존재 이유 전부다.

우리가 관측한 가라테 망 yobsy_{\text{obs}}는 이 7.5×101687.5\times10^{168}개 중 하나다. 모형이 할 일은 이 방대한 집합 위에 확률을 뿌리되, 실제로 본 그 하나에 최대한 큰 확률이 가도록 뿌리는 것이다.

표기를 정해 두자.

기호
YY확률변수로서의 네트워크 (아직 안 뽑은 것)
yy실현값 — 실제로 관측한 우리 반 망 (인접행렬 하나)
YijY_{ij}{i,j}\{i,j\}에 간선이 있는지 나타내는 0/1 확률변수
m(y)m(y)yy의 간선 수 — yy에서 계산해 내는 숫자(통계량)
NN쌍의 개수 (무방향 n(n1)/2n(n-1)/2, 방향 n(n1)n(n-1))

3. 정의 — 베르누이 그래프를 확률 분포로 쓰기 (The Bernoulli Graph as a Distribution)

가장 단순한 가정에서 출발한다. 4-1의 G(n,p)G(n,p)를 그대로 가져오되, 이번에는 "망을 만드는 절차"가 아니라 "망 하나에 확률을 매기는 식"으로 읽는다.

가정 (베르누이 그래프)
① 모든 쌍은 서로 독립이다.
② 모든 쌍이 간선을 가질 확률은 같은 pp다.

그러면 특정 망 yy 하나가 나올 확률은 쌍마다의 확률을 전부 곱한 것이다.

P(Y=y)=i<jpyij(1p)1yij P(Y=y) = \prod_{i<j} p^{\,y_{ij}}\,(1-p)^{\,1-y_{ij}}

지수에 yijy_{ij}를 올린 이 표기가 낯설면, 두 경우를 대입해 보면 된다.

yijy_{ij}pyijp^{y_{ij}}(1p)1yij(1-p)^{1-y_{ij}}
1p1=pp^1=p(1p)0=1(1-p)^0=1pp간선이 있으니 pp를 곱한다
0p0=1p^0=1(1p)1=1p(1-p)^1=1-p1p1-p간선이 없으니 1p1-p를 곱한다

3-1. n=3n=3에서 전부 써 보기 (Writing Out Every Graph on Three Nodes)

정점 3개면 쌍은 {1,2},{1,3},{2,3}\{1,2\},\{1,3\},\{2,3\} 세 개, 그래프는 23=82^3=8개다. 그중 "1–2와 1–3만 있는" 망 yy^\star의 확률을 인수 세 개를 모두 쓰면

P(Y=y)=p1(1p)0{1,2}: 있음×p1(1p)0{1,3}: 있음×p0(1p)1{2,3}: 없음=p×p×(1p)=p2(1p)1 \begin{aligned} P(Y=y^\star) &= \underbrace{p^{\,1}(1-p)^{\,0}}_{\{1,2\}:\ \text{있음}} \times \underbrace{p^{\,1}(1-p)^{\,0}}_{\{1,3\}:\ \text{있음}} \times \underbrace{p^{\,0}(1-p)^{\,1}}_{\{2,3\}:\ \text{없음}} \\ &= p \times p \times (1-p) \\ &= p^{2}(1-p)^{1} \end{aligned}

지수를 보면 pp의 지수는 간선 수 m=2m=2, (1p)(1-p)의 지수는 빈 자리 수 Nm=32=1N-m=3-2=1이다. 이것은 우연이 아니다. 일반적으로 곱을 정리하면

P(Y=y)=i<jpyij(1p)1yij=pi<jyij(1p)i<j(1yij)=pm(y)(1p)Nm(y) P(Y=y) = \prod_{i<j} p^{\,y_{ij}}(1-p)^{\,1-y_{ij}} = p^{\sum_{i<j} y_{ij}} \,(1-p)^{\sum_{i<j}(1-y_{ij})} = p^{\,m(y)}\,(1-p)^{\,N-m(y)}
결정적인 관찰: 이 확률은 yy모양에 전혀 의존하지 않는다. 오직 간선 수 m(y)m(y) 하나로 결정된다.
간선 78개짜리 가라테 망과, 간선 78개를 완전히 다르게 배치한 어떤 망이든 이 모형에서는 확률이 똑같다.
→ 그래서 이 모형은 밀도 말고는 아무것도 모른다. 4-3에서 G(n,p)G(n,p)가 거리는 맞히고 뭉침은 못 맞혔던 이유가 이 한 줄에 다 들어 있다.

4. 지수족 형태로 바꾸기 (Rewriting in Exponential-Family Form)

pm(1p)Nmp^m(1-p)^{N-m}를 그대로 두면 회귀처럼 다룰 수가 없다. pp[0,1][0,1]에 갇혀 있어서 "효과를 더한다"는 말이 성립하지 않기 때문이다. 그래서 형태를 바꾼다. 대수적 변형일 뿐, 모형은 그대로다.

P(Y=y)=pm(1p)Nm(§3의 결과)=pm(1p)N(1p)m(지수 분해: Nm=N+(m))=(1p)N(p1p) ⁣m(pm과 (1p)m을 묶음)=(1p)Nexp ⁣{mlogp1p}(am=emloga) \begin{aligned} P(Y=y) &= p^{\,m}(1-p)^{\,N-m} &&\text{(§3의 결과)}\\[.3em] &= p^{\,m}\,(1-p)^{\,N}\,(1-p)^{-m} &&\text{(지수 분해: } N-m = N + (-m))\\[.3em] &= (1-p)^{\,N}\left(\frac{p}{1-p}\right)^{\!m} &&\text{(}p^m \text{과 } (1-p)^{-m}\text{을 묶음)}\\[.3em] &= (1-p)^{\,N}\exp\!\left\{ m \cdot \log\frac{p}{1-p} \right\} &&\text{(}a^m = e^{m\log a}\text{)} \end{aligned}

여기서 지수 안에 나타난 logp1p\log\dfrac{p}{1-p}에 이름을 붙인다.

  θ=logp1p=logit(p)   \boxed{\;\theta = \log\frac{p}{1-p} = \operatorname{logit}(p)\;}

거꾸로 풀면 eθ=p1pe^{\theta}=\dfrac{p}{1-p}에서

eθ(1p)=p    eθ=p(1+eθ)    p=eθ1+eθ=11+eθ e^{\theta}(1-p) = p \;\Longrightarrow\; e^{\theta} = p(1+e^{\theta}) \;\Longrightarrow\; p = \frac{e^{\theta}}{1+e^{\theta}} = \frac{1}{1+e^{-\theta}}

그리고 1p1-p도 필요하다.

1p=1eθ1+eθ=(1+eθ)eθ1+eθ=11+eθ 1-p = 1 - \frac{e^\theta}{1+e^\theta} = \frac{(1+e^\theta)-e^\theta}{1+e^\theta} = \frac{1}{1+e^{\theta}}

이것을 앞의 (1p)N(1-p)^N에 넣으면

(1p)N=(11+eθ) ⁣N=1(1+eθ)N (1-p)^{N} = \left(\frac{1}{1+e^{\theta}}\right)^{\!N} = \frac{1}{(1+e^{\theta})^{N}}

따라서

edges-only ERGM P(Y=yθ)=exp{θm(y)}κ(θ),κ(θ)=(1+eθ)N P(Y=y \mid \theta) = \frac{\exp\{\theta\, m(y)\}}{\kappa(\theta)}, \qquad \kappa(\theta) = (1+e^{\theta})^{N} m(y)m(y)통계량, θ\theta를 그 통계량의 계수, κ(θ)\kappa(\theta)정규화 상수라 부른다.

일반적인 ERGM은 여기서 통계량을 여럿으로 늘린 것뿐이다.

P(Y=yθ)=exp{θ ⁣g(y)}κ(θ),θ ⁣g(y)=θ1g1(y)+θ2g2(y)+ P(Y=y\mid\boldsymbol\theta) = \frac{\exp\{\boldsymbol\theta^{\!\top} \mathbf{g}(y)\}}{\kappa(\boldsymbol\theta)}, \qquad \boldsymbol\theta^{\!\top}\mathbf{g}(y) = \theta_1 g_1(y) + \theta_2 g_2(y) + \cdots

g1g_1은 간선 수, g2g_2는 "성별이 같은 간선 수", g3g_3은 "삼각형 수" 같은 식이다. 5-4부터 이 항들을 하나씩 붙인다. 오늘은 g1g_1 하나뿐인 경우다.

4-1. 정규화 상수를 손으로 — n=3n=3의 그래프 8개 (The Normalizing Constant by Hand)

κ(θ)\kappa(\theta)는 "분자를 표본 공간 전체에 대해 합한 것"으로 정의된다.

κ(θ)=yYexp{θm(y)} \kappa(\theta) = \sum_{y\in\mathcal{Y}} \exp\{\theta\,m(y)\}

n=3n=3이면 Y\mathcal{Y}에 그래프가 8개뿐이니 전부 나열할 수 있다.

#간선 집합m(y)m(y)exp{θm(y)}\exp\{\theta m(y)\}
1\varnothing (아무것도 없음)0e0=1e^{0}=1
2{12}\{12\}1eθe^{\theta}
3{13}\{13\}1eθe^{\theta}
4{23}\{23\}1eθe^{\theta}
5{12,13}\{12,13\}2e2θe^{2\theta}
6{12,23}\{12,23\}2e2θe^{2\theta}
7{13,23}\{13,23\}2e2θe^{2\theta}
8{12,13,23}\{12,13,23\} (삼각형)3e3θe^{3\theta}

여덟 항을 하나도 빼지 않고 더하면

κ(θ)=1+eθ+eθ+eθ+e2θ+e2θ+e2θ+e3θ=1+3eθ+3e2θ+e3θ \begin{aligned} \kappa(\theta) &= 1 + e^{\theta} + e^{\theta} + e^{\theta} + e^{2\theta} + e^{2\theta} + e^{2\theta} + e^{3\theta}\\ &= 1 + 3e^{\theta} + 3e^{2\theta} + e^{3\theta} \end{aligned}

계수 1,3,3,11,3,3,1(30),(31),(32),(33)\binom{3}{0},\binom{3}{1},\binom{3}{2},\binom{3}{3}이다 — 간선 수가 kk인 그래프가 (Nk)\binom{N}{k}개이기 때문이다. 이항정리로 묶으면

κ(θ)=k=03(3k)(eθ)k13k=(1+eθ)3 \kappa(\theta) = \sum_{k=0}^{3}\binom{3}{k}(e^{\theta})^{k}\,1^{\,3-k} = (1+e^{\theta})^{3}

N=3N=3일 때 (1+eθ)N(1+e^\theta)^N과 정확히 일치한다. §4의 유도가 맞았다는 뜻이다.

여기가 5단계 전체의 급소다. n=3n=3이라 8항을 손으로 더할 수 있었고, 운 좋게 이항정리로 닫힌 식이 나왔다.
가라테는 7.5×101687.5\times10^{168}항이다. 그런데도 닫힌 식 (1+eθ)561(1+e^\theta)^{561}이 있는 이유는 통계량이 간선 수 하나뿐이라 쌍들이 독립이기 때문이다.
5-6에서 삼각형 항을 넣는 순간 쌍들이 얽히고, κ\kappa의 닫힌 식이 사라진다. 그때부터 MCMC가 필요하다(5-7). 오늘 계산이 손으로 끝나는 것은 오늘뿐인 특권이다.

5. 손 계산 ① 로그가능도를 미분한다 (Differentiating the Log-Likelihood)

이제 θ\theta를 정한다. 기준은 최대가능도다 — 관측한 망 yobsy_{\text{obs}}가 나올 확률을 가장 크게 만드는 θ\theta를 고른다.

확률에 로그를 씌운다(곱이 합이 되어 미분이 쉬워진다). m=m(yobs)m=m(y_{\text{obs}})로 줄여 쓰면

(θ)=logP(Y=yobsθ)=logeθm(1+eθ)N=θmNlog(1+eθ) \ell(\theta) = \log P(Y=y_{\text{obs}}\mid\theta) = \log\frac{e^{\theta m}}{(1+e^{\theta})^{N}} = \theta m - N\log(1+e^{\theta})

θ\theta로 미분한다. 두 항을 따로 처리한다.

미분근거
θm\theta mmmmm은 데이터에서 온 상수
Nlog(1+eθ)-N\log(1+e^{\theta})Neθ1+eθ-N\cdot\dfrac{e^{\theta}}{1+e^{\theta}}연쇄법칙: ddθlogu=uu\frac{d}{d\theta}\log u = \frac{u'}{u}, u=1+eθu=1+e^\theta, u=eθu'=e^\theta

합치면

ddθ=mNeθ1+eθ=mNp(θ) \frac{d\ell}{d\theta} = m - N\,\frac{e^{\theta}}{1+e^{\theta}} = m - N\,p(\theta)

여기서 eθ1+eθ=p(θ)\dfrac{e^\theta}{1+e^\theta}=p(\theta)는 §4에서 얻은 되돌리기 식 그대로다. 그런데 Np(θ)N\,p(\theta)에는 더 중요한 정체가 있다.

Eθ[m(Y)]=i<jEθ[Yij]=i<jp=Np E_\theta[m(Y)] = \sum_{i<j} E_\theta[Y_{ij}] = \sum_{i<j} p = N p

Np(θ)Np(\theta)이 모형이 만들어 내는 망의 평균 간선 수다. 그러므로

ddθ=m(yobs)관측한 간선 수Eθ[m(Y)]모형의 평균 간선 수 \frac{d\ell}{d\theta} = \underbrace{m(y_{\text{obs}})}_{\text{관측한 간선 수}} - \underbrace{E_{\theta}[m(Y)]}_{\text{모형의 평균 간선 수}}

이것을 0으로 놓는 것이 최대가능도 조건이다.

적률 일치 조건 (Moment Matching) Eθ^[g(Y)]=g(yobs) E_{\hat\theta}[\,\mathbf{g}(Y)\,] = \mathbf{g}(y_{\text{obs}}) "모형이 만드는 망들의 통계량 평균이, 관측한 망의 통계량과 정확히 같아지도록" 계수를 맞춘다. 이 조건은 edges-only뿐 아니라 모든 ERGM에서 성립한다.
5-7의 MCMC 추정은 결국 이 등식을 시뮬레이션으로 푸는 절차다.

edges-only에서는 이 방정식이 손으로 풀린다.

m=Np(θ^)    p(θ^)=mN=관측 밀도 m = N p(\hat\theta) \;\Longrightarrow\; p(\hat\theta) = \frac{m}{N} = \text{관측 밀도}

그리고 θ=logit(p)\theta = \operatorname{logit}(p)였으므로, p=m/Np=m/N을 넣고 분자·분모에 NN을 곱해 정리하면

θ^=logm/N1m/N=logm/NNmN=log ⁣(mNNNm)=  logmNm   \hat\theta = \log\frac{m/N}{1-m/N} = \log\frac{m/N}{\dfrac{N-m}{N}} = \log\!\left(\frac{m}{N}\cdot\frac{N}{N-m}\right) = \boxed{\;\log\frac{m}{N-m}\;}
오늘의 결론식 — edges-only ERGM의 계수는 θ^=log간선 있는 자리 수간선 없는 자리 수=logit(밀도) \hat\theta = \log\frac{\text{간선 있는 자리 수}}{\text{간선 없는 자리 수}} = \operatorname{logit}(\text{밀도}) "있는 자리 대 없는 자리"의 로그 오즈다. 추정도, 최적화도 필요 없다. 망을 세기만 하면 계수가 나온다.

6. 손 계산 ② 가라테의 계수 (The Karate Coefficient)

가라테 클럽: n=34n=34, m=78m=78.

6-1. 쌍의 개수와 빈 자리 (Counting Dyads and Empty Slots)

N=34×332=11222=561 N = \frac{34\times 33}{2} = \frac{1122}{2} = 561 Nm=56178=483 N - m = 561 - 78 = 483

즉 561개의 자리 중 78개에 간선이 있고, 483개는 비어 있다.

6-2. 밀도 (Density)

나눗셈을 자릿수마다 전개하면

단계계산남는 값
시작78
0.10.1561×0.1=56.1561\times0.1=56.17856.1=21.978-56.1=21.9
0.030.03561×0.03=16.83561\times0.03=16.8321.916.83=5.0721.9-16.83=5.07
0.0090.009561×0.009=5.049561\times0.009=5.0495.075.049=0.0215.07-5.049=0.021
나머지0.021/561=0.00003740.021/561=0.0000374
p=78561=0.1+0.03+0.009+0.0000374=0.1390374 p = \frac{78}{561} = 0.1 + 0.03 + 0.009 + 0.0000374 = 0.1390374\ldots

6-3. 오즈와 계수 (Odds and the Coefficient)

오즈는 mNm\dfrac{m}{N-m}이다. 분수를 먼저 약분한다 — 78=3×2678 = 3\times 26, 483=3×161483 = 3\times 161이므로

78483=26161 \frac{78}{483} = \frac{26}{161}

값을 구하면

단계계산남는 값
0.160.16161×0.16=25.76161\times0.16=25.762625.76=0.2426-25.76=0.24
나머지0.24/161=0.001490680.24/161=0.00149068
26161=0.16+0.00149068=0.16149068 \frac{26}{161} = 0.16 + 0.00149068 = 0.16149068\ldots

로그를 씌운다. 분수의 로그는 차로 쪼갠다.

θ^=log26161=log26log161=3.25809655.0814044=1.8233078 \begin{aligned} \hat\theta &= \log\frac{26}{161} = \log 26 - \log 161 \\ &= 3.2580965 - 5.0814044 \\ &= -1.8233078 \end{aligned}
가라테의 edges 계수 θ^=log78483=1.8233078,eθ^=0.1614907,p=0.1390374 \hat\theta = \log\frac{78}{483} = -1.8233078,\qquad e^{\hat\theta}=0.1614907,\qquad p=0.1390374

6-4. 세 숫자가 각각 뜻하는 것 (What Each of the Three Numbers Means)

수치읽는 법
pp0.1390아무 두 명을 집었을 때 친구일 확률이 13.9%
eθ^e^{\hat\theta}0.1615친구일 오즈가 0.1615 — 즉 친구 1건당 남남 1/0.1615=6.191/0.1615=6.19
θ^\hat\theta1.8233-1.8233그 오즈의 로그. 음수라는 것은 오즈가 1보다 작다(=친구가 아닐 쪽이 더 흔하다)는 뜻

검산: 483/78=6.1923483/78 = 6.1923. 실제로 가라테에서 친구 아닌 쌍이 친구인 쌍의 6.19배다.

θ\theta의 부호는 오직 밀도 0.5를 기준으로 갈린다. θ<0    p<0.5\theta<0 \iff p<0.5, θ=0    p=0.5\theta=0\iff p=0.5, θ>0    p>0.5\theta>0\iff p>0.5.
현실의 친구관계망은 거의 전부 희소하므로 edges 계수는 항상 음수다. 음수라는 사실 자체에는 아무 정보가 없다.

7. 손 계산 ③ 표준오차 — 정보량은 곧 분산이다 (Information is Variance)

계수만으로는 반쪽이다. "얼마나 믿을 만한가"를 붙여야 한다. 표준오차는 로그가능도를 한 번 더 미분해서 얻는다.

§5에서 ddθ=mNeθ1+eθ\dfrac{d\ell}{d\theta} = m - N\dfrac{e^\theta}{1+e^\theta}였다. 한 번 더 미분하면

d2dθ2=Nddθ ⁣(eθ1+eθ) \frac{d^{2}\ell}{d\theta^{2}} = -N\,\frac{d}{d\theta}\!\left(\frac{e^{\theta}}{1+e^{\theta}}\right)

괄호 안은 몫의 미분이다. u=eθ, v=1+eθu=e^\theta,\ v=1+e^\theta로 두면 u=eθ, v=eθu'=e^\theta,\ v'=e^\theta이고

ddθuv=uvuvv2=eθ(1+eθ)eθeθ(1+eθ)2=eθ+e2θe2θ(1+eθ)2=eθ(1+eθ)2 \frac{d}{d\theta}\frac{u}{v} = \frac{u'v-uv'}{v^{2}} = \frac{e^{\theta}(1+e^{\theta}) - e^{\theta}\cdot e^{\theta}}{(1+e^{\theta})^{2}} = \frac{e^{\theta}+e^{2\theta}-e^{2\theta}}{(1+e^{\theta})^{2}} = \frac{e^{\theta}}{(1+e^{\theta})^{2}}

이것을 pp로 되돌린다. p=eθ1+eθp=\dfrac{e^\theta}{1+e^\theta}, 1p=11+eθ1-p=\dfrac{1}{1+e^\theta}였으므로

p(1p)=eθ1+eθ11+eθ=eθ(1+eθ)2 p(1-p) = \frac{e^{\theta}}{1+e^{\theta}}\cdot\frac{1}{1+e^{\theta}} = \frac{e^{\theta}}{(1+e^{\theta})^{2}}

정확히 같은 것이다. 따라서

d2dθ2=Np(1p) \frac{d^{2}\ell}{d\theta^{2}} = -N\,p(1-p)

피셔 정보량은 이것의 부호를 뒤집은 값이다.

I(θ)=d2dθ2=Np(1p) I(\theta) = -\frac{d^{2}\ell}{d\theta^{2}} = N\,p(1-p)
정보량 = 통계량의 분산
m(Y)=i<jYijm(Y)=\sum_{i<j}Y_{ij}는 독립인 베르누이 NN개의 합이므로 Var(m(Y))=Np(1p)\operatorname{Var}(m(Y)) = N\,p(1-p)다.
I(θ)=Varθ(m(Y))I(\theta) = \operatorname{Var}_\theta(m(Y))4단계에서 영 모형을 500번 돌려 표준편차를 재던 그 값이 여기서는 공식으로 나온다.
그리고 SE(θ^)=1/I=1/sd(m(Y))\operatorname{SE}(\hat\theta) = 1/\sqrt{I} = 1/\operatorname{sd}(m(Y)). 모형이 만드는 망의 간선 수가 널뛸수록 계수는 정확해진다는, 처음 보면 거꾸로 같은 관계다(§10에서 그림으로 확인한다).

7-1. 가라테에 넣기 (Applying It to Karate)

Np(1p)N p(1-p)p=m/Np=m/N을 넣으면 계산이 훨씬 간단해진다.

Np(1p)=NmNNmN=m(Nm)N N\,p\,(1-p) = N\cdot\frac{m}{N}\cdot\frac{N-m}{N} = \frac{m(N-m)}{N}

수치를 넣으면

I=78×483561=37674561 I = \frac{78 \times 483}{561} = \frac{37674}{561}
단계계산남는 값
78×48378\times48378×400=3120078\times400=31200, 78×83=647478\times83=647431200+6474=3767431200+6474=37674
÷561\div 561: 67561×67=37587561\times67=375873767437587=8737674-37587=87
나머지87/561=0.1550887/561=0.15508
I=67.15508,I=8.194820 I = 67.15508, \qquad \sqrt{I} = 8.194820 SE(θ^)=18.194820=0.1220283 \operatorname{SE}(\hat\theta) = \frac{1}{8.194820} = 0.1220283 z=θ^SE=1.82330780.1220283=14.9417 z = \frac{\hat\theta}{\operatorname{SE}} = \frac{-1.8233078}{0.1220283} = -14.9417
가라테 edges 항 정리 θ^=1.8233\hat\theta=-1.8233, SE=0.1220\operatorname{SE}=0.1220, z=14.94z=-14.94, p-value<1049p\text{-value}<10^{-49}.
그런데 이 zz가 무엇을 검정한 것인지는 §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판정
θ^\hat\theta1.8233078-1.82330781.8233078-1.8233078소수 9자리까지 일치
SE0.12202830.12202830.12202670.12202676번째 자리부터 다름 (아래 참조)
zz14.9417-14.941714.9419-14.9419SE 차이가 그대로 전달됨
SE가 6번째 자리에서 다른 이유: 계수는 닫힌 식이라 정확하지만, ergm은 표준오차를 의사가능도(MPLE)의 헤세 행렬을 수치적으로 계산한다. 그 과정의 수치 오차다(상대오차 1.3×1051.3\times10^{-5}).
실무적으로 무시해도 되지만, "손 계산과 R이 완전히 같아야 한다"고 생각하면 디버깅에 시간을 쓰게 되므로 알아 둘 것.

8-1. 로그가능도도 손으로 맞는가 (Does the Log-Likelihood Match by Hand)

§5의 (θ)=θmNlog(1+eθ)\ell(\theta)=\theta m - N\log(1+e^{\theta})에 값을 넣는다.

θm=1.8233078×78=142.2180105log(1+eθ)=log(1+0.1614907)=log(1.1614907)=0.1497043Nlog(1+eθ)=561×0.1497043=83.9840853(θ^)=142.218010583.9840853=226.2020958 \begin{aligned} \theta m &= -1.8233078 \times 78 = -142.2180105\\ \log(1+e^{\theta}) &= \log(1+0.1614907) = \log(1.1614907) = 0.1497043\\ N\log(1+e^{\theta}) &= 561 \times 0.1497043 = 83.9840853\\[.3em] \ell(\hat\theta) &= -142.2180105 - 83.9840853 = -226.2020958 \end{aligned}

다른 형태로도 계산해 검산한다. =mlogp+(Nm)log(1p)\ell = m\log p + (N-m)\log(1-p)이므로

78log(0.1390374)=78×(1.9730121)=153.8949421483log(0.8609626)=483×(0.1497043)=72.3071537=226.2020958 \begin{aligned} 78\log(0.1390374) &= 78\times(-1.9730121) = -153.8949421\\ 483\log(0.8609626) &= 483\times(-0.1497043) = -72.3071537\\ \text{합} &= -226.2020958 \quad\checkmark \end{aligned}
logLik(fit)     'log Lik.' -226.2020958 (df=1)
AIC(fit)        454.4041916   # = -2(-226.2020958) + 2·1

9. R 검증 ② 로지스틱 회귀와 정말 같은가 (Same as Logistic Regression?)

§3에서 쌍들이 독립이라고 가정했다. 그렇다면 이 모형은 "쌍 561개를 각각 하나의 관측치로 보는 로지스틱 회귀"와 다를 게 없어야 한다. 설명변수가 없으니 절편만 있는 로지스틱 회귀다.

# 인접행렬의 아래삼각 561칸을 0/1 벡터로 펴서 절편만 넣는다
y  <- as.vector(as_adjacency_matrix(gk)[lower.tri(matrix(0, 34, 34))])
length(y); sum(y)          561   78
coef(glm(y ~ 1, family = binomial))
(Intercept)
  -1.823308 

계수가 정확히 같다. 표준오차도 0.12202830.1220283으로 손 계산과 완전히 일치한다 (§8에서 ergm이 살짝 달랐던 값이 여기서는 맞는다).

ERGM을 이해하는 가장 쉬운 문장
ERGM은 "쌍(dyad)을 관측 단위로 하는 로지스틱 회귀"다. 반응변수는 "이 두 사람 사이에 간선이 있는가", 설명변수는 그 쌍의 성질이다.
그런데 이 문장은 오늘만 정확하다. 쌍들이 독립일 때만 성립하기 때문이다.
간선 항만 있으면 독립이지만, 5-6에서 삼각형 항을 넣으면 "1–2 간선이 생기는지"가 "1–3, 2–3이 있는지"에 의존하게 된다. 그때 로지스틱 회귀와의 등가는 깨지고, ERGM은 의사가능도(MPLE)가 아니라 MCMC로 추정해야 한다(5-7).
zz 값이 Pr(>|z|)과 함께 회귀표처럼 출력되는 것도 여기서 온 관행이므로, 독립이 깨진 모형에서는 그 pp값을 액면 그대로 믿으면 안 된다.

10. R 검증 ③ 적률 일치 (Moment Matching)

§5에서 유도한 조건 Eθ^[m(Y)]=m(yobs)E_{\hat\theta}[m(Y)] = m(y_{\text{obs}})를 시뮬레이션으로 직접 확인한다. 추정한 모형에서 망을 2000개 뽑아 간선 수를 세면 된다.

set.seed(20260803)
sim <- simulate(fit, nsim = 2000, output = "stats")[, 1]
mean(sim); sd(sim); range(sim)
78.1065        8.291292        48  116
edges-only ERGM이 만든 망 2000개의 간선 수 분포
모형이 만든 망 2000개의 간선 수. 빨간 선이 관측값 78, 초록 점선이 모형 평균 78.11.
항목이론(손 계산)시뮬레이션
평균 간선 수Np=78Np = 78 (정확히)78.1065
표준편차Np(1p)=67.155=8.1948\sqrt{Np(1-p)}=\sqrt{67.155}=8.19488.2913

평균이 관측값 78에 맞춰졌다. 이것이 최대가능도가 한 일의 전부다. 표준편차의 작은 차이(8.195 vs 8.291)는 2000회 표본의 몬테카를로 오차다.

§7의 관계를 여기서 눈으로 확인한다
이 히스토그램의 sd(m(Y))=8.19\operatorname{sd}(m(Y))=8.19이고, 계수의 표준오차는 그 역수 1/8.19=0.1221/8.19=0.122다.
히스토그램이 넓다 = 간선 수가 θ\theta에 민감하게 반응한다 = θ\theta를 조금만 틀려도 간선 수가 크게 어긋난다 = θ\theta정밀하게 집어낼 수 있다.
동시에, 이 모형의 한계도 이 그림 안에 있다. 2000개 표본은 간선 수만 78 근처로 맞을 뿐, 군집계수는 4-7에서 이미 확인했듯 평균 0.13480.1348로 실제 0.25570.2557의 절반이다.
맞춘 통계량만 맞는다 — 이것이 ERGM의 근본 성질이고, 5-6에서 "왜 굳이 삼각형 항을 넣으려 하는가"의 이유가 된다.

11. 손 계산 ④ FMH — 밀도가 0.0009일 때 (FMH: A Very Sparse Network)

같은 계산을 극단적으로 희소한 망에 적용해 본다. FMH 고교: n=1461n=1461, m=974m=974.

11-1. 쌍의 개수 (Counting Dyads)

N=1461×14602=1461×730 N = \frac{1461\times 1460}{2} = 1461 \times 730
부분계산
1461×7001461\times 7001,022,7001{,}022{,}700
1461×301461\times 3043,83043{,}830
1,066,5301{,}066{,}530
N=1,066,530,Nm=1,066,530974=1,065,556 N = 1{,}066{,}530, \qquad N-m = 1{,}066{,}530 - 974 = 1{,}065{,}556

11-2. 밀도와 계수 (Density and the Coefficient)

p=9741066530=0.00091324 p = \frac{974}{1066530} = 0.00091324 θ^=log9741065556=log974log1065556=6.881411313.8790073=6.9975960 \begin{aligned} \hat\theta &= \log\frac{974}{1065556} = \log 974 - \log 1065556\\ &= 6.8814113 - 13.8790073\\ &= -6.9975960 \end{aligned} eθ^=0.00091408 e^{\hat\theta} = 0.00091408
희소한 망에서는 오즈 ≈ 확률
p=0.00091324p = 0.00091324, 오즈 =0.00091408= 0.00091408. 차이는 소수 일곱째 자리다.
이유: 오즈 =p1p=\dfrac{p}{1-p}인데 pp가 작으면 1p11-p\approx 1이므로 오즈 p\approx p. 상대오차는 정확히 p/(1p)pp=p1pp=0.091%\dfrac{p/(1-p) - p}{p} = \dfrac{p}{1-p}\approx p = 0.091\%.
희소한 학급 망에서는 eθe^{\theta}를 그냥 확률로 읽어도 된다. 5-4의 오즈비 해석이 편해지는 것이 이 때문이다.

11-3. 표준오차 — nn이 아니라 mm이 결정한다 (Standard Error: m Decides It, Not n)

I=m(Nm)N=974×10655561066530=973.1105 I = \frac{m(N-m)}{N} = \frac{974 \times 1065556}{1066530} = 973.1105

여기서 눈여겨볼 것은 I974=mI \approx 974 = m이라는 점이다. 이유는 간단하다.

I=Np(1p)=Np=m×(1p)=m(1p)m(p0) I = N p (1-p) = \underbrace{Np}_{=\,m}\times(1-p) = m(1-p) \approx m \quad (p\approx 0) SE=1973.11=0.0320567    1974=131.209=0.0320421 \operatorname{SE} = \frac{1}{\sqrt{973.11}} = 0.0320567 \;\approx\; \frac{1}{\sqrt{974}} = \frac{1}{31.209} = 0.0320421
표준오차를 결정하는 것은 학생 수가 아니라 간선 수다.
FMH는 학생이 1461명이지만 친구관계는 974개뿐이다. 쌍은 106만 개나 되는데도 SE1/974\operatorname{SE}\approx 1/\sqrt{974}로, 사실상 간선 974개만큼의 정보밖에 없다.
→ 교실 데이터를 모을 때 "학생 수를 늘리는 것"보다 "지명 개수를 늘리는 것"(3명 → 5명 지명)이 통계적 정밀도에 훨씬 크게 기여한다.

z=6.9975960/0.0320567=218.29z = -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)

지금까지는 무방향이었다. 방향망에서는 NN의 공식만 바뀐다 — 1-5에서 밀도를 다룰 때 이미 정리한 그대로다.

N=n(n1)(2로 나누지 않는다: ij와 ji는 다른 자리) N = n(n-1) \quad (\text{2로 나누지 않는다: } i\to j \text{와 } j\to i \text{는 다른 자리})

Knoke 정보 네트워크: n=10n=10, 간선 49개(1-9에서 확인).

N=10×9=90,Nm=9049=41 N = 10\times 9 = 90, \qquad N-m = 90-49 = 41 p=4990=0.5444444 p = \frac{49}{90} = 0.5444444

여기서 처음으로 밀도가 0.5를 넘는다. 계수를 계산하면

θ^=log4941=log(1.1951220)=+0.1782482 \hat\theta = \log\frac{49}{41} = \log(1.1951220) = +0.1782482
Knoke의 edges 계수는 양수다 θ^=+0.1782\hat\theta = +0.1782. 지금까지 본 계수가 전부 음수였던 것과 대조된다.
이유는 단 하나: 밀도가 0.5보다 크기 때문이다. 조직 10개 사이의 정보 전달은 "안 하는 쪽이 기본"이 아니라 "하는 쪽이 기본"인 망이다.

표준오차:

I=49×4190=200990=22.32222,I=4.724640 I = \frac{49\times 41}{90} = \frac{2009}{90} = 22.32222, \qquad \sqrt{I}=4.724640 SE=14.724640=0.2116563,z=0.17824820.2116563=0.8422 \operatorname{SE} = \frac{1}{4.724640} = 0.2116563, \qquad z = \frac{0.1782482}{0.2116563} = 0.8422
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.40p\text{-value} = 0.40 — "유의하지 않다". 이 결과를 어떻게 읽어야 하는지가 다음 절의 주제다.

13. 계수를 읽는 법과 읽으면 안 되는 법 (How to Read θ\theta — and How Not To)

13-1. 되돌리기 — θ\theta에서 확률로 (Back-Transforming from θ to Probability)

계수는 로그 오즈이므로 그대로는 해석이 안 된다. 항상 되돌려서 읽는다.

p=11+eθ,오즈=eθ p = \frac{1}{1+e^{-\theta}}, \qquad \text{오즈} = e^{\theta} 로짓 곡선 위의 네 네트워크
오늘 계산한 네 망을 로지스틱 곡선 위에 얹은 것. 가로축이 계수, 세로축이 확률.
nnmmNNθ^\hat\theta오즈 eθ^e^{\hat\theta}pp
FMH146197410665306.9976-6.99760.0009140.000913
가라테34785611.8233-1.82330.161490.13904
5명 모둠(§15 문제 1)54100.4055-0.40550.666670.40000
(기준선)010.5
Knoke (방향)104990+0.1782+0.17821.195120.54444

곡선의 모양에서 읽을 것: θ\theta가 0 근처일 때는 확률이 빠르게 변하고, 멀어질수록 둔해진다. FMH의 6.998-6.9987.5-7.5는 계수로는 0.5 차이지만 확률로는 둘 다 사실상 0이다. 반대로 000.50.5의 차이는 확률로 12%p다.

13-2. 하면 안 되는 것 ① — zzpp값을 액면대로 읽기 (Don't I: Reading z and p at Face Value)

edges 항의 유의성은 거의 언제나 무의미하다.
zz가 검정하는 귀무가설은 θ=0\theta=0, 즉 p=0.5p=0.5다. "이 학급의 밀도가 50%인가?"를 묻고 있는 것이다.
가라테의 z=14.94z=-14.94는 "가라테의 밀도가 0.5가 아니다"를 말할 뿐이고, 그건 볼 필요도 없이 참이다.
Knoke의 p-value=0.40p\text{-value}=0.40도 마찬가지다. "간선이 유의하지 않다"가 아니라 "Knoke의 정보 전달 밀도가 동전 던지기와 구별되지 않는다"는 뜻이다. 망에 간선이 49개 있는 것은 명백한 사실이다.
→ 회귀에서 절편의 유의성을 보고하지 않는 것과 같은 이유로, edges 항의 pp값은 보고하지 않는다.

13-3. 하면 안 되는 것 ② — 두 망의 θ\theta를 그냥 비교하기 (Don't II: Comparing θ Across Networks)

θ\theta는 밀도의 단조변환일 뿐이므로, 밀도를 비교할 때의 함정을 그대로 물려받는다. 1-5에서 확인한 학급 규모 효과다: NNn2n^2에 비례해 자라는데 학생 한 명이 사귈 수 있는 친구 수는 그렇게 늘지 않는다. 그래서 큰 학급은 자동으로 밀도가 낮고, 따라서 자동으로 θ\theta가 작다. §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)
하는 일모형에서 망을 뽑아 실제와 대조실제 망에 맞도록 모수를 추정
모수미리 정한다 (pp, mm, 차수열)데이터가 정한다 (θ^\hat\theta)
결과물zz점수 — "다르다/같다"계수와 표준오차 — "얼마나"
여러 요인한 번에 하나씩동시에, 서로를 통제하며

둘은 대립하지 않는다. 사실 §10에서 본 시뮬레이션이 곧 영 모형이고, 5-7의 적합도 검정(gof)은 추정한 ERGM을 영 모형 삼아 4단계 방식으로 채점하는 절차다. 4단계와 5단계는 마지막에 다시 합쳐진다.

14. 교실 적용 (Classroom Application)

14-1. 우리 반 계수 구해 보기 (Getting the Coefficient for Your Own Class)

30명 학급에서 "같이 놀고 싶은 친구" 설문을 받아 상호 지명만 남겼더니 간선이 65개였다고 하자.

N=30×292=8702=435,Nm=43565=370 N = \frac{30\times 29}{2} = \frac{870}{2} = 435, \qquad N-m = 435-65 = 370 p=65435=0.14943,θ^=log65370=1.73912 p = \frac{65}{435} = 0.14943, \qquad \hat\theta = \log\frac{65}{370} = -1.73912 I=65×370435=55.28736,SE=17.43555=0.13449 I = \frac{65\times 370}{435} = 55.28736,\quad \operatorname{SE} = \frac{1}{7.43555} = 0.13449

평균 차수는 2m/n=130/30=4.332m/n = 130/30 = 4.33명. 가라테(θ=1.8233\theta=-1.8233, 평균 차수 4.59)와 거의 같은 밀도의 학급이다.

14-2. 담임에게 무엇을 말할 수 있고 무엇을 말할 수 없는가 (What You Can and Cannot Tell a Homeroom Teacher)

말할 수 있는 것
• "우리 반에서 아무 두 명을 짚었을 때 서로 친구일 확률은 약 15%입니다."
• "학생 한 명당 평균 4.3명과 상호 친구 관계입니다."

말할 수 없는 것
"계수가 음수이므로 우리 반은 관계가 약합니다." → 음수는 밀도가 0.5 미만이라는 뜻일 뿐. 모든 학급이 음수다.
"pp값이 0.001 미만이므로 통계적으로 유의한 친구관계가 있습니다." → 검정한 것은 "밀도가 50%인가"일 뿐.
"옆 반은 1.95-1.95니까 우리 반이 더 친합니다." → 학급 인원이 다르면 비교 불가(§13-3, 문제 2).

14-3. 이 단원이 실제로 쓸모 있어지는 지점 (Where This Unit Actually Becomes Useful)

솔직히 말해 오늘 계산은 담임에게 새 정보를 주지 못한다. "밀도 0.15"라고 말하는 것과 똑같기 때문이다. 그러나 다음 단원부터 붙일 질문들은 밀도로는 답이 안 된다.

교사의 질문필요한 항단원
"남녀가 갈라져 노나요? 얼마나요?"nodematch("성별")5-4
"다문화 학생이 덜 지명받나요?"nodefactor("배경")5-5
"성적이 비슷한 애들끼리 뭉치나요?"absdiff("성적")5-5
"친구의 친구가 친구가 되나요?"gwesp5-6
"성별 때문인가요, 친구의 친구라서인가요?"둘을 같이 넣기5-8

마지막 줄이 5단계의 목적지다. 3-7의 E-I 지수는 "남녀가 갈라진다"까지만 말할 수 있었고, "그게 성별 때문인지 아니면 그냥 친한 애들끼리 뭉치다 보니 그렇게 된 것인지"는 구별하지 못했다. ERGM은 두 항을 동시에 넣어 서로를 통제한 뒤 답한다.

15. 연습문제 (Exercises)

연습문제 1. 5명으로 이루어진 모둠에서 상호 친구 관계를 조사했더니 S1–S2 S1–S3 S2–S3 S3–S4 네 쌍이 나왔다 (S5는 아무와도 이어지지 않았다).

(가) NNNmN-m, 밀도 pp를 구하라.
(나) θ^=logmNm\hat\theta = \log\dfrac{m}{N-m}를 구하라. log2=0.693147\log 2 = 0.693147, log3=1.098612\log 3 = 1.098612를 써서 로그의 차로 전개할 것.
(다) eθ^e^{\hat\theta}(오즈)를 구하고, p=1/(1+eθ^)p = 1/(1+e^{-\hat\theta})로 되돌려 (가)의 밀도와 같은지 확인하라.
(라) I=m(Nm)NI = \dfrac{m(N-m)}{N}, SE=1/I\operatorname{SE}=1/\sqrt{I}, z=θ^/SEz=\hat\theta/\operatorname{SE}를 구하라. z=0.63z=-0.63, p-value=0.53p\text{-value}=0.53이 나온다. 담임에게 "이 모둠에는 유의한 관계가 없다"고 보고해도 되는가? 안 된다면 이유는?
→ 먼저 풀고 §16 해설과 맞춰 볼 것
연습문제 2. 같은 학교의 두 학급을 조사했다.

학급학생 수 nn상호 친구 간선 mm
A반2560
B반3290
(가) 두 학급의 NN, 밀도 pp, 계수 θ^\hat\theta, 평균 차수 2m/n2m/n를 각각 구하라. θ^\hat\theta는 분수를 약분한 뒤 로그를 취할 것.
(나) 밀도로 순위를 매기면 A반이 위인데 평균 차수로 매기면 B반이 위다. 왜 두 지표가 반대 방향을 가리키는가NN의 공식으로 설명하라.
(다) 두 계수의 차이를 검정하라. SE(θ^Aθ^B)=SEA2+SEB2\operatorname{SE}(\hat\theta_A - \hat\theta_B) = \sqrt{\operatorname{SE}_A^2 + \operatorname{SE}_B^2}를 쓰고 zz를 구하라.
(라) 교감이 "어느 반이 관계가 더 활발한가?"라고 묻는다. (가)~(다)를 근거로 한 문단으로 답하라.
→ 먼저 풀고 §16 해설과 맞춰 볼 것

16. 해설과 답 (Solutions)

16-1. 연습문제 1 해설 (Solution to Exercise 1)

(가) 자리의 개수와 밀도. 5명 무방향이므로 쌍은 (52)\binom{5}{2}개다. 어떤 쌍들인지 전부 적어 보면

{1,2}\{1,2\}{1,3}\{1,3\}{1,4}\{1,4\}{1,5}\{1,5\}{2,3}\{2,3\}{2,4}\{2,4\}{2,5}\{2,5\}{3,4}\{3,4\}{3,5}\{3,5\}{4,5}\{4,5\}
yijy_{ij}1100100100
N=5×42=202=10,m=4,Nm=104=6 N = \frac{5\times 4}{2} = \frac{20}{2} = 10, \qquad m = 4, \qquad N-m = 10-4 = 6 p=410=0.4 p = \frac{4}{10} = 0.4

(나) 계수. 오즈를 먼저 약분한다: 46=23\dfrac{4}{6}=\dfrac{2}{3}.

θ^=log23=log2log3=0.6931471.098612=0.405465 \hat\theta = \log\frac{2}{3} = \log 2 - \log 3 = 0.693147 - 1.098612 = -0.405465

(다) 되돌리기. 오즈는 eθ^=23=0.666667e^{\hat\theta}=\dfrac{2}{3}=0.666667. 확률로 되돌리려면 eθ^e^{-\hat\theta}가 필요한데, 이것은 오즈의 역수 32=1.5\dfrac{3}{2}=1.5다.

p=11+eθ^=11+1.5=12.5=0.4 p = \frac{1}{1+e^{-\hat\theta}} = \frac{1}{1+1.5} = \frac{1}{2.5} = 0.4 \quad\checkmark

(가)의 밀도와 정확히 일치한다.

(라) 표준오차와 zz.

I=m(Nm)N=4×610=2410=2.4 I = \frac{m(N-m)}{N} = \frac{4\times 6}{10} = \frac{24}{10} = 2.4 2.4=1.549193,SE=11.549193=0.645497 \sqrt{2.4} = 1.549193, \qquad \operatorname{SE} = \frac{1}{1.549193} = 0.645497 z=0.4054650.645497=0.628144 z = \frac{-0.405465}{0.645497} = -0.628144

R로 확인하면 계수 0.4054651-0.4054651, SE 0.64549720.6454972, z=0.6281438z=-0.6281438, p-value=0.5299p\text{-value}=0.5299로 소수 일곱째 자리까지 일치한다.

(가) N=10N=10, Nm=6N-m=6, p=0.4p=0.4  /  (나) θ^=log23=0.4055\hat\theta=\log\frac23=-0.4055  /  (다) 오즈 =2/3=2/3, 되돌린 확률 =0.4=0.4 ✓  /  (라) I=2.4I=2.4, SE=0.6455\operatorname{SE}=0.6455, z=0.6281z=-0.6281

"유의한 관계가 없다"고 보고하면 안 된다. 이유는 두 겹이다.
검정한 가설이 다르다. zz가 묻는 것은 "이 모둠의 밀도가 0.5인가"다. p=0.4p=0.4는 0.5와 꽤 가깝고 표본(쌍 10개)이 작으니 구별이 안 되는 것이 당연하다. "관계가 없다"와는 아무 상관이 없다 — 실제로 10쌍 중 4쌍이 친구이고 이는 가라테(13.9%)의 세 배에 가까운 밀도다.
edges 항의 유의성은 원래 보고 대상이 아니다(§13-2). 회귀의 절편과 같다.

올바른 보고: "5명 모둠의 상호 친구 밀도는 40%(10쌍 중 4쌍)입니다. 다만 S5는 아무와도 연결되지 않았고, S1·S2·S3이 삼각형을 이루고 있습니다." — 밀도 하나만 보고 판단할 것이 아니라 구조를 함께 봐야 한다는 점도 여기서 드러난다.

16-2. 연습문제 2 해설 (Solution to Exercise 2)

(가) 네 지표. A반부터.

NA=25×242=6002=300,NAmA=30060=240 N_A = \frac{25\times 24}{2} = \frac{600}{2} = 300, \qquad N_A - m_A = 300-60 = 240 pA=60300=0.2 p_A = \frac{60}{300} = 0.2

오즈 60240\dfrac{60}{240}을 약분하면 14\dfrac{1}{4}이므로

θ^A=log14=log4=2log2=2(0.693147)=1.386294 \hat\theta_A = \log\frac14 = -\log 4 = -2\log 2 = -2(0.693147) = -1.386294

평균 차수는 2mn=2×6025=12025=4.8\dfrac{2m}{n} = \dfrac{2\times 60}{25} = \dfrac{120}{25} = 4.8명.

B반.

NB=32×312=9922=496,NBmB=49690=406 N_B = \frac{32\times 31}{2} = \frac{992}{2} = 496, \qquad N_B - m_B = 496-90 = 406 pB=90496=0.181452 p_B = \frac{90}{496} = 0.181452

오즈 90406\dfrac{90}{406}은 2로 약분해 45203\dfrac{45}{203}.

θ^B=log45203=log45log203=3.8066625.313206=1.506543 \hat\theta_B = \log\frac{45}{203} = \log 45 - \log 203 = 3.806662 - 5.313206 = -1.506543

평균 차수는 2×9032=18032=5.625\dfrac{2\times 90}{32} = \dfrac{180}{32} = 5.625명.

학급nnmmNN밀도 ppθ^\hat\theta평균 차수
A반25603000.20001.3863-1.38634.80
B반32904960.18151.5065-1.50655.63

(나) 왜 반대 방향인가. 두 지표의 분모가 서로 다르게 자라기 때문이다.

지표분모의 증가A→B 배율
밀도m/Nm/NN=n(n1)/2n2N=n(n-1)/2 \propto n^2496/300=1.653496/300 = 1.653
평균 차수2m/n2m/nnn32/25=1.28032/25 = 1.280

간선은 90/60=1.590/60 = 1.5배 늘었다. 이 1.5배를

  • 밀도의 분모 증가 1.653배와 비교하면 모자란다 → 밀도 하락 (0.2000 → 0.1815)
  • 평균 차수의 분모 증가 1.280배와 비교하면 남는다 → 평균 차수 상승 (4.80 → 5.63)
1-5에서 정리한 학급 규모 효과가 그대로 재현된 것이다. 학생이 늘어도 한 사람이 사귈 수 있는 친구 수는 nn에 비례해 늘지 않는데 (설문에서 3명만 지명하게 하면 아예 상한이 고정된다), 밀도의 분모는 n2n^2로 자란다. 그래서 큰 학급은 거의 언제나 밀도가 낮게 나온다.
θ^\hat\theta는 밀도의 단조변환이므로 이 함정을 그대로 물려받는다.

(다) 차이 검정. 먼저 각 반의 표준오차를 구한다.

IA=60×240300=14400300=48,SEA=148=16.928203=0.144338 I_A = \frac{60\times 240}{300} = \frac{14400}{300} = 48, \qquad \operatorname{SE}_A = \frac{1}{\sqrt{48}} = \frac{1}{6.928203} = 0.144338 IB=90×406496=36540496=73.669355,SEB=173.669355=18.583085=0.116508 I_B = \frac{90\times 406}{496} = \frac{36540}{496} = 73.669355, \qquad \operatorname{SE}_B = \frac{1}{\sqrt{73.669355}} = \frac{1}{8.583085} = 0.116508

차이와 그 표준오차:

θ^Aθ^B=1.386294(1.506543)=+0.120249 \hat\theta_A - \hat\theta_B = -1.386294 - (-1.506543) = +0.120249 SEA2=0.1443382=0.0208333(=1/48, 정확히)SEB2=0.1165082=0.0135742(=1/73.669)=0.0344075SE(차이)=0.0344075=0.185493 \begin{aligned} \operatorname{SE}_A^2 &= 0.144338^2 = 0.0208333 \quad(=1/48\text{, 정확히})\\ \operatorname{SE}_B^2 &= 0.116508^2 = 0.0135742 \quad(=1/73.669)\\ \text{합} &= 0.0344075\\ \operatorname{SE}(\text{차이}) &= \sqrt{0.0344075} = 0.185493 \end{aligned} z=0.1202490.185493=0.6483,p-value=0.517 z = \frac{0.120249}{0.185493} = 0.6483, \qquad p\text{-value} = 0.517
(다) 답 z=0.65z = 0.65, p=0.52p = 0.52 → 두 학급의 밀도 차이는 표본 변동으로 설명되는 수준이다. "A반이 더 밀하다"고 말할 근거가 없다.

(라) 교감에게 할 답.

예시 답안 "두 지표가 서로 다른 답을 냅니다. 밀도로 보면 A반이 20.0%, B반이 18.1%로 A반이 높지만, 이 차이는 통계적으로 구별되지 않습니다(z=0.65z=0.65, p=0.52p=0.52). 게다가 밀도는 학급 인원이 많을수록 자동으로 낮아지는 지표라 인원이 다른 두 반을 비교하는 데 적절하지 않습니다 — 가능한 짝의 수가 A반 300쌍, B반 496쌍으로 1.65배 차이 나는데 학생 한 명이 사귈 수 있는 친구 수는 그만큼 늘지 않기 때문입니다.
학생 개인이 체감하는 관계의 양은 평균 친구 수로 보는 편이 낫고, 그 기준으로는 B반이 5.6명으로 A반 4.8명보다 많습니다.
결론적으로 '어느 반이 더 활발한가'는 이 자료로는 답할 수 없고, 굳이 답한다면 학생 한 명 기준으로는 B반이 조금 낫습니다. 다만 두 학급 모두 고립 학생이 있는지, 무리가 갈라져 있는지는 밀도로는 알 수 없으므로 별도로 봐야 합니다."
교실에서 진짜 중요한 지점
학급 간 비교를 요구받았을 때 밀도(또는 그 로짓인 θ^\hat\theta)를 그대로 들이대면 인원이 많은 학급이 언제나 손해를 본다. "우리 학년에서 우리 반 관계가 제일 나쁘다"는 결론이 사실은 "우리 반이 학년에서 제일 크다"였던 경우가 흔하다.
규모가 다른 학급을 비교할 때는 ① 평균 차수, ② 고립 학생 비율, ③ 무리 개수처럼 분모가 n2n^2이 아닌 지표를 함께 봐야 한다.