regresija - R^2

O matematiki, številih, množicah in računih...
Post Reply
User avatar
fogl
Posts: 545
Joined: 7.11.2004 20:25
Location: Radovljica

regresija - R^2

Post by fogl » 17.8.2010 14:31

Kaj predstavlja vrednost R^2 pri regresiji? Sam sem mislil da predstavlja ujemanje med dejanskimi podatki in izračunano regresijsko funkcijo - čim bliže 1 je boljše je... ampak če pogledam en primer, je R^2 zelo velik, če pa pogledaš graf pa ni videt nikakršnega ujemanja. Kako je s tem?
http://www.shrani.si/f/29/pR/41XbLTym/prtscr.png

User avatar
shrink
Posts: 14549
Joined: 4.9.2004 18:45

Re: regresija - R^2

Post by shrink » 17.8.2010 18:02

Tvoji rezultati za dani primer so sumljivi; prilepi celotno kodo.

Drugače je R^2 res "goodness of fit".

User avatar
fogl
Posts: 545
Joined: 7.11.2004 20:25
Location: Radovljica

Re: regresija - R^2

Post by fogl » 18.8.2010 14:44

Code: Select all

Needs["LinearRegression`"];
Needs["NonlinearRegression`"];
temperaturadan = {15.6`, 15.`, 15.2`, 14.7`, 14.5`, 14.6`, 14.5`, 
   15.`, 15.1`, 15.5`, 14.3`, 14.1`, 14.4`, 14.7`, 14.1`, 14.3`, 
   14.4`, 15.`, 15.4`, 14.6`, 13.8`, 13.4`, 12.9`, 13.`};
nff = NonlinearModelFit[temperaturadan, 
  a + b*Sin[(t - fi)/24*2*Pi], {a, b, fi}, {t}]
nff[{"RSquared"}]



t1 = ListLinePlot[temperaturadan, PlotRange -> All, PlotStyle -> Blue];
t2 = Plot[\!\(\*
TagBox[
RowBox[{"14.504166666666666`", " ", "+", 
RowBox[{"0.343862085430857`", " ", 
RowBox[{"Sin", "[", 
RowBox[{
FractionBox["1", "12"], " ", "\[Pi]", " ", 
RowBox[{"(", 
RowBox[{
RowBox[{"-", "2.767203439080579`"}], "+", "t"}], ")"}]}], "]"}]}]}],
Short]\), {t, 0, 24}, PlotStyle -> Red];
Show[{t1, t2}, Frame -> True, FrameLabel -> {"t[h]", "T[\[Degree]C]"}]
Pa še link do fajla.

User avatar
shrink
Posts: 14549
Joined: 4.9.2004 18:45

Re: regresija - R^2

Post by shrink » 19.8.2010 19:27

Sem pogledal: kaže, da ni nič narobe. Je pa treba vzeti v zakup nekaj drugega: pri nelinearni regresiji R^2 ni tako dobro merilo za "goodness of fit" kot pri linearni regresiji. Na to kaže tudi dejstvo, da v starejših verzijah Mathematice funkcije za nelinearno regresijo niso računale R^2, glej npr.:

http://opticalradiation.wordpress.com/2010/08/16/r2/

User avatar
fogl
Posts: 545
Joined: 7.11.2004 20:25
Location: Radovljica

Re: regresija - R^2

Post by fogl » 24.8.2010 8:35

A mogoče poleg R^2 obstaja še kako drugo merilo za "goodness of fit"?

User avatar
fogl
Posts: 545
Joined: 7.11.2004 20:25
Location: Radovljica

Re: regresija - R^2

Post by fogl » 6.10.2010 14:17

Tukaj sem bral, zakaj pri regresiji iščemo koeficiente neke funkcije tako, da je vsota kvadratov odmikov najmanjša. Piše:
"Why not simply minimize the sum of the actual distances?If the random scatter follows a Gaussian distribution, it is far more likely to have two medium size deviations (say 5 units each) than to have one small deviation (1 unit) and one large (9 units). A procedure that minimized the sum of the absolute value of the distances would have no preference over a curve that was 5 units away from two points and one that was 1 unit away from one point and 9 units from another. The sum of the distances (more precisely, the sum of the absolute value of the distances) is 10 units in each case. A procedure that minimizes the sum of the squares of the distances prefers to be 5 units away from two points (sum-of-squares = 50) rather than 1 unit away from one point and 9 units away from another (sum-of-squares = 82). If the scatter is Gaussian (or nearly so), the curve determined by minimizing the sum-of-squares is most likely to be correct."
Zanima me, zakaj ne bi namesto kvadrata odmika vzeli tretjo potenco, ali pa četrto... na ta način bi ravno tako favorizirali Gaussovo porazdelitev, mar ne?

User avatar
Aniviller
Posts: 7263
Joined: 15.11.2004 18:16

Re: regresija - R^2

Post by Aniviller » 6.10.2010 15:09

Kot prvo, za lihe potence bi morali vzeti absolutno vrednost, kar pomeni da zraz sploh ni vec analiticen.

In odgovor na vprasanje je NE.

