GMDH를 이용한 시뮬레이션 함수 추정*

송한식

Functional Estimation of Simulation using GMDH

Hansik Song

요약

본 논문은 러시아 수학자 이바넨코(A.G. Ivakhnenko)에 의해서 소개된 자기조직형 모형화 방법인 GMDH(group method of data handling)을 이용하여 시뮬레이션과정을 하나의 함수로 구축하는 것을 다루었다. 먼저 GMDH 방법을 소개하고, 선행 연구에서 지적한 통계적인 평가를 근거로 몇 가지 수정 사항을 제시하였으며, 그에 따라 GMDH를 프로그램하였다. 확률적인 상황이 관련된 제품배합문제를 엑셀에서 몬테칼로 시뮬레이션 모형으로 구축하고 데이터를 수집하여 GMDH 방법으로 시뮬레이션 과정을 다항식 함수로 추정하는 예시를 보였다. 그리고 그 함수추정이 충분한지에 대한 통계적인 테스트과정을 보였다. 예시한 시뮬레이션 모형에서 GMDH 방법에 의한 함수 추정을 신경망 방법에 의한 모형과 비교한 결과 동일하게 평가되었다. 시뮬레이션 대신에 몇 가지 함수에 대해서 적용해본 바, 신경망 모형에 비해서 열등하지 않았으며 경우에 따라서 더 우수하였다. 따라서 시뮬레이션 과정을 추정하는 모형이 필요할 때에는 기존의 신경망모형 방법과 함께 GMDH 방법으로 함수추정을 해 볼 필요가 있다는 결론을 얻었다.

1. 서론

본 논문은 시뮬레이션 과정을 하나의 함수로 구축하는 것에 관한 연구이다.

-------------------------------------------------------------

*이 논문은 2001학년도 동아대학교 학술연구비(연구 기초자료비)에 의하여 연구되었음.

분석하고자 하는 현실의 시스템을 시뮬레이션 모형으로 표현할 경우, 평가하고자 하는 시스템의 성과는 시스템 설계변수에 대한 함수관계를 가진다. 이 때 설계변수를 , 시뮬레이션을 통하여 평가한 시스템 성과를 반응함수 라고 한다면, 확률적 시뮬레이션(stochastic simulation)의 목적은 반응함수 의 기댓값을 찾는 것이다. 설계변수 에 따른 함수 F는 다음과 같이 쓸 수 있다.

, (1)

여기서 는 확정적 함수(deterministic function)이고, 모든 에 대해서 기대치가 0, 즉 인 확률적 함수(stochastic function)이다. 함수 는 명시적으로 주어져 있지 않고, 시뮬레이션 실행을 통한 산출결과 값인 만 관찰된다. 따라서 함수 를 추정하게 되면 이를 시뮬레이션에 대한 메타모델(meta model)으로 간주하여 매우 유용하게 활용할 수 있다. 예를 들면, 함수 를 추정할 수 있다면 시뮬레이션을 하지 않고도 특정한 에 대하여 그 그래디언트를 직접 추정할 수 있다. 따라서 다음과 같은 시뮬레이션 최적화문제에서 일반적인 최적화 알고리즘을 적용할 수 있는 것이다.

optimize (2)

시뮬레이션 메타모델(meta model)에 대해서, Law와 Kelton(2000)은 시뮬레이션 과정을 설계변수에 대한 일차함수로 간주하고 그 함수식의 계수를 추정하는 방법, 가능한 여러 가지 2차 다항식 함수를 가정하고 그 계수를 추정하는 회귀분석 방법을 예시하고 있다. 그러나 설계변수가 많아진다면 이와 같은 방법으로는 적합한 함수를 찾는 것은 쉬운 일이 아니다.

시뮬레이션 메타모델을 신경망모형(Neural Network model)으로 구축하는 방법이 있다. 시스템의 설계변수에 대해서 시뮬레이션 산출의 반응값의 관계를 하나의 블랙박스(black box)로 간주하고, 투입-산출의 관계를 신경망모형으로 구축하는 방법이다. 실제로 시뮬레이션 최적화 프로그램의 하나인 CrystalBall▻ 프로그램에서 채택한 최적화 프로그램인 OptQuest▻는 신경망모형으로서 시뮬레이션 결과를 예측하여 탐색을 가속화(그들의 용어로는 turbo)하고 있다. Laguna와 Marti(2002)는 신경망모형으로 시뮬레이션을 예측하여 그것을 최적화에 이용하는 예를 보이고 있다.

한편, 시스템을 모델링할 때, 그 시스템의 작동방식을 몰라도 스스로 그 시스템의 모형을 구축하는 방법(self-organizing modeling method)이 1960년대 말에 러시아의 수학자 이바넨코에 의해서 소개되었다. 이바넨코는 이를 GMDH(group method of data handling)이라고 이름 붙였다(Ivakhnenko, 1966; Farlow, 1984; Madala와 Ivakhnenko, 1994). 시뮬레이션에 대한 메타모델 구축도 넓은 의미에서 보면 시스템의 모델링에 속한다. 그러므로 이바넨코의 GMDH를 응용하면, 시뮬레이션 과정을 하나의 시스템 모델링으로 간주하고 메타모델을 만들 수 있다.

