티스토리 뷰

서론 : 생산적 노동의 구분문제

생산적 노동의 구분문제는 마르크스경제학에서 매우 중대한 문제이다. 이론적 문제는 비교적 논쟁의 여지가 많지 않았으나 계량경제학적으로는 거의 현실적인 어려움에 봉착하기도 한다.

우선적으로 가장 큰 문제는 가치를 개별부문으로 추정할 수 없는 문제이다. 이는 선형생산모형에서도 마찬가지인데 추상노동으로의 환원이 완료된 벡터 $l$이 주어지지 않는 한 마르크스주의적 '가치'라고 하기에는 무리가 있기 때문이다.

우선 나의 지극히 개인적인 생각은 이론적 가정에 정확히 맞도록 하는 데 집착하기보다는 생산적 노동에 대한 정의를 바꾸는 것이다. 현대마르크스경제학은 시계로 잰 노동시간을 동질한 추상적 노동시간으로 바꾸는 메소드에 대해 아직 적절한 합의가 도출되지는 않았다. 그러나 이는 수리경제학의 영역에서 그렇다는 것이고, 계량경제학적 영역에서는 거의 질적인 방법에 의존하고 있다. 예컨대 Shaikh& Tonak(1994)[각주:1], 정성진(2005)[각주:2], 정구현(2015)[각주:3] 등이다. 이들은 대체로 비생산적 부문을 정부 서비스, 사회단체 등으로 구분한 후 직종별로 실제 직접생산하는 직종으로 한정한 노동을 생산적 노동으로 규정하여 일종의 매트릭스를 만들어 그 추세를 확인하는 방식을 사용하고 있다.

다만 이런 경우 던컨 폴리(1986)[각주:4]가 지적하는 바와 같이 잉여가치율의 추계는 무엇을 비생산적 노동으로 구분하느냐에 따라 달라진다는 점은 또 다른 문제이기도 하다.

기존의 연구

사실 나는 생산적 노동자의 구분 문제에 관해 방송통신대학 경제학과 재학시절 학술심포지엄에서 이와 관련한 발표를 한 적이 있다. 간략하게 그 내용을 요약하자면 산업연관표로 구한 투입계수행렬로 노동탄력성을 구한 후 그것을 오키시오 노부오의 명제. "가치는 노동생산성과 반대로 움직인다."는 가정에 기초하여 생산적 부문을 비모수통계학적으로 구간추정을 해보는 것이었다. 하지만 이런 방법에 암묵적으로 적용되는 가정을 당시 나는 제대로 이해하지 못하고 있던 것 같다. 왜냐하면 이는 곧 부문 내에 노동들이 동질하다고 가정하는 것과 같기 때문이다. 이는 지극히 비현실적일 것이다.

최근들어 그래서 Shaikh& Tonak(1994)의 방법이 산업부문과 직종을 고려한 매트릭스를 꾸민다는 걸 알게 되었다. 그냥 읽고 보는 것과 이렇게 주제의식을 통해 그것이 연결되는 건 또 다르구만. 지식이라는 건 하나의 지식이 아니라 연결된 것이 지식인 듯 하다.. 바보 멍청이 ㅠ

둘 다를 고려하는 건 일단 어렵더라도 직종에 대해서 뭔가를 해볼 수 있지 않을까 한 것이 주성분 분석이다. 일단 저번에 MELT 잔차분석을 하면서 얻은 분기별 국민순소득 NNI를 가지고 직종별 노동 데이터를 이용해 회귀분석을 돌려보는 거다.

자료의 수집

한국은행경제통계시스템에서 <15.6.1 경제활동인구 조사>의 직종별 노동자 수를 수집했다. 다만 노동시간의 경우 얻을 수가 없어서.. 그냥 직종별로 근로시간이 동일하다고 가정하자. (설렁설렁) 직종은 다음과 같이 9개의 직종으로 정리된다.

1 관리자 2 전문가 및 관련 종사자 3 사무 종사자 4 서비스 종사자 5 판매 종사자 6 농림어업 숙련 종사자 7 기능원 및 관련 기능종사자 8 장치,기계조작 및 조립종사자 9 단순노무 종사자

그런데 이 직종별 취업자를 조사하는 건 2004년부터였나보다... 별 수 없이 분석시점을 2004~2015년으로 한정.

