Input: Training set D = { ( x 1 , y 1 ) , , ( x n , y n ) }

Output: Regression chain model h j = X R

1. generate D 1

2. D 1 * = { ( x 1 , y 1 1 ) , , ( x n , y 1 n ) }

3. For j = 1 to m

4. h j = D j * R

5. If j < m

6. Generating data sets D j + 1 *

7. h j i = D j * \ D j * i R

8. for x j * i D j * i

9. x j + 1 * i = x j * i

10. j i = h j i ( x j * i )

11. x j + 1 * i = [ x j * i , y ^ j i ]

12. D j + 1 * = D j + 1 * ( x j + 1 i , y j + 1 i )