앞에서 소개한 메타모델 구축의 두 가지 방법을 스펙트럼의 양쪽 끝에 위치시킨다면, 한쪽 끝은 함수식의 구조를 미리 가정하고 그 함수를 찾는 경우이고, 다른 한쪽 끝은 함수식의 구조에 구속받지 않고 접근하는 방식이다. 본 논문에서는 연구하고자 하는 GMDH 방법은 스펙트럼 중간에 위치하는 방법이다. 즉, GMDH 방법은 함수식의 구조를 스스로 찾아서 구축하는 방법으로서, 설계변수 와 반응함수의 기댓값 의 관계가 비선형이면서 그 함수관계를 모를 때 시도해 볼 수 있는 대안이다.

GMDH 방법은 회귀분석 방법에 비해서 함수구조를 모르는 경우에도 적용할 수 있는 장점이 있고, 블랙박스로 접근하는 신경망모형에 비해서도 함수관계식을 다항식으로 얻을 수 있다는 장점이 있다. 그러나 함수식을 추정하는 소득이 있는 만큼 예측능력이 열등할 것이라고 예상할 수 있다. 따라서 본 논문에서는, GMDH 방법을 시뮬레이션 함수 추정에 사용할 수 있다는 것을 보여주는 것 외에, 신경망모형과 비교하여 그것이 얼마나 열등한지(또는 우수한지)를 알아보는 보는 것을 관심의 대상으로 삼았다. 또, 신경망모형 방법과 비교하여서 그 계산에 소요되는 시간도 경험적으로 관찰하였다.

2. GMDH 소개 및 프로그래밍

2.1 GMDH 방법 소개

GMDH 방법은 복잡한 시스템에 대한 예측모형을 만드는 휴리스틱 방법의 하나이다. 독립변수와 종속변수의 데이터를 활용하여 가장 최선의 예측 모형을 다항식 모형으로 도출하는 것이다. Farlow(1984)에 의해 소개된 GMDH 응용을 보면, 강물의 흐름이나 태풍의 진로 예측, 어군의 이동 예측, 경제모형 구축, 이자율 예측 등에 활용되었다. 금속 가공 머신에서 툴의 마모를 예측하는 데 활용된 사례(Ravindra et al. 1994), 시계열 예측에 활용한 연구(송한식, 2001), 데이터 마이닝에 활용한 연구(송한식과 손성호, 2003)도 있다.

GMDH는 <그림 1>과 같이 데이터를 트레이닝 데이터 세트( )와 테스트 데이터 세트( )로 구분하여 준비한다. 독립변수 중 임의의 쌍 에 대하여 트레이닝 세트의 데이터를 이용하여 다음의 기본회귀식(reference function)을 최소자승법으로 구한다.

(3)

구해진 기본회귀식을 테스트 세트의 데이터에 적용하여 예측치인 를 구하고, 이를 테스트 세트의 y 와 비교하여 다음의 기준평가값(regularity criterion) R을 구한다. R이 작으면 구해진 회귀식의 예측능력이 우수하고, R이 크면 그것의 예측능력이 떨어짐을 의미한다.

, (4)

구해진 기준평가값 R이 사전에 설정한 기준값( :생존 임계값)보다 크면 현재의 쌍 에 의한 회귀식을 도태시키고, 임계값보다 작으면 생존시킨다. 생존된 회귀식 을 새로운 후손으로 삼는다. 생존된 회귀식을 트레이닝 세트의 데이터에 적용하여 구한 값을 다음 세대의 후손 값으로 보관하고, 그것을 새로운 트레이닝 데이터 세트로 삼는다. 이러한 과정을 독립변수 의 가능한 모든 쌍에 대하여 실시한다. 생성된 후손들 중에서 기준평가값 R이 제일 적은 후손을 그 세대(G)의 '최선의 후손(best fit)'으로 기억하고, 그때의 기준평가값을 으로 기억한다. 이렇게 하여 한 세대의 진화를 마치고, 생존된 후손 을 다음 세대 진화를 독립변수로 간주한다. 여기서 진화 말은 현재 세대의 트레이닝 세트 데이터를 가지고 각 쌍별로 기본회귀식을 추정하여 후손을 생성하는 것이 생물 세계의 세대교체와 유사하다고 보고 표현한 것이다. 새로 얻어진 후손들의 트레이닝 세트 데이터를 가지고 앞에서의 과정을 반복하여 다음 세대로 진화를 한다. 이러한 세대 교체를 통해서보면 각 세대별 값은 <그림 2>와 같이 점점 작아지다가 다시 증가하게 된다. 증가하는 세대 바로 직전의 세대에서 기억한 최선의 후손을 '최적 후손(the optimum fit)'으로 선정하고 세대교체를 중단한다. (더 자세한 내용은 송한식(2003)의 슈도코드(pseudo-code)를 참조.)

