Do okreslania zalezności liniowej między zmiennymi ilościowymi wykorzystywany jest Współczynnik korelacji liniowej Pearsona. Współczynnik ten określa poziom zależności liniowej między zmiennymi losowymi. Wartość współczynnika korelacji mieści się w przedziale domkniętym [-1, 1]. Im większa jest jego wartość bezwzględna, tym silniejsza jest zależność liniowa między zmiennymi. 0 - oznacza brak liniowej zależność, 1 – oznacza zależność dodatnią, a -1 – oznacza zależność ujemną między cechami. Założeniem przy wykorzystaniu współczynnika jest normalność rozkładu zmiennych. W przypadku braku spełnienia tego załozenia można wykorzystać np. Współczynnik korelacji rang Spearmana.
library(ggplot2)
library(vcd)
library(stats)
x=c(1:20)
y = 2*x-1
dane<-data.frame(x = x,
y = y)
ggplot(dane, aes(y=y, x=x))+
geom_point(size = 3, col="red") +
geom_smooth(method = lm, se=FALSE)cor(dane$x, dane$y)## [1] 1
y = log(x)
dane<-data.frame(x = x,
y = y)
ggplot(dane, aes(y=y, x=x))+
geom_point(size = 3, col="red") +
geom_smooth(method = lm, se=FALSE)cor(dane$x, dane$y)## [1] 0.9313087
x<-c(-10:10)
y<-x^2
dane<-data.frame(x = x,
y = y)
ggplot(dane, aes(y=y, x=x))+
geom_point(size = 3, col="red") +
geom_smooth(method = lm, se=FALSE)cor(dane$x, dane$y)## [1] 0
Jednym z najpopularniejszych testów wykorzystywanych do badania zależności między zmiennymi jakościowymi jest Test niezależności chi-kwadrat. Stosuje się go w celu sprawdzenia, czy między dwiema zmiennymi jakościowymi występuje istotna statystycznie zależność. Bazuje on na porównywaniu ze sobą liczebności obserwowanych, tj. takich, które uzyskaliśmy w badaniu, z liczebnościami oczekiwanymi, tj. takimi, które zakłada test, gdyby nie było żadnego związku między zmiennymi. Jeżeli różnica pomiędzy liczebnościami obserwowanymi a oczekiwanymi jest duża (istotna statystycznie) to można uznać, że zachodzi zależność między jedną zmienną a drugą. Test chi-kwadrat pozwala stwierdzić fakt istnienia zależności. Miarami pozwalajacymi określić siłę tej zależności są wspólczynniki: Fi-Yule’a, C-Pearsona, V Cramera. Współczynnik V Cramera przyjmuje wartości z przedziału [0; 1]
dane<-data.frame(plec = c(rep("M", 30), rep("K", 30)),
oczy = c(rep("brazowe", 30), rep("niebieskie", 30))
)
tab<-xtabs(~plec+oczy, data = dane)
tab## oczy
## plec brazowe niebieskie
## K 0 30
## M 30 0
assocstats(tab)## X^2 df P(> X^2)
## Likelihood Ratio 83.178 1 0.0000e+00
## Pearson 60.000 1 9.4369e-15
##
## Phi-Coefficient : 1
## Contingency Coeff.: 0.707
## Cramer's V : 1
dane<-data.frame(plec = c(rep("M", 30), rep("K", 30)),
zawod = c(rep("hydraulik", 18), rep("kierowca", 12),
rep("nauczycielka", 22),
rep("polozna", 8))
)
tab<-xtabs(~zawod+plec, data = dane)
tab## plec
## zawod K M
## hydraulik 0 18
## kierowca 0 12
## nauczycielka 22 0
## polozna 8 0
assocstats(tab)## X^2 df P(> X^2)
## Likelihood Ratio 83.178 3 0.0000e+00
## Pearson 60.000 3 5.8786e-13
##
## Phi-Coefficient : NA
## Contingency Coeff.: 0.707
## Cramer's V : 1
dane<-data.frame(wlosy = c(rep("blond", 10), rep("brazowe", 20), rep("czarne", 10)),
oczy = c(rep("niebieskie", 10), rep("piwne", 20), rep("zielone", 10)))
tab<-xtabs(~wlosy+oczy, data = dane)
tab## oczy
## wlosy niebieskie piwne zielone
## blond 10 0 0
## brazowe 0 20 0
## czarne 0 0 10
assocstats(tab)## X^2 df P(> X^2)
## Likelihood Ratio 83.178 4 0.0000e+00
## Pearson 80.000 4 2.2204e-16
##
## Phi-Coefficient : NA
## Contingency Coeff.: 0.816
## Cramer's V : 1
dane<-data.frame(plec = c(rep("M", 30), rep("K", 30)),
oczy = c(rep("brazowe", 15), rep("niebieskie", 30), rep("brazowe", 15)))
tab<-xtabs(~plec+oczy, data = dane)
tab## oczy
## plec brazowe niebieskie
## K 15 15
## M 15 15
assocstats(tab)## X^2 df P(> X^2)
## Likelihood Ratio 0 1 1
## Pearson 0 1 1
##
## Phi-Coefficient : 0
## Contingency Coeff.: 0
## Cramer's V : 0
Każdą zmienną ilosciową można zdyskretyzować, dzieląc ją na pewną liczbę podprzedziałów i analizując zależność pomiedzy przedziałami z wykorzystaniem np. testu chi-kwadrat. Innym sposobem badania zalezności jest wykorzystanie testu t-Studenta do porównania dwóch średnich między sobą - np. czy istnieje statystyczna różnica między wzrostem kobiet i mężczyzn. Warunkiem zastsowania testu t-Studenta jest rozkłąd normalny zmiennej ilościowej. W przypadku braku spełnienia tego założenia można wykorzystać Test U Manna-Whitneya. Test ten służy do weryfikacji hipotezy o nieistotności różnic pomiędzy medianami badanej zmiennej w dwóch populacjach. Test ten jest odpowiednikiem klasycznego testu t-Studenta dla prób niepowiązanych. Miarą tendencji centralnej dla tego testu jest nie średnia jak w przypadków testów t, a mediana.Hipoteza zerowa zakłada, iż próby pochodzą z jednej populacji, wobec hipotezy alternatywnej mówiącej o tym, iż próby pochodzą z różnych populacji.
dane<-data.frame(plec = c(rep("K", 15), rep("M", 15)),
ocena = c(rep(2:6, 6)))
table(dane$plec, dane$ocena)##
## 2 3 4 5 6
## K 3 3 3 3 3
## M 3 3 3 3 3
ggplot(dane, aes(x = plec, y=ocena, fill = plec)) +
geom_boxplot()wilcox.test(ocena~plec, data = dane)##
## Wilcoxon rank sum test with continuity correction
##
## data: ocena by plec
## W = 112.5, p-value = 1
## alternative hypothesis: true location shift is not equal to 0
dane<-data.frame(plec = c(rep("K", 15), rep("M", 15)),
ocena = c(rep(2:4, 5), rep(4:6, 5)))
table(dane$plec, dane$ocena)##
## 2 3 4 5 6
## K 5 5 5 0 0
## M 0 0 5 5 5
ggplot(dane, aes(x = plec, y=ocena, fill = plec)) +
geom_boxplot()wilcox.test(ocena~plec, data = dane)##
## Wilcoxon rank sum test with continuity correction
##
## data: ocena by plec
## W = 12.5, p-value = 2.192e-05
## alternative hypothesis: true location shift is not equal to 0