[Python] 정적분과 지니 계수 구하기


 

지니계수는 소득 불평등 정도를 나타내는 소득분배 지표입니다.

지니계수는 0~1 사이의 값을 갖고 로렌츠 곡선을 이용해 구할 수 있습니다

소득 분배율이 일정할때 로렌츠 곡선은 y=x 와 일치하게 되고 이때의 직선을 완전평등 대각선이라고 합니다.

 

$$2\int_0^1 \sin x-L(x)~dx$$

지니계수의 정의는 위와 같습니다. 이를 이용해 프로그램을 작성해보았습니다.

$L(x)$는 로렌츠 함수입니다.

 

from sympy import Integral, Symbol

x = Symbol('x') #x의 문자 변수화

Lx = 0.7 * x**2 + 0.3 * x
f = x

result = Integral(f = Lx, (x,0,1)).doit() #0부터 1까지 정적분
print('지니 계수 : ', 2 * result)
result = round(2 * result , 2)
print('반올림 값 : ', result)

if result == 0:
	print('완전 평등')
elif 0 < result <= 0.2:
	print('매우 평등한 사회')
elif 0.2 <= result < 0.4:
	print('비교적 평등한 사회')
elif 0.4 <= result < 0.6:
	print('불평등한 사회')
else:
	print('매우 불평등한 사회')

 

위 예제는 $L(x) = 0.7x^2 + 0.3x$ 일 때의 지니계수를 구하는 예제입니다.

 

 

 

더 참고할만한 것 - http://www.index.go.kr/potal/main/EachDtlPageDetail.do?idx_cd=1407

 

COMMENT WRITE