선정된 최적 후손을 생성하는 세대교체를 트리 형태로 나타낼 수 있다. <그림 3>은 최적 후손 을 정점으로 하고 그 후손을 생성하는데 참여한 선조들을 트리 형태로 나타낸 이바넨코 트리이다. 네모는 화살표로 표시된 선조 두 개의 쌍에 대해서 추정된 기본회귀식을 뜻하고, 동시에 그 회귀 값에 의한 후손을 뜻한다. 최적후손 은 궁극적으로 의 다항식으로 표현된다. <그림 3>에서는 최고 16차 다항식이 될 수 있다.

2.2 GMDH 방법의 통계적 평가

변수가 여러 개인 경우, direct sum, linear combination, nonlinear combination, product 등의 함수형태에 대해서 Green et al.(1988)이 GMDH 방법을 테스트하여 평가하였다. 이 연구에 따르면, 시스템의 산출에 영향을 미치는 독립변수가 늘어날수록 GMDH는 민감하게 열등하였다. 특히 변수가 많은 경우는 GMDH 과정에서 각 세대에 생존하는 후손 개수를 늘려도 크게 개선되지 않았다. GMDH 과정에서 처음 두 개의 변수를 짝으로 선택하는 과정에서 중요한 독립변수가 빠진 경우에는 GMDH의 예측능력은 나쁘고 개선되지 않았다. 이러한 경우는 두 개의 독립변수가 완전 독립이더라도, 거기서 만들어진 두 개의 짝에 의한 함수들 상호간에 공선성(collinearity)이 있는 경우는 그 중 하나를 선택하고 다른 하나를 걸러 내어서 결과적으로 하나의 독립변수를 걸러내어 버리는 경우가 발생하기 때문이다. 반면에 GMDH는 산출에 영향이 없는 무관변수는 자동적으로 걸러주는 장점이 있다. 노이즈가 있는 경우, GMDH가 과다모형화(overfitting) 하는 것을 방지해주는 장점도 발견되었다.

결론적으로 Green et al. (1988)은 다음 4가지 결론을 내렸다. (1) GMDH는 다변수 선형 과정(linear processes)을 갖고 있는 시스템에서는 열등하다. (2) 변수가 많을 때에는 적절히 모델링하지 못한다. (3) 노이즈가 있거나 비선형과정이 있는 경우, GMDH는 일관성이 없고(inconsistent), 재현가능성이 낮다. 노이즈 없이 구축한 GMDH 모형을 노이즈가 있을 때에는 그것을 그대로 재생하지 못한다는 뜻으로 받아들여진다. (4) GMDH 과정이 불안정하여 overflow가 생기거나 원천데이터의 범위(range)의 바깥으로 나가는 일이 생긴다.

이러한 고찰을 근거로 다음과 같이 수정하여 GMDH 방법을 프로그램하여 테스트하였다. 프로그램은 엑셀의 Visual Basic Application을 사용하였다.

2.3 GMDH 프로그래밍

앞에서 고찰한 것을 고려하여 다음과 같이 GMDH를 프로그램하였다.

(1) [0,1] 정규 스케일화(normalizing)

각 독립변수의 값과 종속변수의 값을 그 값의 최대값과 최소값을 이용하여 [0,1]의 값으로 스케일을 정규화하였다.

(2) 다항식 계수 한계값 지정

각 세대에서 기본회귀식을 추정할 때 그 계수값의 절대값이 1.0x10^-7 이하이면 0으로 간주하고, 1.0x10^7이상이면 그 쌍에 대한 후손 생성을 포기한다. 이것은 overflow를 방지하기 위함이다.

(3) 생존 임계값:

각 세대에서 후손을 생성한 후, 그 후손의 기준평가값(Criterion)을 구하여 그것이 다음 식에 의하여 계산된 임계치보다 크면 그 후손을 도태시킨다.

= (5)

여기선 는 그 전세대의 각 후손의 값의 평균이고, 은 중 최소값이다. 특별히 언급이 없으면 값은 0.5로 하여 실험하였다.

(4)후손 생성 방법

GMDH원래 방법은 각 세대내의 자손들 상호간에 짝을 이루어서 그 다음 세대를 생성하였다. 그러나 이 방법은 앞에서도 지적하였듯이 한 세대에서 만들어진 2차 다항식 회귀식에 대한 의존도가 너무 높아서 경우에 따라서 예측능력이 떨어지는 경향이 있었다. 그래서 여기서는 한 세대에서 다음 세대를 생성할 때, 그 세대 내에서 결합하는 짝 이외에, 원래의 독립변수 를 재차 사용하여 현재 세대와 짝을 이루는 결합을 매 세대마다 추가하였다. <그림 3>의 이바넨코 트리 예시에서 보면, 제1세대 독립변수 x1, ..x6 가 제3, 4, 5, 6세대에 바로 투입될 수 있도록 하였다.

