Does anyone have a good Linear Regression algorithm? I'm converting an old BASIC program to VB6 and this is what was in the origional:
VB Code:
  1. '---------------------------------------------------
  2. 'Rem POLYNOMIAL REGRESSION SUBROUTINE
  3. 'Rem INPUTS D-DEGREE OF EQUATION, N-NUMBER OF POINTS
  4. 'Rem OUTPUT C(D,COEFFICIENT DEGREE)-COEFFICIENT MATRIX
  5. '-------------------------------------------------
  6. Public Sub Poly_Regression(D As Integer, n As Integer)
  7.  
  8. Dim A(13) As Double
  9. Dim R(7, 8) As Double
  10. Dim T(8) As Double
  11. Dim k As Integer
  12.  
  13. A(1) = n
  14.  
  15. For i = 1 To n
  16.     x = x(i)
  17.     y = y(i)
  18.  
  19.     For j = 2 To 2 * D + 1
  20.         A(j) = A(j) + x ^ (j - 1)
  21.     Next j
  22.  
  23.     For k = 1 To D + 1
  24.         R(k, D + 2) = T(k) + y * x ^ (k - 1)
  25.         T(k) = T(k) + y * x ^ (k - 1)
  26.     Next k
  27.  
  28.     T(D + 2) = T(D + 2) + y ^ 2
  29. Next i
  30.  
  31. For j = 1 To D + 1
  32.     For k = 1 To D + 1
  33.         R(j, k) = A(j + k - 1)
  34.     Next k
  35. Next j
  36.  
  37. For j = 1 To D + 1
  38.     k = j
  39.  
  40.     For i = 1 To D + 2
  41.         S = R(j, i)
  42.         R(j, i) = R(k, i)
  43.         R(k, i) = S
  44.     Next i
  45.     Z = 1 / R(j, j)
  46.  
  47.     For i = 1 To D + 2
  48.         R(j, i) = Z * R(j, i)
  49.     Next i
  50.  
  51.     For k = 1 To D + 1
  52.         If k = j Then GoTo 1230
  53.             Z = -R(k, j)
  54.         For i = 1 To D + 2
  55.             R(k, i) = R(k, i) + Z * R(j, i)
  56.         Next i
  57.     Next k
  58. Next j
  59.  
  60. C(D, 0) = R(1, D + 2)
  61. For j = 1 To D
  62.     C(D, j) = R(j + 1, D + 2)
  63. Next j
  64.  
  65. End Sub

It's slightly archaic and without looking up linear regression on my own yet, I was wondering if someone had a pre-fab routine that was maybe a little more understandable if not shorter. ?