Lineáris regresszió (algoritmus)
[szerkesztés] Lineáris regresszió - Egyenes illesztés
A Lineáris regresszió / Egyenes illesztés olyan matematikai eljárás, amellyel egy bármilyen halmazt alkotó, kétdimenzós térben elhelyezkedő pontokra olyan egyenest illesztünk, ami mutatja a pontok által meghatározott tendenciát. Példa: Spektrofotometriás mérések során színes oldatok koncentrációját határozzuk meg. Az oldatok azonos körülmények közötti mérése során a fényelnyelés mértéke függ a színes komponens koncentrációjától. Így egy ismeretlen koncentrációjú oldat fényelnyelését megmérve meghatározható az oldat koncentrációja. Az alkalmazott programozási algoritmus:
Pszeudo-kód:
Visual Basic példa:
Private Sub LinearRegression() Dim x1(1 To 1000) As Double 'A pontok x-koordinátáit tartalmazó tömb Dim y1(1 To 1000) As Double 'A pontok y-koordinátáit tartalmazó tömb Dim sx, ssreg As Double 'Segéd változók Dim m As Double ' Kapott egyenes meredeksége Dim t0 As Double ' A kapott egyenes tengelymetszete Dim avx, avy As Double 'Az x-koordináták, illetve y-koordináták átlaga Dim i As Integer For i = 1 To 1000 szumx = szumx + x1(i) szumy = szumy + y1(i) Next i avx = szumx / 1000 ' vagy: avx = szumx / i avy = szumy / 1000 ' vagy: avy = szumy / i For j = i To 1000 sx = sx + (x1(i) - avx) * (y1(i) - avy)) ssreg = ssreg + ((x1(i) - avx) ^ 2) Next j m = FormatNumber(sx / ssreg, 3) t0 = FormatNumber(avy - (sx / ssreg) * avx, 3) End Sub
Ez a módszer nem tartalmazza azt az opciót, hogy az egyenes átmenjen az origón, illetve nem tartalmazza a különböző statisztikai hibaszámítások lehetőségeit sem, illetve csak egy, összefüggő pont-tartományra alkalmazható.