(5)중단 규칙.

세대를 거듭하면서 후손을 생성할 때, 값이 작아지다가 커지는 경우, 그 전세대의 최소 값을 갖는 후손을 '최적 후손'으로 삼는다. 위의 생존 임계값에 의해서 생존되는 후손이 하나도 없는 경우도 중단하고, 현세대에서 최소 값을 갖는 후손을 최적 후손으로 삼는다. 값이 계속 감소하면서 세대가 거듭할 경우, 제9세대에 이르면 그 중 최선의 후손을 최적후손으로 선정하고 중단하도록 하였다.

3. 시뮬레이션에 적용한 예

3.1 제품 배합 시뮬레이션 모형에 적용

다음 <그림 4>와 같은 제품배합문제를 대상으로 몬테칼로 시뮬레이션 모형을 만들어서 GMDH 방법을 테스트하였다. 제품 1,2,3,4를 원자재, 작업시간, 기계가공을 투입하여 생산하여 판매하는 경우를 가정하고, 각 제품의 생산량 x1, x2, x3, x4를 설계변수로 삼았다. 각 제품의 판매량은 생산량과 수요량 중 작은 값( =min(생산량, 수요량))으로 간주하였다. 제품1의 수요는 삼각형분포( =Triangle(1200,1400,1800))로 독립적으로 발생하고, 제품2의 수요량은 제품1의 판매량에, 제품3의 수요량은 제품2의 판매량에, 제품4의 수요량은 제품3의 판매량에 다음과 같이 종속되어 있다고 가정하였다.

제품 2의 수요량 = Triangle(900, 제품1 판매량, 2000)

제품 3의 수요량 = Triangle(300, 제품2 판매량, max(1500, 제품2 판매량))

제품 4의 수요량 = Triangle(900, 제품3 판매량, max(1600, 제품3 판매량))

각 제품의 판매단가는 <그림 4>의 엑셀시트의 B6:E6에 있고, 각 제품의 단위당 생산에 소요되는 자원의 량은 B7:E9에 있다. 각 자원 단위당 원가는 H7:H9에 나타나 있다. 각 제품 1,2,3,4의 생산량 x1, x2, x3, x4를 얼마로 정하는 것이 가장 이익을 많이 얻을 수 있는 가하는 전형적인 제품 배합문제이다.

한편, '순이익 = 수익합계 - 비용합계' 인데, 여기서 비용을 계산하는 원가 계산은 생산량 x1,x2,x3,x4에 대한 선형식으로 표현됨을 쉽게 짐작할 수 있다. 그러나 수익합계는 생산량에 대해서 선형이 아니다. 제품 2,3,4를 각각 1120개, 745개, 770개로 고정하고, 제품1의 생산량을 1070에서 1862개까지 변화시키면서 수익 금액을 시뮬레이션 해보면 <그림 5>에서 보듯이 수익금액은 비선형으로 나타나고 있다. 한가지 생산량 조합( 예: 1070, 1120, 745, 770)에 대하여 실제 수요를 300회 발생시킨 후, 수익을 평균한 것을 수익금액으로 잡았다.

이 시뮬레이션 모형을 함수로 추정하기 위한 데이터를 수집하기 위해서 (1470, 1120, 745, 770)을 '중심'로 삼고, (800, 800, 600, 700)을 '폭'으로 하여서(<그림 4>에서 17, 18행 참조), (0,1) 난수 rand()을 이용하여 다음과 같이 임의의 생산량 만들었다.

임의의 생산량 = (rand() -0.5) * 폭 + 중심 (6)

임의의 생산량 조합에 대하여 300회 시뮬레이션 수행을 하여 수익 금액의 평균치를 구하였다. 이로써 모두 500개의 데이터 레코드를 얻었다. 즉, 한 개의 레코드에는 제품 1,2,3,4의 생산량 과 그 때의 수익의 평균값(수익금액) 로 구성되었다. 얻어진 500개의 데이터 레코드 중, 250개를 트레이닝 세트로, 150개를 테스트 세트로 활용하고, 나머지 100개는 구해진 함수를 적용해 보는 '예측용'으로 활용하였다. 구해진 GMDH 다항식의 함수를 표현하는 이바넨코 트리의 구조와 각각의 계수는 <그림 6>과 같다. 이 계수들은 변수를 [0,1]으로 스케일을 바꾼 것에 적용한 것인데, 스케일 변경을 위한 최대치, 최소치, 범위는 E5:I7에 있다. 최대 9세대까지만 진화하도록 하였기 때문에 9세대에서 중단되었다.