국민순소득은 저번 MELT 잔차 분석 하느라 얻었으니까네~ 이제 시작.

OLS 결과

OLS 추정은 다음과 같이 된다.

(1) $NNI=b_{0}+b_{1}X_{1}+...+b_{9}X_{9}+\epsilon$

그냥 OLS를 해보았다. 하지만 역시 실패.

> summary(ols)

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -4.462e+05  1.509e+05  -2.956 0.005324 ** 
manager      6.792e+01  7.181e+01   0.946 0.350202    
engineer     4.276e+01  1.047e+01   4.083 0.000221 ***
officer      6.657e+01  2.172e+01   3.065 0.003991 ** 
servicer    -3.109e+01  2.882e+01  -1.078 0.287651    
salsman      3.201e+01  2.789e+01   1.148 0.258240    
farmer       6.182e+00  7.894e+00   0.783 0.438414    
functional   4.863e+01  2.670e+01   1.822 0.076398 .  
machineer   -6.199e+00  2.938e+01  -0.211 0.834038    
simpler      3.096e+01  1.504e+01   2.058 0.046511 * 
>vif(ols)#다중공선성 검정
 manager engineer officer servicer salsman farmer functional machineer 
 33.850974 29.508420 63.369546 5.645150 5.380637 2.688856 3.312921 27.527332 
 simpler 
 9.563941

유의한 회귀계수는 전문직, 사무종사자, 단순노무자 정도로 나타났다. 다중공선성 검정 vif() 함수로 하면 4 이상의 경우가 다중공선성이 존재한다는 것이고 결과는 좀 극심한 편... 유의한 변수도 너무 없고.. 제거하려면 거의 다 제거해야하니(?) 어떻게 할까 하다가 최근 데이터분석 준전문가 자격증 공부하면서 알게 된 주성분 분석을 떠올렸다. 이러면 다중공선성 처리를 고민할 필요도 없다. 물론 경제학적 의미를 생각해야겠지만..

주성분 분석(PCA)

PCA에 대해 간단하게 말하자면,

설명변수들의 특징을 그대로 보존하되 선형전환을 통하여 소수의 새로운 변수를 창출하여 회귀분석을 수행하는 방법이 바로 주성분 분석이다.[각주:5]

새로운 변수를 만들게 되는데 기존의 설명변수들의 특징을 보존하는 편리한 방법이다.

주성분 변수는 다음과 같이 얻을 수 있다.

(2) $PC_{1}=a_{11}X_{1}+a_{12}X_{2}+...+a_{19}X_{9}\\PC_{2}=a_{21}X_{1}+a_{22}X_{2}+...+a_{29}X_{9}\\.........\\PC_{9}=a_{91}X_{1}+a_{92}X_{2}+...+a_{99}X_{9}$

여기서 $PC_{1}$은 모든 설명변수들의 변화를 최대한 수용한 결과라 볼 수 있고, $PC_{2}$는 $PC_{1}$에서 수용하지 못한 나머지 변화를 최대한 수용하는 식으로 가는 것이라 한다. 어쨌든 이 주성분 변수는 R에서 다음과 같이 prcomp() 함수로 얻을 수 있다. (참고로 주성분 분석 시 변수를 표준화하는게 보통인 듯 하다. 따로 계산하는 뻘짓하지 말고.. 파라메터로 scalse=True를 주면 끝이다)

> x_PCs <- prcomp(dataset, scale=T)
> summary(x_PCs)
Importance of components:
                          PC1    PC2    PC3     PC4     PC5     PC6     PC7    PC8
Standard deviation     2.2521 1.4777 0.9800 0.58033 0.50328 0.34994 0.19159 0.1560
Proportion of Variance 0.5635 0.2426 0.1067 0.03742 0.02814 0.01361 0.00408 0.0027
Cumulative Proportion  0.5635 0.8062 0.9129 0.95031 0.97845 0.99206 0.99614 0.9988
                           PC9
Standard deviation     0.10220
Proportion of Variance 0.00116
Cumulative Proportion  1.00000

분산의 비율(Proportion of variance)이 가장 높게 나온 $PC_{1}$을 print() 함수로 보도록 하자. 밑을 보면 이 PC1 변수의 식을 다시 보면

$PC_{1}=a_{11}X_{1}+a_{12}X_{2}+...+a_{19}X_{9}$

