Regresní a korelační analýza
Závislost příčinná (kauzální). Závislostí pevnou se označuje případ, kdy výskytu jednoho jevu nutně odpovídá výskyt druhé jevu (a často i naopak). Z pravděpodobnostního hlediska jde o vztah, který se projeví s jistotou. Průběh závislosti (v určitém intervalu) lze přesně charakterizovat určitou matematickou funkcí. Volná závislost je závislost, při níž jeden jev podmiňuje jev jiný jen s určitou pravděpodobností a v různé intenzitě. Určité hodnotě jedné veličiny odpovídá celá řada různých hodnot druhé veličiny. U této závislosti lze charakterizovat teoretický průběh závislosti a její těsnost. Regresní analýza se zabývá jednostrannými závislostmi. Jedná se o situaci, kdy proti sobě stojí vysvětlující (nezávisle) proměnná v úloze „příčin“ a vysvětlovaná (závisle) proměnná v úloze „následků“. Korelační analýza se zabývá vzájemnými (většinou lineárními) závislostmi, kdy se klade důraz především na intenzitu (sílu) vzájemného vztahu než na zkoumání veličin ve směru příčina – následek.
Dvourozměrné rozdělení četnosti (x,y) = 0.0 6
4
y
2
0
-2
-4
-6 -6
-4
-2
0
x
2
4
6
Kontingenční (korelační) tabulka
• Řádek korelační tabulky obsahuje rozdělení četností znaku Y za podmínky, že znak X nabyl určité konkrétní hodnoty (příp. hodnot určitého intervalu). - podmíněné rozdělení četností znaku Y. Součtový řádek – nepodmíněné rozdělení četností znaku Y. •Sloupec korelační tabulky obsahuje rozdělení četností znaku X za podmínky, že znak Y nabyl určité konkrétní hodnoty (hodnot z určitého intervalu), - podmíněné rozdělení četností znaku X. •Součtový sloupec – nepodmíněné rozdělení četností znaku X. Četnosti v součtovém řádku a součtovém sloupci nazýváme okrajovými (marginálními) četnostmi.
Příklad 1 Při sledování tělesné výšky chlapců byl vysloven předpoklad, že výška dítěte je do značné míry ovlivněna výškou rodičů. Následné šetření bylo provedeno celkem u 45 chlapců a jejich otců. Z výsledků šetření byla sestavena korelační tabulka pro znaky „výška otce v cm (X)“ a „výška syna v cm (Y)“: Y X 164 – 168,9
170 – 174,9 175 – 179,9 180 – 184,9 185 – 189,9 2
1
169 – 173,9
2
2
174 – 178,9
2
3
179 – 183,9
190 a více
n i. 3
3
1
8
8
1
1
15
3
6
9
184 – 188,9
3
5
8
189 a více
1
1
2
14
8
45
n.j
6
6
11
Příklad 1
Bodový korelační graf pro znázornění závislosti mezi výškou otce a výškou syna 205
Výška syna (cm)
200 195 190 185 180 175 170 165 160 160
165
170
175
180
Výška otce (cm)
185
190
195
Postup při stanovení nejvhodnější funkce logické posouzení daného vztahu – které proměnné a funkce přicházejí v úvahu, využití zkušeností z podobných analýz apod. vytvoření bodového korelačního grafu (scatter plot) jako nejvhodnější zvolíme tu funkci, která má nejvyšší hodnotu koeficienty determinace, příp. lze využít dalších matematickostatistických kritérií (F test).
Výška syna (cm)
Lineární regrese Metoda nejmenších čtverců Parametry funkce hledáme tak, aby součet čtverců chyb ei byl minimální. Pro danou regresní funkci tento součet nazýváme reziduální součet čtverců.
205
Bodový korelační ngraf pro znázornění závislosti mezi n 2 2 Svýškou e ( y y ) min. rez i otce a ivýškou i syna i 1 i 1 yi a bxi
200 195 190
xi , yi
185 180
xi , yi
175
ei
170 165 160 160
165
170
175
180
185
190
195
Lineární regrese y=b1x+b0 Z podmínky minimálnosti čtverců jsou vyvozeny normální rovnice, ze kterých se jejich řešením vypočtou neznámé parametry b1 a b0.
cov( x, y ) S xy b1 var( x) S xx
b0 y b1 x
Výběrový lineární korelační koeficient
1 n cov( x, y ) xi x yi y n 1 i 1
n
Root Mean Square Error:
RMSE
i 1
Yi Yi n
2
Reziduální a regresní součet čtverců n
Reziduální součet čtverců (MSE* n)
n
S rez e ( yi yi) 2 i 1
Regresní součet čtverců odchylek predikcí od průměru
2 i
i 1 n
S reg ( yi y ) 2 i 1 n
Celkový součet = součet čtverců odchylek dat od průměru Regresní identita
S yy ( yi y ) 2 i 1
S yy Sreg Srez Mean Squared Error = Srez/n Root Mean Squared Error
Koeficient determinace R 2
Sreg S yy
1
Srez S yy
RMSE
Srez n
Korelační pole pro závislost výšky syna na výšce otce 200 195
Výška syna (cm)
190 185 180
y = 0,573x + 80,178
175 170 165 160 160
165
170
175
180
185
Výška otce (cm)
190
195
200
205
Interval spolehlivosti pro predikci Pás spolehlivosti
y = 2,0072x + 2,3778
Lineární regrese y=2x
R2 = 0,6973 10 8 6 4
y
2 0 -2
-2
-1
-1
0 -2 -4 -6 x
1
1
2
2
Lineární regrese v Matlabu y=b(1)*x+b(2) 10 9 8 7 6
n=100; x=randn(n,1); y=2*x+randn(n,1)/2+3; % data scatter(x,y,50,'g','filled') [R,P]=corr(x,y); % lin. korelace, p-value,
5 4 3
[b,bint,r,rint,stats]=regress(y,[x,ones(n,1)]); % stats: R^2, F statistics, p-value, refline(b)
2 1 0
0
0.5
1
1.5
2
2.5
3
3.5
4
fprintf('R^2 %1.3g \n',stats(1)) fprintf('p-hodnota = %1.3g \n',stats(3)) %
Lineární regrese v Matlabu Residual Case Order Plot
rcoplot(r,rint) 2 1.5 1
Residuals
0.5 0
-0.5 -1 -1.5
-2 10
20
30
40
50 60 Case Number
70
80
90
100
Lineární regrese v Matlabu polytool(x,y,1) 8
6
4
2
0
-2
-4
-2
-1.5
-1
-0.5
0
0.5
1
1.5
Robustní lineární regrese v Matlabu robustdemo(x,y); [b_r,stats_r]=robustfit(x,y)
Use left mouse button to select and drag points Use right mouse button to query point properties
8 7 6 5
y
4 Least squares Robust
3 2
n
n
S rez e ( yi yi) i 1
2 i
2
i 1
Mean Squared Error = Srez/n Root Mean Squared Error RMSE
Srez n
1 0 -1 -2 -2.5
-2
-1.5
-1
-0.5
0 x
0.5
1
1.5
2
2.5
Least squares:
Y = 2.95067 + 1.94112*X
RMS error = 0.520848
Robust:
Y = 2.9483 + 1.94524*X
RMS error = 0.534759
Nelineární regrese
Nelineární regrese Funkci hledám v předepsaném tvaru (exponenciální, polynomiální,…) parametry nalezneme metodou nejmenších čtverců Koeficient determinace R2– popisná míra vhodnosti použití regresní rovnice pro predikování. Hodnoty blízké nule naznačují, že zvolená funkce není vhodná. Naopak, hodnoty blízké 1 naznačují, že rovnice je velmi vhodná pro extrapolaci. Malá hodnota ale nemusí znamenat nízký stupeň závislosti mezi proměnnými, ale může signalizovat špatně zvolenou regresní funkci N
R2
yi y
2
y
2
i 1 N i 1
i
y
Mean Squared Error = Srez/n Root Mean Squared Error
R2
RMSE
Srez n
Sreg S yy
1
Srez S yy
n
n
S rez e ( yi yi) 2 i 1
2 i
i 1
Korelace náhodných proměnných
(x,y) = = 0.7 (x,y) 0.7
6
6
4
4
2
2
0
0
y
y
(x,y) ==0.0 (x,y) 0.0
-2
-2
-4
-4
-6 -6
-4
-2
0
x
N = 10000
2
4
6
-6 -6
-4
-2
0
x
2
4
6
Korelace náhodných proměnných
(x,y) 0.9 (x,y) ==0.96
6
6
4
4
2
2
0
0
y
y
= - 0.7 (x,y)(x,y) = -0.7
-2
-2
-4
-4
-6
-6 -6
-4
-2
0
x
N = 10000
2
4
6
-6
-4
-2
0
x
2
4
6
Korelace náhodných proměnných
Nelineární regrese v Excelu Graf > přidat spojnici trendu
koeficient spolehlivosti R2 je koeficient determinace
Nelineární regrese v Excelu Graf > přidat spojnici trendu
koeficient spolehlivosti R2 je koeficient determinace
R 2
S reg S yy
Nelineární regrese v Matlabu y=b(1)*x2+b(2)*x+b(3) 10 9 8 7
y
6 5
x=randn(100,1); y=x.^2 + 3 + randn(100,1)/2; scatter(x,y,50,'g','filled') b=polyfit(x,y,2); refcurve(b)
4 3 2 1 0 -3
-2
-1
0 x
1
2
3
Nelineární regrese v Matlabu polytool(x,y,2) 14 12 10 8 6 4 2 0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Nelineární regrese v Matlabu nlinfit: @(a,x)(a(1)*x.2+a(2)*x+a(3)); 10
func=@(a,x)(a(1)*x.^2+a(2)*x+a(3)); 9 a0=[1;0;3]; ahat=nlinfit(x,y,func,a0); 8
y
%graf xrange = min(x):.02:max(x); 7 hold on scatter(x,y) 6 plot(xrange,func(ahat,xrange),'m') hold off 5 4
3
2 -2
-1.5
-1
-0.5
0
0.5 x
1
1.5
2
2.5
3
Nelineární regrese v Matlabu nlintool(x,y,func,a0)
10 9 8 7 6 5 4 3 2 -2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Testy korelační analýzy Kontingenční tabulky umožňují testování různých statistických hypotéz: – hypotéza o nezávislosti znaků - oba znaky se vzájemně neovlivňují (výška rodičů nemá vliv na výšku dětí) – hypotéza o shodnosti struktury (homogenitě) - očekávané četnosti jsou v políčcích každého řádku ve stejném vzájemném poměru bez ohledu na konkrétní volbu řádku (rozložení výšky je stejné u otců i u synů) Klasický test nezávislosti nebo homogenity je založen na testu dobré shody, tedy porovnání očekávaných četností v jednotlivých políčcích tabulky za předpokladu, že hodnoty obou sledovaných znaků na sobě nezávisí, a skutečných četností
Chí-kvadrát test v Excelu H0 – náhodné výběry pocházejí ze stejného rozdělené
CHITEST(aktuální;očekávané) aktuální četnosti – získáné použitím funkce četnosti(data, hodnoty). očekávané jak by četnosti vypadaly pro teoretické rozdělení – sestejným počtem pozorování a stejnými hodnotami. funkce CHITEST vrací p-hodnotu. Pro p
Chí-kvadrát test v Matlabu (procedury I.Nagy) chisquare_test.m chisquare_test_h.m
H0:obě rozdělení jsou shodná
chisquare_test_i.m
H0:rozdělení jsou nezávislá
Testování lineární regrese T test korelačního koeficientu (Pearsonův test) t_test_reg.m H0: data nejsou vhodná k lineární regresi
F test poměru vysvětleného a nevysvětleného rozptylu H0: data nejsou vhodná k lineární regresi
f_test_reg.m
y kx q =LINREGRESE(pole_y;pole_x;PRAVDA;PRAVDA) =INTERCEPT(pole_y;pole_x)
absolutní člen q
=SLOPE(pole_y;pole_x)
směrnice k
Kvadratická regrese
y = 1,9733x2 - 0,0103x + 0,5794 R2 = 0,9898
Koeficient determinace
10 9 8 7 6
y
5 4 3 2 1 0 -2
-2
-1
-1
0
1
x
Srez
3,617
Sreg
349,6751
průměr y
2,829
`=VAR(f(x))*n 2,829
Sxx
56,75074
`=VAR(x)*n
Celkový součet čtverců Syy
353,3079
353,292 =Srez+Sreg
Reziduální rozptyl Se
0,075357
=Srez/(n-2)
Koeficient determinace R2
0,989762
0,04605 =Sreg/(Srez+Sreg)
Pearsonův korel. Koeficient R
-0,214597
-0,2146 ´=PEARSON(data_x;data_y)
`=VAR(y)*n
`=R^2
1
2
2
F test poměru vysvětleného a nevysvětleného rozptylu H0: Data nejsou vhodná pro regresi
F
(n 2) Sreg F (1, n 2) Srez
pravostranný test p hodnota PF F0 LINREGRESE y=kx+q směrnice k, q
2,7158689
7,534689
st.chyba koeficientů
0,4244274
0,749496
Koef. Determinace R2,st. Chyba odhadu y
0,4603464
5,245447
F statistika, df
40,945939
48
1126,6159
1320,706
regresni a rezidualni součet čtverců Sreg, Srez
Korelační analýza ordinálních veličin Je důležité odlišit případy, kdy je ordinálního charakteru pouze jedna proměnná a kdy obě. V případech, kdy jsou obě sledované proměnné ordinálního charakteru, můžeme použít testování, založené na pořadí. – Wilcoxonův test – Mann-Whitney test – Kendallův korelační koeficient τk - tau k – Goodman-Kruskalův koeficient γ je variantou kendallova τk Pokud je ordinální jen jedna, pak: – Kruskal-Wallisův test