<그림 6>의 33번 행은, 제품1 생산량(x1)과 제품2의 생산량(x2)를 가지고 다음과 같은 기본회귀식이 만들어 졌음을 보여준다. 이 회귀식은 각 변수의 값을 [0,1]으로 정규화된 스케일에서 최소자승법으로 구한 것이다.

0.6286x sub 2 -0.6841x sub 1 sup 2 -0.2070x sub2 sup 2 +0.1203x sub 1 x sub 2 (7)

<그림 6>에서 이바네코 트리는 B13:D33에 표현되어 있다. 이 트리에는 식(7)과 같은 기본 회귀식이 중첩되어 있다. 식(7)에 의한 결과를 제2세대 후손 Z(5)로 삼은 것을 D33셀에서 보여준다. 32번 행은 x2(제품2 생산량)와 x3(제품3 생산량)으로 회귀식을 만들어서 그것을 제2세대의 Z(8)로 하였다. 이렇게 생성된 후손 Z(5), Z(8)은 제3세대의 후손 Z(19)와 Z(20)을 생성하는 데 활용되었다(B29, B28 셀 참조). 따라서 최종 후손인 Z(249)에는 식(7)과 같은 기본 회귀식이 중첩되어있으며, 결과적으로 의 고차원의 다항식이 된다.

이렇게 구축된 GMDH 추정함수를 별도로 마련된 예측용 데이터 100개에 적용하였다. 그 때의 R 자승값( )은 0.9943이고, RMSE(에러를 제곱하여 평균한 후 다시 제곱근을 구한 것)는 0.0001로서 매우 우수하게 예측하고 있다. 여기서 은 다음 식으로 구한 것이다.

(8)

<그림 7>은 제품 2,3,4의 생산량을 1120, 745, 770으로 고정하고, 제품1의 생산량을 1070 ~ 1862사이에서 변동시키면서 관찰한 값과 그때의 GMDH 예측치를 그림으로 비교한 것이다. <그림 7>을 보면 GMDH 추정함수가 실제 시뮬레이션 값에 매우 우수하게 근접함을 알 수 있고, GMDH 방법에 의한 함수추정이 메타 모델링으로서 충분함을 보여준다.

한편, 시뮬레이션 함수 추정은 시뮬레이션 최적화에서 활용할 수 있는데, 시뮬레이션 최적화 탐색 과정에서는 설계변수의 변동 범위의 폭을 점차 줄여서 최적점이 포함된 탐색 범위를 줄여나간다. 따라서 점점 축소된 공간(변동범위)에서 시뮬레이션을 함수로 추정해 볼 필요가 있다. 이러한 의미에서, 4개 제품의 생산량의 변동 범위 폭을 1/10으로 줄여서 (80,80,60,70)으로 하여 실험해 보았다. 폭을 축소한 경우의 GMDH 함수추정은 훨씬 간단하였다. <그림 8>은 그 때의 이바넨코 트리 구조와 회귀식 계수들이다. <표 1>을 보면, 제5세대에서 제6세대로 진화하면서 값이 증가함을 알 수 있다. 따라서 제 6세대에서 세대교체를 중단하고, 제5세대의 최선 후손을 '최적후손'으로 선정하고 중단하였다.


GMDH

NeuralNet

큰폭에서

R2 =

MAE =

0.9943

169.74

0.9950

157.172

소폭에서

R2 =

MAE =

0.9121

88.99

0.9145

87.31

<표 2> GMDH와 Neural Net의 비교

세대

세대별 최소 R 값

2

3

4

5

6

0.1687246

0.0974526

0.0773411

0.0766509

0.0767473

<표 1> 소폭에서 R의 추이


3.2 신경망 모형을 이용한 시뮬레이션 추정

폭을 달리하면서 꼭 같은 실험을 NeuroShell 2 패키지(Ward Systems Group▻)를 이용하여 Neural Net 모형으로 시뮬레이션을 추정해보았다. NeuroShell 2에서도, 250개를 트레이닝 세트로, 150개를 테스트 세트로 삼고, 투입노드 4개-중간노드 18개-산출노드 1개로 신경망 구조를 구성하였다. backpropagation으로 트레이닝 하였고, 중간노드에서 노드활성화(node activation)는 로지스틱 함수로 하였다. 테스트 세트에서 평가한 에러 자승평균(MSE: mean squared error)이 더 이상 개선되지 않으면 트레이닝을 중단하였다. 트레이닝 세트에서 40000회를 반복하여도(트레이닝 세트 데이터에서 무작위로 200개를 훈련에 투입하는 것을 1회 반복으로 봄) 개선되지 않으면 훈련을 중단하는 것으로 설계하였다. 구해진 신경망 모형을 새로운 예측용 데이터 100개에 적용하였다.