즉 각 설명변수 마다의 계수 값을 매트릭스로 연결한 것임을 알 수 있다.

> print(x_PCs$rotation)
Rotation:
                   PC1         PC2          PC3         PC4         PC5         PC6
manager    -0.41842653  0.18700207 -0.051614936  0.12404827 -0.03982664  0.27267321
engineer    0.43343746  0.03754394 -0.112652724  0.04807274  0.18460573  0.15735406
officer     0.43432689 -0.06744745 -0.035924908 -0.06096373 -0.20829071 -0.32507255
servicer    0.06653789 -0.61811954  0.079401725  0.06895697  0.72494799  0.03815471
salsman    -0.17272656 -0.53759083  0.308682595 -0.43321507 -0.39440800  0.41684459
farmer     -0.27279490 -0.11451081 -0.702886312 -0.56426844  0.09647469 -0.27907097
functional -0.21937400 -0.44837743 -0.374094144  0.67964610 -0.30913146 -0.09565259
machineer   0.39296149 -0.26851378  0.003614433 -0.07592642 -0.36276278 -0.24312909
simpler     0.37039015  0.04172716 -0.497751369  0.00846146 -0.05810186  0.68837482

설명변수의 설명력이라고 생각해보면 계수값의 음과 양 상관없이 절대값으로 한 후 가장 계수 값이 많이 나온 상위 설명변수들에 주목하자. 왜냐하면 경제학적 의미를 설명해야하니까네.. 보아하니 관리자, 전문직, 사무직, 기능직, 단순노무직의 특성들이 잘 요약된 변수임을 알 수 있을 것이다. 아래의 표에서 정리해보았다.

  PC1 PC2 PC3
1 관리자 -0.41843 0.187002 -0.05161
2 전문가 및 관련 종사자 0.433437 0.037544 -0.11265
3 사무 종사자 0.434327 -0.06745 -0.03592
4 서비스 종사자 0.066538 -0.61812 0.079402
5 판매 종사자 -0.17273 -0.53759 0.308683
6 농림어업 숙련 종사자 -0.27279 -0.11451 -0.70289
7 기능원 및 관련 기능종사자 -0.21937 -0.44838 -0.37409
8 장치,기계조작 및 조립종사자 0.392961 -0.26851 0.003614
9 단순노무 종사자 0.37039 0.041727 -0.49775

구획을 한 번 지어보면 $PC_{1}$은 중간관리직군-단순노무직군이다. $PC_{2}$는 서비스직군, 기능직군이다. $PC_{3}$은 농림어업직군-서비스직군으로 크게 나눌 수 있다.

여기서 주성분 변수를 몇 개까지 선택해야 할까도 또 하나의 관건이다. 보통 카이저 기준이라 하여 주성분 변수의 고유근이 1보다 큰 경우만을 채택하는 것이다. 이건 스크리 플롯을 띄우면 알 수 있다.

> plot(x_PCs, type="l",sub = "Scree Plot")

스크리 플롯의 Y축이 바로 고유값이다. (어째서인지 plot()함수에서는 Y축에 자동으로 Variances라고 레이블 하는데.. 불안하지만 그냥 넘어가자(?)) 카이저 기준에 따라 3개 정도가 적당한 주성분 변수의 수가 된다. 이제 이를 가지고 OLS를 해보면 끝이다.

PC를 이용한 OLS

PC 변수를 이제 3개를 얻었으니 그 OLS 추정은 다음과 같이 나타난다[각주:6].

$NNI=r_{1}PC_{1}+r_{2}PC_{2}+r_{3}PC_{3}+v$

이제 (1)식과 (2)식을 모두 고려하여 정리하면 다음과 같이 된다.

$NNI=r_{1}(a_{11}X_{1}+...+a_{19}X_{9})+r_{2}(a_{21}X_{1}+...+a_{29}X_{9})+r_{3}(a_{31}X_{1}+...+a_{39}X_{9})+v\\~~~=(r_{1}a_{11}+r_{2}a_{21}+r_{3}a_{31})X_{1}+(r_{1}a_{12}+r_{2}a_{22}+r_{3}a_{32})X_{2}+(r_{1}a_{13}+r_{2}a_{23}+r_{3}a_{33})X_{3}+v$

따라서 OLS 식에서 $i$ 번째의 회귀계수는 다음과 같이 구해진다.

