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:
'--------------------------------------------------- 'Rem POLYNOMIAL REGRESSION SUBROUTINE 'Rem INPUTS D-DEGREE OF EQUATION, N-NUMBER OF POINTS 'Rem OUTPUT C(D,COEFFICIENT DEGREE)-COEFFICIENT MATRIX '------------------------------------------------- Public Sub Poly_Regression(D As Integer, n As Integer) Dim A(13) As Double Dim R(7, 8) As Double Dim T(8) As Double Dim k As Integer A(1) = n For i = 1 To n x = x(i) y = y(i) For j = 2 To 2 * D + 1 A(j) = A(j) + x ^ (j - 1) Next j For k = 1 To D + 1 R(k, D + 2) = T(k) + y * x ^ (k - 1) T(k) = T(k) + y * x ^ (k - 1) Next k T(D + 2) = T(D + 2) + y ^ 2 Next i For j = 1 To D + 1 For k = 1 To D + 1 R(j, k) = A(j + k - 1) Next k Next j For j = 1 To D + 1 k = j For i = 1 To D + 2 S = R(j, i) R(j, i) = R(k, i) R(k, i) = S Next i Z = 1 / R(j, j) For i = 1 To D + 2 R(j, i) = Z * R(j, i) Next i For k = 1 To D + 1 If k = j Then GoTo 1230 Z = -R(k, j) For i = 1 To D + 2 R(k, i) = R(k, i) + Z * R(j, i) Next i Next k Next j C(D, 0) = R(1, D + 2) For j = 1 To D C(D, j) = R(j + 1, D + 2) Next j 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. ?




Reply With Quote