그 결과를 GDMH와 비교하면 <표 2>와 같다. MAE는 표준화하지 않은 수익금액(y)에서 구한 절대오차 평균이다. <표 2>에서 보듯이 두 경우가 매우 유사하였다. 따라서 신경망 모형 방법에 비해서 결코 열등하지 않음을 알 수 있다. 큰 폭과 소폭에서 NeuralNet의 훈련에 소요된 시간은 각각 10초, 7초이었고, GMDH프로그램에서는 9.734초, 6.766초로서 거의 차이가 없었다(Pentium 4, CPU 2.40Ghz, 512RAM에서 테스트 함).

3.3 GMDH 추정함수에 대한 통계적 검증

스토캐스틱 시뮬레이션을 GMDH로 함수를 추정한 것이 충분한지에 대한 통계적 테스트가 가능하다. (이 과정은 Khuri와 Cornell(1987)의 pp.38-43을 참조하였음.) GMDH 추정함수 를 별도의 예측용 데이터에 적용할 경우, 그것의 잔차변동(residual variation) 또는 설명 안된 변동(variation unaccounted for)은 다음과 같다.

(9)

여기서 N은 예측용 데이터 개수이다. 잔차변동은 '순수에러'와 '추정 불충분'으로 생긴 에러의 합: 으로 표현할 수 있다. 는 순수 에러(pure error)이고, 는 추정함수가 불충분함으로써(lack of fit) 생긴 에러이다. 는 임의의 에 대해서 2회 이상의 관찰값(시뮬레이션 결과)이 있으면 측정 가능하다. 즉, 에 대해서 회 반복 관찰이 있다면 다음과 같이 계산한다.

, (10)

(11)

, 의 자유도는 각각 N-n, n 이다. 귀무가설은 "시뮬레이션 함수의 true model = GMDH 추정함수" 이고, 대립가설은 "시뮬레이션 함수의 true model = GMDH 함수 + 다른 항" 이다. 즉,

이다. 여기서 는 임의의 다른 항을 나타낸다. 한편,

(12)

으로 구한 F값이 기각영역에 들면 현재의 GMDH 추정함수가 충분하지 않다는 결론을 내릴 수 있다. 테스트를 위해서, 예측용으로 활용한 100개의 조합에 대해서 각각 4회씩 시뮬레이션을 수행하여 모두 400회 시뮬레이션을 수행하였다. N = 400, n = 100, 이고 은 모두 4 이다.

(800,800,600,700)을 폭으로 한 생산량 조합에서 구한 GMDH 추정함수를 예측용 데이터에 적용하였을 때에는 F = 9.64167 이고, 만들어진 GMDH 함수추정이 충분하다는 귀무가설을 기각하지 않으면 안되었다. 한편, 1/10으로 축소된 폭 (80,80,60,70)에 대해서 한 꼭 같은 실험을 한 결과 F = 1.1125 으로 계산되고, 귀무가설을 기각할 수 없었다. 즉, 구해진 GMDH 추정함수가 충분하다고 볼 수 있었다(<표 3> 참조).

폭이 (800,800,600,700) 일 때

폭이 (80,80,60,70) 일 때

SSpe = 17700.9, 자유도: 300

SSpe =11729.4, 자유도: 300

SSlof = 170666.3, 자유도:100

SSlof = 13048.9, 자유도:100

F ratio = 9.64167

F ratio = 1.1125

F(9.64167, 100, 300)=4.30045E-53

F(1.1125, 100, 300)= 0.2467

결론: 귀무가설 기각, ( F < p )

GMDH 함수추정이 불충분함.

결론: 귀무가설 기각 못함, (F > p)

GMDH 함수추정이 충분함.

<표 3> GMDH 함수추정을 F 테스트함. p = 0.01으로 함


.

폭이 (800,800,600,700) 일 때

폭이 (80,80,60,70) 일 때

SSpe = 17700.9, 자유도: 300

SSpe = 11729.4, 자유도: 300

SSlof = 128642.8, 자유도: 100

SSlof = 14035.87, 자유도:100

F ratio = 7.267

F ratio = 1.1966

F(7.267, 100, 300)=4.086E-41

F(1.1966, 100, 300)= 0.1269

결론: 귀무가설 기각, ( F < p )

NeuralNet 모형의 추정이 불충분함.

결론: 귀무가설 기각 못함, (F > p)

NeuralNet 모형의 추정이 충분함.

<표 4> Neural Net 모형을 F 테스트함. p = 0.01으로 함


구해진 신경망 모형을 새로운 예측용 데이터에 대해서도 통계적 테스트를 <표 4>와 같이 실시하였다. 그 결과는 GMDH 함수추정과 동일하였다. 폭을 1/10으로 줄였을 때에는 근소하나마 GMDH 추정이 우수하였다. 전반적으로 보아서 GMDH 함수추정이 신경망 모형에 비해서 열등하지 않았다

4. 함수에 의한 실험.