$\beta_{i}=r_{1}a_{1i}+...r_{m}a_{mi}(m=1,2,...,9)$

왠지 회귀계수를 구하는 게 복잡해보이지만.. R로 하면 간단하다. 설명변수로 구성된 매트릭스에 PC 변수들의 매트릭스를 곱해주면 된다. 둘 다 차원은 같으므로 그냥 행렬곱을 해버리면 위의 식과 같이 정리가 된다. (R에서 행렬곱을 하려면 연산자를 A %*% B로 해줘야 함)

> PRC <- as.matrix(dataset) %*% x_PCs$rotation#행렬곱
> tr <- cbind(dataset2["nni"],as.data.frame(PRC))#종속변수와 행 합치기를 한다.

> ols.prc <- lm(nni~PC1+PC2+PC3, data=tr)#주성분변수를 이용하여 OLS 시행.
> summary(ols.prc)
Call:
lm(formula = nni ~ PC1 + PC2 + PC3, data = tr)

Residuals:
     Min       1Q   Median       3Q      Max 
-14322.9  -6547.1    898.5   5830.2  15340.7 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.563e+05  4.141e+04  -3.776 0.000475 ***
PC1          6.680e+01  1.935e+00  34.522  < 2e-16 ***
PC2         -1.545e+00  7.856e+00  -0.197 0.845009    
PC3         -3.603e+01  6.000e+00  -6.004 3.32e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 7860 on 44 degrees of freedom
Multiple R-squared:  0.9728, Adjusted R-squared:  0.9709 
F-statistic: 524.5 on 3 and 44 DF,  p-value: < 2.2e-16

또한 이 모형은 OLS의 기본가정 (정규성, 등분산성, 비-자기상관성)이 모두 충족됨을 확인하였다.

결과 해석

PC2의 p-value가 유의하지 않다는 결론이 나온다. 이 말은 귀무가설 H0 : $\beta=0$임을 기각하지 못한다는 말과 같다. 즉 이를 해석하자면 이 모형에서 서비스직군, 기능원직군 직종의 경우 국민순소득 NNI를 설명해주는 변수가 아니라는 소리이다. 우리는 이를 비생산적 직종으로 의심해볼만한 충분한 통계적 근거가 하나는 마련되었다는 생각이 든다.

그러나 이 분석의 문제는 직종이 산업별로 다른 영향이 있을 수 있다는 점을 고려하지 못하고 있다. 말 그대로  Shaikh& Tonak(1994)의 방법처럼 부문과 직종의 통제가 필요하다는 말이다. 물론 이는 개인적인 재미로 한 것이니 나중에 해결하기로 하자.

다른 한편으로 이러한 생산적/비생산적 구분은 정책적으로도 유용할 수 있는데.. 노동가치론을 받아들이냐 아니냐와 상관없이 국민순소득이 높아지기 위해 필요한 직종의 지원이 어느쪽에 우선되어야 하는가? 또는 어느쪽의 노동생산성을 높이기 위한 교육이 더 많이 이루어져야 하는가? 와 같은 질문에 온당하게 제시될 수 있다는 것이기도 하다. 그런 현실적이고 정책적인 관점에서 생산적 노동의 구분 문제가 좀 더 많이 다루어졌으면 좋겠다는 생각을 하며 이 글을 마칠까 한다.

[이관 글. 2017-06-15 작성]

  1. Shaikh, A. M., & Tonak, E. A. 1994. “Measuring the wealth of nations.” Cambridge Books. [본문으로]
  2. 정성진. 2005. “한국경제의 마르크스 비율 분석: 1970-2003.” 사회경제평론, 293-339. [본문으로]
  3. 정구현. 2015. “한국 자본주의의 마르크스 비율 추세: 1980 - 2011년 - ‘노동시간의 화폐적 표현’ 모형이 지니는 약점과 그 보완.” 한국사회경제학회 학술대회 자료집, 1-23. [본문으로]
  4. Foley, Duncan K., and Duncan K. Foley. Understanding capital: Marx's economic theory. Harvard University Press, 1986. (국역본)"자본의 이해". p202. 강경덕 역. 유비온출판사. [본문으로]
  5. 이종원. "계량경제학". p295. 박영사. [본문으로]
  6. 이종원. "계량경제학". p297. 박영사. [본문으로]