Vzhľadom na zoznam bodov musím dosiahnuť jednoduchú lineárnu regresiu. Táto časť je pomerne ľahká a príklady kódu nájdete na mnohých miestach.
Mojím problémom je určovanie regresného faktora (meranie toho, koľko bodov zapadá do línie). Ako by som mohol programovo určiť taký faktor pomocou Lua?
odpovede:
2 pre odpoveď č. 1e$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> function calculate_MSE (points, slope, offset)
>> local SE = 0
>> local num_pts = 0
>> for x,y in pairs(points) do
>> local p = slope * x + offset
>> local err = y - p
>> SE = SE + err * err
>> num_pts = num_pts + 1
>> end
>> return SE / num_pts
>> end
> return calculate_MSE({1, 2, 3}, 1, 0) 0> return calculate_MSE({1, 2, 3}, 1, 1)1> return calculate_MSE({1, 2, 3}, 2, 1)9.6666666666667>
0
> return calculate_MSE({1, 2, 3}, 1, 1)
1
> return calculate_MSE({1, 2, 3}, 2, 1)
9.6666666666667
>
1 pre odpoveď č. 2
Nie ste si istí tým, čo máte na mysli: regresný faktor, ale ako bolo povedané v tomto článku wikipedia: MSE
Obe techniky lineárnej regresie, ako súanalýza rozptylu odhadnúť MSE ako súčasť analýzy a použiť odhadovanú MSE na určiť štatistickú významnosť faktorov alebo prediktorov v štúdiu. Cieľom experimentálneho návrhu je zostrojiť - experimenty takým spôsobom, že keď sa analyzujú pozorovania, - MSE sa blíži nule relatívne k veľkosti najmenej jednej z hodnôt odhadované účinky liečby.
Vyzerá to, že hľadáte faktor.
Podrobnosti o výpočtoch MSE nájdete v článku wikipedia.
Dúfam, že som pochopil váš problém a pomôže
1 pre odpoveď č. 3
Možno http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient je to, čo chcete.