시뮬레이션에서 시스템의 설계 변수와 결과 산출 값의 관계를 하나의 함수관계로 상정하고, 그 함수를 추정하는 것으로 실험해 볼 수 있다. GMDH에 의한 시뮬레이션 함수 추정에 대한 실험을 간편히 하기 위해서, 시뮬레이션 대신에 Humphrey와 Wilson (2000)의 논문에서 사용하였던 5개의 함수를 대상으로 그 함수를 GMDH로 추정하는 것과 NeuralNet으로 추정하는 것을 시도하였다.

각 함수에 대해서 독립변수를 6개 가정하고(함수 4에서는 8개 선정), x가 [-5, 5] 사이의 임의의 값을 가질 때(주기함수인 함수2에서는 [-2, 2] 사이), 6개의 변수 값과 그때의 값으로 구성된 데이터 레코드를 500개 마련하였다. 이중 250개는 트레이닝 데이터 세트로, 150개는 테스트 데이터 세트로, 나머지 100개는 예측용 데이터 세트로 활용하였다. R 자승값으로 평가하여(수식 8) GMDH 방법과 Neural Net 방법을 비교하였다. 테스트세트에 있는 의 값에다 (1.0 난수 노이즈레벨/2)을 곱하여 노이즈 레벨(10% - 40%)에 따라 변동을 주었다. Neural Net 모형의 노드는 6-19-1구조로(테스트 함수4에서는 8-27-1 구조로) 구성하고, 중간 계층의 노드에서 활성화 함수는 로지스틱 함수로 하였고, backpropagation으로 트레인하였다.

① 테스트 함수 1: 가변차원 함수

,

② 테스트 함수 2: 삼각함수

③ 테스트 함수 3: 확장된 Rosenbrock 함수

,

④ 테스트 함수 4: 확장된 Powell 함수

, ,

,

⑤ 테스트 함수 5: Brown's almost linear 함수

각 함수를 테스트 한 결과 GMDH과 Neural Net 방법(NN)의 우열을 단정할 수 없었다. 함수 1과 4에서는 노이즈레벨에 관계없이 GMDH가 우수하였고, 함수 2에서는 비슷하다가 노이즈레벨이 30%를 넘어서면서 NN이 우수하였다. 함수 3에서는 우열을 가릴 수 없었다.

함수 5에서 GMDH에서의 R 자승값은 음수가 나왔다. (<그림 9>의 함수5 참조. 함수 5에서 NN의 R 자승값이 0으로 나온 것은 를 NN으로 추정한 후, 추정치가 원래의 최대값과 최소값을 벗어나지 못하게 하는 처리하는 2차적인 조작 때문으로 추측된다.) 함수5를 살펴보면 가 에 대해서 선형함수이다. 이처럼 선형함수관계가 개입되어 있으면 GMDH나 NN 모두 그 성능이 매우 나쁘게 나타나는 것을 알 수 있었다. (본 논문에 예시한 함수 외에서도 경험할 수 있었다.) 그래서 을 직접 투입변수로 하여 추정하여 보았다. 결국 는 의 product형 함수가 되는데, 그 결과 GMDH는 노이즈가 0%일 때에는 R 자승값 1.0이 되어 거의 완벽한 추정을 하였고, 노이즈 레벨이 높아지면서 차츰 나빠졌다. 그러나 NN은 노이즈 레벨에 관계없이 R 자승값이 0.001 ∼ 0.005 의 값을 보여주어서 매우 열등하였다. 따라서 NN은 선형함수나 product형 함수에서 매우 열등하였고, product형 함수에서는 GMDH가 월등히 우수하였다. (<그림 9>에서 그림 "함수5에서 비교-product함수로" 참조) NN의 소요시간은 10초 ∼ 200초였고, GMDH의 소요시간은 10 ∼ 20초로서 GMDH가 소요시간 면에서도 우수하였다. (이는 GMDH 방법이 NN에 비교하여 그 모형 탐색공간(또는 함수 탐색공간)이 더 단순하기 때문인 것으로 생각된다.)






5. 결론

GMDH 방법을 이용하여 시뮬레이션 관찰 값으로 시뮬레이션을 하나의 함수로 추정하여 보았다. 여기서는 비록 하나의 시뮬레이션 예만 보였지만, 함수에서 테스트 한 결과를 보면 GMDH에 의한 함수추정이 가능함을 알 수 있다. 시뮬레이션 최적화에 활용한다면, 그래디언트(gradient)를 이용하는 비선형계획 기법을 시뮬레이션 최적화에도 활용할 수 있다.

시뮬레이션을 GMDH 방법으로 추정한 것을 통계적인 테스트해 보았다. 그 결과, 설계변수의 변동 범위가 적절히 좁으면 GMDH 함수추정이 충분함을 확인하였다. 변수의 변동 범위가 넓은 경우는 그 만큼 관찰값이 많이 필요할 것이고, GMDH로 추정되는 함수가 그만큼 복잡해질 것으로 예상할 수 있다. 그러나 함수가 복잡하다고 하여 반드시 우수하다고 보장할 수 없는 만큼, 추정에는 한계가 있을 것으로 예상한다.