Fit si lahko predstavljas kot iskanje NAJBOLJ VERJETNE porazdelitve. Torej, ce imas verjetnostno porazdelitev w(y,a) (a je parameter za fitanje, lahko jih je tudi vec) in izmerke y_i, potem maksimiziras verjetnost - ta je produkt verjetnosti za posamezne izmerke, torej
\(P(a)=\prod_i w(y_i,a)\)
Iscemo maksimum tega (to poiscemo tako da gledamo niclo odvoda).
\(\frac{\partial P(a)}{\partial a}=0\)
Zdaj se delimo s P(a) - to nic ne spremeni, vendar s tem dosezemo da imamo na levi odvod logaritma P, kar bo lazje odvajat ker se produkt prevede na vsoto.
\(\frac{\partial \ln P(a)}{\partial a}=0\)

Maksimizacija verjetnosti P(a) je enako kot bi minimizirali funkcijo \(-\ln P(a)=-\sum_i \ln w(y_i,a)\).

Ce se spremeljivka "y" obnasa po Gaussovi porazdelitvi z neko sigmo (nas parameter ki ga iscemo je pa recimo povprecna vrednost):
\(w(x,a)=A e^{-(y-a)^2/2\sigma^2}\)
potem bo maksimalna verjetnost pri minimalni vrednosti funkcije
\(-\ln P(a)=-\sum_i \ln w(y_i,a)=\sum_i \frac{(y_i-a)^2}{2\sigma^2}\).

Ce ne fitas samo povprecja "a" ampak neko splosno funkcijo f(x), velja isti sklep za vsako koordinato "x" posebej: za vsako vrednost x imas vrednosti y_i raztresene okrog y=f(x). Ce ima vsak izmerek y svojo oceno napake, so sigme v zgornji formuli za vsoto kvadratov lahko razlicne.

Ce pricakujes, da je porazdelitev izmerkov okrog prave vrednosti kako drugacna kot Gaussova, si pa sam logaritmiraj porazdelitev in poglej kaj se minimizira.

User avatar
fogl
Posts: 545
Joined: 7.11.2004 20:25
Location: Radovljica

Re: regresija - R^2

Post by fogl » 10.10.2010 21:26

Hvala za razlago... edino ni mi jasno kako iz \(\frac{\partial P(a)}{\partial a}=0\) po deljenju z P(a) nastane \(\frac{\partial \ln P(a)}{\partial a}=0\)

Še nekaj me zanima... ali lahko potem lahko z metodo najmanjših kvadratov aproksimiramo samo recimo neke meritve, kjer je zraven še neka naključna komponenta, ki ima Gaussovo porazdelitev. Zakaj recimo velikokrat neke rezultate računalniških simulacij ravno tako aproksimiramo z neko funkcijo po metodi najmanjših kvadratov - saj v tem primeru to nima nobene povezave z Gaussovo porazdelitvijo, ali ima?

User avatar
Aniviller
Posts: 7263
Joined: 15.11.2004 18:16

Re: regresija - R^2

Post by Aniviller » 10.10.2010 22:36

\((\ln y)'=\frac{y'}{y}\) (verizno pravilo).

Ne glede na prvotno porazdelitev se pri statisticno signifikantni kolicini podatkov vse priblizuje Gaussovi porazdelitvi (centralni limitni izrek). Tako da razen v kaksnem posebnem primeru je privzetek da je vse porazdeljeno po Gaussu cisto upravicen.

Kar se tice simulacij pa takole: v takem primeru sicer (razen ce uporabis stohasticne metode) res ni neke nakljucne porazdelitve po kateri bi se stvar ravnala. Se vedno je pa normalizirana vsota kvadratnih odmikov (chi kvadrat funkcional) merilo ujemanja simulacije z modelsko funkcijo (ce so pa v igri tudi eksperimentalni podatki smo pa spet na Gaussu). Lahko gledas tudi takole: ne glede na porazdelitev lahko gledas na vsoto kvadratov kot na prvi priblizek v razvoju v potencno vrsto, kar je za namen fitanja cisto dovolj, se posebej ce pravzaprav nihce ne ve kaksne so tocne verjetnostne porazdelitve kolicin.

User avatar
fogl
Posts: 545
Joined: 7.11.2004 20:25
Location: Radovljica

Re: regresija - R^2

Post by fogl » 12.10.2010 12:59

Hvala!

Še nekaj me zanima glede uzračuna R^2 nelinearne regresije. Mathematica naj bi to računala narobe (po enačbi \(R^2=1-\frac{\sum{(y_i-f(x_i))^2}}{\sum{y_i^2}}\)) oz ta izračun sploh ni smiseln za nelinearno regresijo. Zdej me pa zanima, če lahko izračunam R^2 tako, da izračunam kar navadno linearno regresijo med začetnimi podatki in izračunanimi vrednostmi s to nelinearno aproksimacijo pri teh začetnih podatkih - se pravi namesto da računam nelinearno regresijo med \(x_i\) in \(y_i\) bi izračunal linearno regresijo med \(y_i\) in \(f(x_i)\) in iz tega sklepal na ujemanje? V tem primeru, kljub temu da je aproksimacijska funkcija nelinearna, vedno dobiš neko premico.

User avatar
fogl
Posts: 545
Joined: 7.11.2004 20:25
Location: Radovljica

Re: regresija - R^2

Post by fogl » 21.10.2010 13:30

Takole sem mislil (glej pdf). Lahko uporabim za izračun R^2 kar tega od linearne regresije (0,85), namesto vrednosti pri nelinearni regresiji (0,99) ki ni videti uporabna?
Attachments
regresija.pdf
(55.49 KiB) Downloaded 67 times

Post Reply