3. popong
실험용 Raw data
► 국회 의안 정보 시스템 - 제 18대 국회 의안 중 처리 의안1)
3
1.1. 의안 정보 설명
1) http://likms.assembly.go.kr/bill/jsp/main.jsp
4. popong
► 의원 별 참여 의안에 대한 participation binary matrix 구성
• 단, 의안 이름이 같은데 발의자 구성이 같은 경우 하나의 record로 간주
► Case 분류 및 중복제거: 총 6가지 case에 대한 분석
• 의원수(n): 328명
• 의안수(m):
4
1.2. 의안 정보 전처리
의안 1 의안 2 의안 3 … 의안 m
의원 1 1 0 0 … 1
의원 2 1 0 1 … 0
… … … … … …
의원 n 0 1 0 … 1
전체 의안 노이즈제거 후 의안1)
전체 3262 2856
Accepted (원안가결, 수정가결) 505 472
Rejected (대안폐기, 폐기, 철회) 2757 2384
상임위원회 2510 2497
특별위원회 752 359
본 회의 53 23
1) 공동발의자수가 150명 이상인 경우를 제외
P(n,m) =
5. popong
Similarity calculation: 세 가지 set similarity measure 사용
► 의원 간의 상관계수를 계산하여 그들간의 비유사성(dissimilarity) 계산
• Dissimilarity = 1 - Abs(Similarity)
► 위에서 계산된 비유사성을 이용하여 계층군집 알고리즘 적용
• Single linkage(minimum distance) 사용
5
1.3. 데이터 분석
※ 계층군집 알고리즘
• 각 개체 간의 비유사도를 기반으로 가장 가까운 것 두 개를 묶는다.
• 묶은 개체 둘은 다시 하나의 개체로 간주하여 다시 앞 과정을 반복한다.
• 앞 두 과정을 전체가 하나로 묶일 때까지 반복한다.
9. popong
Network for members
► Bills can be used
• After filtering bills having more than 150 proposers
• The set of bills
– All bills
– Accepted bills
– Rejected bills
– 상임위원회 소관 bills
– 특별위원회 소관 bills
– 본회의 소관 bills
9
2.1. 의원 네트워크 구축
전체 의안 노이즈제거 후 의안1)
전체 3262 2856
Accepted bills 505 472
Rejected bills 2757 2384
상임위원회 2510 2497
특별위원회 752 359
본 회의 53 23
11. popong
Network for members
► Using similarity matrix
• Calculated with all bills except having more than 150 proposers
► Using Spotfire
► Connected Component
• Most simple clustering in network analysis
► Betweenness
• Betweenness is a centrality measure of a vertex within a graph. Vertices that occur on
many shortest paths between other vertices have higher betweenness than
those that do not.
11
2.1. 의원 네트워크 구축
12. popong 12
2.1. 의원 네트워크 구축
Filter Settings
jacc_all_filtered
- Column 3: (0.30 <= Column 3 <= 1.00) without empty values
13. popong 13
2.2. “18대 국회 한 눈에 보기” – 여러 의원에 대하여
0 0 0 0 0 0 0 0 1 1 2 3 7
18
41
71
130
296
0
50
100
150
200
250
300
350
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
선거구-18대국회의원 상임위원회-18대국회의원
50
47 46 45 44 43
35
32
28 27
22
0 0 0 0
0
10
20
30
40
50
60
국토해양위원회
정무위원회
국방위원회
정보위원회
법제사법위원회
여성가족위원회
국회운영위원회
기획재정위원회
지식경제위원회
보건복지가족위원회
여성위원회
농림수산식품위원회
보건복지위원회
행정안전위원회
환경노동위원회
국회 회차-18대국회의원
51
46
18 17 15
12 12 11 11 10 8 8 8 6 6
3
54
0
10
20
30
40
50
60
경기
서울
부산
경남
경북
대구
인천
전남
전북
충남
강원
광주
충북
대전
울산
제주
비례
169
87
16
8 5 2 1 1 7
0
20
40
60
80
100
120
140
160
180
정당-18대국회의원
14. popong 14
2.2. “18대 국회 한 눈에 보기” – 여러 의원에 대하여
66
194
32
4
0
50
100
150
200
250
1 2 3 4
143
80
42
20
6 4 1
0
50
100
150
200
250
1 2 3 4 5 6 7
참여 상임위원회 수 - 18대국회의원 참여 상임위원회 수 - 18대국회의원
개
명
회
명
15. popong
Ex:
► 국토해양위원회(?)
► 정무위원회(?)
15
2.3. 상임위원회별 분석
중산층 시민 낙동강 국토 복지 4대강
공사현황 영산강 ….
발의 의안 보기
발의 의안 보기
국무총리실 날치기 감사 저축은행 브리핑
이상득 질의 동래구 …
…
해당 상임위원회의 역할을 간단히 설명
해당 상임위원회의
발의 의안의 처리 현황을 한 눈에 볼 수 있게 정리
해당 상임위원회의
발의 의안의 핵심어 (as if tag cloud)
해당 위원회의 핵심 인물들 (영향력 순)
16. popong
의원 i의 발의 의안의 통과 확률
► billPassMat(i) = P(i,:) x B(:, 4)
• Where P=(participation binary matrix), B=(bill matrix)
► 통과확률 = billPassMat {1,2}/billPassMat {1,2,3,4,5}
16
2.4. 의원별 분석 – 각 의원에 대하여
의결결과
1: 원안가결
2: 수정가결
3: 대안폐기
4: 폐기
5: 철회
의안id 제안일자 의결일자 의결결과 IF …
의안 1 1812699 2011-05-11 2011-07-22 1 0.45 …
의안 2 1246819 2011-04-24 2011-07-22 2 0.64 …
… … … … … … …
의안 m 1266626 2011-03-22 2011-04-21 4 1.54 …
B(m,p) =
원안가결 수정가결 대안폐기 폐기 철회
17. popong
Various Indices
► Centrality, Prestige 등의 network influence measure
► Activity
• 각 의안의 impact factor
► Diversity
► Sociability
► Tolerance
► Durability or Recency (?) 등 시간을 고려한 index
17
2.4. 의원별 분석 – 각 의원에 대하여
18. popong
► Network influence measures : ‘Centrality’
• Degree Centrality: [0,1]
• Closeness Centrality: [0,1], xi is central if it can easily interact with all other actors (i.e.,
distance is short)
• Betweenness Centrality:
18
2.4. 의원별 분석 – 각 의원에 대하여
𝐶 𝐷(𝑖) =
)𝑑(𝑖
𝑛 − 1
)𝑤ℎ𝑒𝑟𝑒 𝑑 𝑖 = node degree (𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑒𝑑𝑔𝑒𝑠
1
1
( )
( , )
C n
j
n
C i
d i j
𝑤ℎ𝑒𝑟𝑒 𝑑 𝑖, 𝑗
= 𝑠ℎ𝑜𝑟𝑡𝑒𝑠𝑡 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓𝑟𝑜𝑚 𝑝𝑜𝑙𝑖𝑡𝑖𝑐𝑖𝑎𝑛 𝑖 𝑡𝑜 𝑝𝑜𝑙𝑖𝑡𝑖𝑐𝑖𝑎𝑛 𝑗
(measured as the no. of links in a shortest path)
( )
( ) jk
B
j k jk
p i
C i
p
𝑝𝑗𝑘 = 𝑛𝑜. 𝑜𝑓 𝑠ℎ𝑜𝑟𝑡𝑒𝑠𝑡 𝑝𝑎𝑡ℎ𝑠 𝑏𝑡𝑤 𝑝𝑜𝑙𝑖𝑡𝑖𝑐𝑖𝑎𝑛 𝑗 𝑎𝑛𝑑 𝑝𝑜𝑙𝑖𝑡𝑖𝑐𝑖𝑎𝑛 𝑘
𝑝𝑗𝑘 i = 𝑛𝑜. 𝑜𝑓 𝑠ℎ𝑜𝑟𝑡𝑒𝑠𝑡 𝑝𝑎𝑡ℎ𝑠 𝑏𝑡𝑤 𝑝𝑜𝑙𝑖𝑡𝑖𝑐𝑖𝑎𝑛 𝑗 𝑎𝑛𝑑 𝑝𝑜𝑙𝑖𝑡𝑖𝑐𝑖𝑎𝑛 𝑘 𝑡ℎ𝑎𝑡 𝑝𝑎𝑠𝑠 𝑖
[0, 1]
( ) 2
' ( )
( 1)( 2)
jk
B
j k jk
p i
C i
p n n
[0, (n-1)(n-2)/2]
19. popong
► Recent Activity
• IF(b) = 의안 b의 impact factor 계산 : how?
•
– Where =0.75 (?)
19
2.4. 의원별 분석 – 각 의원에 대하여
( (
(18
( )recency b
오늘날짜) - 발의일)
대국회의전체기간( 일) )
( ) ( , ) ( ) ( )
b B
Activity i P i b IF b recency b
(?)
20. popong
Diversity
► Calculate committee distribution based on
► Diversity is defined as the entropy of this distribution
20
2.4. 의원별 분석 – 각 의원에 대하여
A
# of bills of A belong to committee com
P (com) =
# of all bills of A
A A
com all committee
Diversity(A) P (com)logP (com)
21. popong
Sociability
► The score of sociability is basically defined based on how many co-proposers a
representative proposer has
► #co-billsc denotes the number of bills co-proposed between the representative
proposer and the coproposer c
21
2.4. 의원별 분석 – 각 의원에 대하여
c
each co-proposer(c)
)Sociabilty(A) = 1 + ln(#co-bills
22. popong
Tolerance
► The measure of how strong belief a proposer has
► 자신의 소신에 따라 의안을 발의하는 것과 대표 발의 자와 다른 정당 소속인 것이
과연 연관성이 있는가?
► 발의 의안 자체의 수가 매우 작은 경우 tolerance가 급격히 커질 수 있음
• 발의 의안 수가 매우 작은 의원의 경우 tolerance가 작아지도록 ?
• 혹은 해당 의원의 발의 의안 수를 함께 보여줌으로써 사용자 판단에 ?
22
2.4. 의원별 분석 – 각 의원에 대하여
# of bills that the representative proposer belongs to other party
# of all bills of A
Tolerance(A) =
23. popong
Durability
► The measure of how frequently a proposer keeps proposing
► The number of proposed bills a day
• 날짜가 생각보다 연속적이지만 의원 별로 봤을 때는 어떻게 될 지 모르겠음
23
2.4. 의원별 분석 – 각 의원에 대하여
0
50
100
150
200
250
300
350
24. popong
Durability
► 의원 별 의안 발의 사이 기간(interval)에 대해 계산
► Interval의 분포를 이용하여, 혹은 statistics를 이용하여 durability 값을 설정
► 얼마나 꾸준히 의안 발의에 참여하는지에 대한 정보를 포함해야 함
• Median
• Average
• Standard deviation
• max – min
• Interval의 분포의 average 혹은 median을 계산하여 이를 exponential의 모수로 설정
• 몇%의 확률로 며칠 후에 또 발의를 할 것인가 에 대한 계산도 가능할 것으로 사료됨
24
2.4. 의원별 분석 – 각 의원에 대하여
25. popong
Et cetera
► 최근 해당 의원의 관심사
• Do you want to see the change of his/her research interests?
► What else…?
25
2.4. 의원별 분석 – 각 의원에 대하여
26. popong
이건 우리 전문은 아니지만… plan?
► ‘열려라 국회’에서 크롤링된 데이터를 기반으로 하되, 보다 table로 깔끔하게 정리
되어 일관된 데이터 형태를 추구
• 향후 보다 다양하고 편리한 데이터 분석을 위함
► Meaningful Variables
• What else…?
26
2.5. 의원별 DB 구축
개인정보 의원번호 한문이름 출생지 홈페이지 재산내역 트위터id
학력 고등학교 대학교 대학원(n개)
정치활동 상임위 (16개) 의원당선 (18회) 정당 선거구
의정활동 본회의출석 본회의발의
기타경력 경력 (n개)
최근소식 관련뉴스
네트워크 -
27. popong
의원별 DB 구조
► 의원번호: 역대 국회의원 이름 크롤링 → 의원별 일련번호 지정
• 이름 중복을 처리하기 위한 key
• Ex: 강기갑’s id = 1024
► 학력
• 고등학교, 대학교, 대학학과 DB 등 필요
► 정치활동
• 선거구: “성남시 분당구 갑” vs “광주시” 등 어떻게 저장할 것인지의 문제
► 기타경력
• 활동분류 | 활동내용 | 시작일 | 마감일
27
2.5. 의원별 DB 구축
약간의 -_- 노가다 필요
28. popong
어쨌든 결론
► DB는 분석하기 쉬워야하고
► DB에서 끌어낸 분석의 인터페이스는 ‘의미있는 정보만’ ‘한눈에 보기 쉽게’ 담아야
할 것
28
2.5. 의원별 DB 구축