시뮬레이션 대신에 시뮬레이션 결과를 설계변수에 대한 함수로 보고, 5가지 함수에 대해서 신경망 모형에 의한 추정과 GMDH 함수추정을 비교하였다. 그 결과 우열을 가릴 수 없거나(테스트 함수 3), GMDH가 우수하였다. 잠재된 함수관계가 선형일 때에는 GMDH나 NN모두 함수 추정을 실패하였다(테스트 함수 5). 그러나 선형관계를 제거하고, product 함수형태를 추정하였을 때에는 GMDH 방법이 월등히 우수하였다. 더 많은 실험이 필요하겠지만, 신경망 모형의 대안으로서 GMDH 함수추정이 유용함을 알 수 있었다.

함수의 구조를 모르는 상태에서 접근하는 GMDH에 의한 함수 추정을, 함수구조를 알고 접근하는 회귀분석의 방법과는 직접 비교할 수 없다. 함수구조에 대한 지식이 없다면 회귀분석에서 GMDH 방법을 아주 유용하게 활용할 수 있을 것으로 기대할 수 있다.

참고문헌

송한식(2001), Nerual Net와 GMDH를 이용한 시계열 예측 비교, 대한경영학회지, 제14권 제3호, 53-74

송한식(2003), GMDH를 이용한 시뮬레이션 함수 추정, 한국생산관리학회 추계학술발표대회, 2003.11.8, 계명대학교, 논문집 pp. 153-173

송한식, 손성호(2003), 자기조직화 방법을 이용한 데이터마이닝, 한국전산회계학회 추계학술발표회, 2003.11.8, 발표논문집 161-178.

Farlow, S. J. (1984) Self-Organizing Methods in Modelling(ed.), New York, Mercel Dekker.

Green, D. G., R. E. Reichelt and T. H. Bradbury (1988), "Statistical Behavior of the GMDH Algorithm," Biometrics 44, 49-69.

Humphrey, D. G. and J. R. Wilson (2000), "A Revised Simplex Search for Stochastic Simulation Response Surface Optimization," INFORMS Journal on Computing, Vol. 12 No. 4. 272-283.

Ivakhnenko, A. G. (1966), "Group method of data handling - a rival of the method of stochastic approximation," Soviet Automatic Control, 4, 15-26

Khuri, A. I and J. A. Cornell (1987), Response Surfaces: Designs and Analyses, Statistics: text books and monographs, volume 81, Marcel Dekker, 38-43

Laguna, M. and R. Marti (2002), "Neural Network Prediction in a System for Optimizing Simulations," IIE Transactions, Vol. 34, No. 3, 273-282

Law, A. W. and W. D. Kelton (2000), Simulation Modeling and Analysis, MxGraw-Hill, 646-655.

Madala, H. R. and A. G. Ivakhnenko (1994), Inductive Learning Algorithms for Complex Systems Modeling, CRC Press

Ravindra, H. V., M. Raghunandan, Y. G. Srinivasa, and R. Krishnamurthy (1994) "Tool wearing estimation by group method of data handling in turning," Int. J. Prod. Res, Vol 32, No. 6, 1295-1312.

CrystalBall, Decisioneering, Inc., www.decisioneering.com

OptQuest, OptTek Systems, Inc., www.opttek.com

NeuroShell, Ward Systems Group, www.wardsystems.com






Abstract

GMDH(group method of data handling) was introduced by A. G. Ivakhnenko as a self-organizing method for systems modeling. It was used here to approximate simulation process to a functional form. GMDH was introduced and modified according to the statistical appraisal by a previous research. It was then programmed by VBA in Excel. A Monte Carlo simulation for product mix problem was shown as for the exemplar of GMDH functional estimations. Statical tests for its completeness showed that GMDH and Neural Net were equally good for the estimations. For more comparison, five functions instead of simulations were tested. The comparison showed that GMDH was not worse or even better than Neural Net model estimates. It depended on cases. It is thus recommended to try GMDH method to estimate simulations in addition to Neural Net modeling method.

저자 소개

송한식 hssong@donga.ac.kr, http://web.donga.ac.kr/hssong

동아대학교 경영학부 교수로 재직, 경영과학 및 생산관리 관련과목을 강의하고 있음. 서울대학교 산업공학과를 졸업하고, The University of Alabama(Huntsville)에서 박사학위 취득, 콜로라도대학(볼더)에 방문교수(2002-2003). 도요타생산시스템, JIT, 최적화 탐색법, meta heuristic, 자기조직방법(GMDH)을 이용한 함수추정과 최적화 응용 및 데이터마이닝 응용, 시뮬레이션 최적화 등에 관심을 갖고 있음.