Lineáris regresszió

A Programozás Wiki wikiből

Lineáris regresszió - Egyenes illesztés[szerkeszté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áítások lehetőségeit sem, illetve csak egy, összefüggő pont-tartományra alkalmazható.