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
x
-6 -4 -2 0 2 4 6
y
-6
-4
-2
0
2
4
6
• Řá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.
Kontingenční (korelační) tabulka
Y
X 170 – 174,9 175 – 179,9 180 – 184,9 185 – 189,9 190 a více ni.
164 – 168,9 2 1 3
169 – 173,9 2 2 3 1 8
174 – 178,9 2 3 8 1 1 15
179 – 183,9 3 6 9
184 – 188,9 3 5 8
189 a více 1 1 2
n.j 6 6 11 14 8 45
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)“:
Příklad 1
Bodový korelační graf pro znázornění závislosti mezi
výškou otce a výškou syna
160
165
170
175
180
185
190
195
200
205
160 165 170 175 180 185 190 195
Výška otce (cm)
Vý
ška
syn
a (c
m)
Příklad 1
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 matematicko-
statistických kritérií (F test).
Bodový korelační graf pro znázornění závislosti mezi
výškou otce a výškou syna
160
165
170
175
180
185
190
195
200
205
160 165 170 175 180 185 190 195
Výška otce (cm)
Vý
ška
syn
a (c
m)
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ů.
min.
2
11
2 )(n
i
ii
n
i
irez yyeS
Lineární regrese
Metoda nejmenších čtverců
ii bxay
ie
ii yx ,
ii yx ,
1
cov( , )
var( )
xy
xx
Sx yb
x S
0 1b y b x
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.
2
1Root MeanSquareError:
n
i i
i
Y Y
RMSEn
1
1cov( , )
1
n
i i
i
x y x x y yn
Výběrový lineární korelační koeficient
Reziduální a regresní součet čtverců
Reziduální součet čtverců (MSE* n)
Regresní součet čtverců odchylek predikcí od průměru
Celkový součet = součet čtverců odchylek dat od průměru
2
11
2 )(
n
i
ii
n
i
irez yyeS
2
1
)(
n
i
ireg yyS
2
1
)(
n
i
iyy yyS
rezregyy SSS Regresní identita
Koeficient determinace
2 1reg rez
yy yy
S SR
S S
Mean Squared Error = Srez/n
Root Mean Squared Error
rezSRMSE
n
Korelační pole pro závislost výšky syna na výšce otce
y = 0,573x + 80,178
160
165
170
175
180
185
190
195
200
160 165 170 175 180 185 190 195 200 205
Výška otce (cm)
Vý
ška
syn
a (c
m)
Interval spolehlivosti pro predikci
Pás spolehlivosti
Lineární regrese y=2x y = 2,0072x + 2,3778
R2 = 0,6973
-6
-4
-2
0
2
4
6
8
10
-2 -2 -1 -1 0 1 1 2 2
x
y
Lineární regrese v Matlabu
0 0.5 1 1.5 2 2.5 3 3.5 40
1
2
3
4
5
6
7
8
9
10y=b(1)*x+b(2)
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,
[b,bint,r,rint,stats]=regress(y,[x,ones(n,1)]);
% stats: R^2, F statistics, p-value,
refline(b)
fprintf('R^2 %1.3g \n',stats(1))
fprintf('p-hodnota = %1.3g \n',stats(3)) %
Lineární regrese v Matlabu
10 20 30 40 50 60 70 80 90 100
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Residual Case Order Plot
Resid
uals
Case Number
rcoplot(r,rint)
Lineární regrese v Matlabu
polytool(x,y,1)
-2 -1.5 -1 -0.5 0 0.5 1 1.5-4
-2
0
2
4
6
8
Least squares:
Robust:
Y = 2.95067 + 1.94112*X
Y = 2.9483 + 1.94524*X
RMS error = 0.520848
RMS error = 0.534759
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
-2
-1
0
1
2
3
4
5
6
7
8
Use left mouse button to select and drag points
Use right mouse button to query point properties
x
y
Least squares
Robust
Robustní lineární regrese v Matlabu
robustdemo(x,y);
[b_r,stats_r]=robustfit(x,y)
Mean Squared Error = Srez/n
Root Mean Squared Error
rezSRMSE
n
2
11
2 )(
n
i
ii
n
i
irez yyeS
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
2
2 1
2
1
N
i
i
N
i
i
y y
R
y y
2 1reg rez
yy yy
S SR
S S
Mean Squared Error = Srez/n
Root Mean Squared Error rezS
RMSEn
2
11
2 )(
n
i
ii
n
i
irez yyeS
(x,y) = 0.0
x
-6 -4 -2 0 2 4 6
y
-6
-4
-2
0
2
4
6
Korelace náhodných proměnných
(x,y) = 0.0 (x,y) = 0.7
x
-6 -4 -2 0 2 4 6
y
-6
-4
-2
0
2
4
6
(x,y) = 0.7
N = 10000
Korelace náhodných proměnných
(x,y) = -0.7 (x,y) = 0.96 (x,y) = 0.9
x
-6 -4 -2 0 2 4 6
y
-6
-4
-2
0
2
4
6
(x,y) = - 0.7
x
-6 -4 -2 0 2 4 6
y
-6
-4
-2
0
2
4
6
N = 10000
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
yy
reg
S
SR 2
Nelineární regrese v Matlabu
-3 -2 -1 0 1 2 30
1
2
3
4
5
6
7
8
9
10
x
y
y=b(1)*x2+b(2)*x+b(3)
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)
Nelineární regrese v Matlabu
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.50
2
4
6
8
10
12
14
polytool(x,y,2)
Nelineární regrese v Matlabu
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 32
3
4
5
6
7
8
9
10
x
y
nlinfit: @(a,x)(a(1)*x.2+a(2)*x+a(3));
func=@(a,x)(a(1)*x.^2+a(2)*x+a(3));
a0=[1;0;3];
ahat=nlinfit(x,y,func,a0);
%graf
xrange = min(x):.02:max(x);
hold on
scatter(x,y)
plot(xrange,func(ahat,xrange),'m')
hold off
Nelineární regrese v Matlabu
nlintool(x,y,func,a0)
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 22
3
4
5
6
7
8
9
10
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<a zamítáme hypotézu, že jsou
rozdělení stejná
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)
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
t_test_reg.m
f_test_reg.m
=LINREGRESE(pole_y;pole_x;PRAVDA;PRAVDA)
=INTERCEPT(pole_y;pole_x) absolutní člen q
=SLOPE(pole_y;pole_x) směrnice k
qkxy
Kvadratická regrese
y = 1,9733x2 - 0,0103x + 0,5794
R2 = 0,9898
0
1
2
3
4
5
6
7
8
9
10
-2 -2 -1 -1 0 1 1 2 2
x
y
Koeficient determinace
Srez 3,617
Sreg 349,6751 `=VAR(f(x))*n
průměr y 2,829 2,829
Sxx 56,75074 `=VAR(x)*n
Celkový součet čtverců Syy 353,3079 353,292 =Srez+Sreg `=VAR(y)*n
Reziduální rozptyl Se 0,075357 =Srez/(n-2)
Koeficient determinace R2 0,989762 0,04605 =Sreg/(Srez+Sreg) `=R^2
Pearsonův korel. Koeficient R -0,214597 -0,2146 ́ =PEARSON(data_x;data_y)
F test poměru vysvětleného a nevysvětleného
rozptylu
H0: Data nejsou vhodná pro regresi
pravostranný test
)2,1()2(
nFSrez
SregnF
0hodnotap FFP
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
regresni a rezidualni součet čtverců Sreg, Srez
1126,6159 1320,706
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