Agnieszka Nowak – Brzezińska
Wykład 2 z 5
metoda typ Zmienna niezależna
Regresja liniowa Regresja Wszystkie ilościowe Zakłada liniową zależność, prosta w implementacji
Analiza
dyskryminacyjna klasyfikacja Wszystkie ilościowe Zakłada istnienie podobnych grup Regresja logistyczna Klasyfikacja Wszystkie ilościowe Oblicza
prawdopodobieństwo Naiwny klasyfikator
Bayesa klasyfikacja Tylko nominalne
(jakościowe) Wymaga dużego zbioru danych
K-NN Regresja lub
klasyfikacja Wszystkie ilościowe Dobre dla nieliniowych zależności, dla
odchyleń w danych, i dobrze wyjaśnia dane
Sieci neuronowe Regresja lub
klasyfikacja Wszystkie ilościowe Model czarnej skrzynki
CART Regresja lub
klasyfikacja Każde Dobrze wyjaśnia
rozumowanie za pomocą drzew klasyfikacji
Klasyfikacja to technika, którą wykorzystuje się w takich dziedzinach jak np. statystyka, sztuczna inteligencja i uczenie maszynowe.
Oprócz tego znajduje ona zastosowanie w
wielu sytuacjach, takich jak: rozpoznawanie
obiektów obrazów graficznych,
przewidywanie nowości na rynkach
finansowych, przy wspomaganiu przeróżnych
decyzji opierających się na dużej ilości
informacji oraz w medycynie przy
diagnozowaniu chorób pacjentów.
Klasyfikacja umożliwia znalezienie w zbiorze predefiniowanych klas odwzorowania nieznanych danych za pomocą stworzonego modelu zwanego klasyfikatorem.
Klasyfikowanie nowych obiektów czy też bardziej pełne uświadomienie istniejących podziałów tych obiektów na predefiniowane klasy określonej bazy danych odbywa się za pośrednictwem modelu, który tworzony jest na podstawie danych zawartych w tej bazie.
Klasyfikację można podzielić na następujące etapy:
1. Budowa klasyfikatora (modelu).
2. Testowanie modelu.
3. Wykorzystanie zbudowanego modelu do przewidzenia
nieznanych wartości.
Najistotniejszym zadaniem klasyfikacji jest budowa określonego modelu, który posłuży później do predykcji przydziału do klasy, gdzie jest ona nieznana. W tym przypadku wykorzystuje się do tego część zebranych danych (np. przykłady, doświadczenia, czynniki, wektory itd.) tzw.
zbiór treningowy. Zbiór ten wydzielany jest na podstawie podziału całej bazy danych na dwie części, z czego jedna część to właśnie zbiór treningowy, a druga to zbiór testowy.
Oba zbiory składają się z listy cech (atrybutów) oraz przyporządkowanych do tych cech klas, będących wartościami decyzyjnymi.
Klasyfikator opierając się na zbiorze treningowym uczy się
właściwości danych i przypisuje każdemu wektorowi klasę,
czyli wartość decyzyjną, będącą wielkością wyjściową modelu.
Testowanie zbudowanego modelu to określenie jakości (dokładności) z jaką dokonuje on predykcji klas.
Testowanie to odbywa się z wykorzystaniem zbioru testowego, który jest zbiorem przykładów utworzonym przy wcześniejszym podziale całej bazy danych na dwie części.
W zależności od ilości danych (np. przykładów) jakie posiada określona baza danych, podział ten jest dokonywany w różnych proporcjach, gdzie najczęściej zbiór testowy przyjmuje 25-50% danych, a zbiór treningowy pozostałą część.
Dokładność danego klasyfikatora wyznaczana jest w następujący sposób:
znane wartości decyzyjne przykładów zbioru testowego porównywane są z klasami przewidzianymi przy użyciu tego modelu na tych przykładach.
Z dokonanego porównania wyznaczana jest procentowa dokładność poprawnie zakwalifikowanych przykładów do danych klas, co daje wartość współczynnika jakości danego klasyfikatora.
Jeżeli jest on akceptowalny można wykorzystać ten model przy klasyfikacji nowych danych i przy predykcji wartości decyzyjnych dla przykładów, w których jest ona utracona bądź niewiadoma.
Mamy dany zbiór danych podzielony na klasy decyzyjne, oraz pewien algorytm klasyfikujący.
Problem: zbadać skuteczność algorytmu na tych danych.
Kryterium skuteczności: liczba (procent)
prawidłowo rozpoznanych obiektów
testowych, niebiorących udziału w treningu
W pierwszym kroku budowany jest model opisujący zadany zbiór danych (treningowy zbiór danych) składający się ze zbioru obiektów (krotek) opisanych za pomocą atrybutów.
Jeden z atrybutów jest atrybutem klasyfikującym i określa etykietę klasy, do której należy obiekt. Obiekty tworzące zbiór treningowy wybierane są losowo z pewnej populacji.
Ten etap klasyfikacji nazywany jest też uczeniem z
nadzorem, gdyż podana jest klasyfikacja każdego obiektu
(przykładem nauczania bez nadzoru jest tworzenie skupień,
clustering)
Utworzony model klasyfikacji reprezentowany jest w postaci:
• reguł klasyfikacji,
• drzew decyzyjnych,
• formuł matematycnych.
• Przykład: mając bazę danych z informacjami o kartach kredytowych klientów można utworzyć reguły klasyfikacyjne określające klientów o dobrej lub
słabej zdolności kredytowej.
• Reguły mogą być wykorzystane do klasyfikacji przyszłych przypadków, jak również do lepszego zrozumienia zawartości bazy danych
W drugim kroku model jest używany do klasyfikacji. Najpierw oceniana jest dokładność modelu (klasyfikatora). W tym celu posługujemy się zbiorem testowym, który wybrany jest losowo i jest niezależny od zbioru treningowego.
Dokładność modelu na zadanym zbiorze testowym określona jest przez procentową liczbę trafnych klasyfikacji, tzn. jaki procent przypadków testowych został prawidłowo zaklasyfikowany za pomocą modelu. Dla każdego przypadku możemy porównać znaną etykietę klasy z etykietą przypisaną przez model.
Jeśli dokładność modelu została oceniona jako wystarczająca,
model można użyć do klasyfikacji przyszłych przypadków
(obiektów) o nieznanej etykiecie klasy.
• Predykcja (przewidywanie) może być rozumiana jako wykorzystanie modelu do oszacowania (obliczenia) wartości (lub przedziału wartości), jaką z dużym prawdopodobieństwem może mieć atrybut analizowanego obiektu. Wartością tego atrybutu może być w szczególności etykieta klasy.
• Z tego punktu widzenia klasyfikacja i regresja są dwoma głównymi rodzajami problemów predykcyjnych; przy czym klasyfikacja jest używana do przewidzenia wartości dyskretnych lub nominalnych, a regresja do oszacowania wartości ciągłych lub uporządkowanych.
Umowa:
• przewidywanie etykiet klas – klasyfikacja,
• przewidywanie wartości ciągłych (technikami regresji) –
predykacja.
Klasyfikacja i predykcja mają wiele zastosowań, na przykład:
• akceptacja udzielenia kredytu,
• diagnostyka medyczna,
• przewidywanie wydajności,
• selektywny marketing,
• inne
majątek
Duże ryzyko
Średni, duży
oszczędności mały
duże
Małe, średnie
Małe ryzyko majątek
duży Średni
Małe ryzyko Duże ryzyko
Techniką bardzo podobną do klasyfikacji jest regresja znajdująca zastosowanie w takich dziedzinach jak np.
logistyka, analiza danych finansowych, prognozowanie sprzedaży, medycyna, procesy produkcyjne itp.
Głównym celem regresji jest zbudowanie modelu, który podobnie jak wcześniej model klasyfikacji posłuży do predykcji jednej zmiennej na podstawie znanych wartości innych zmiennych.
Podstawową różnicą pomiędzy regresją i klasyfikacją, jest to,
że w klasyfikacji przewidywana zmienna przyjmuje wartość
kategoryczną, natomiast w regresji jej celem jest
przewidzenie zmiennej przyjmującej wartość ciągłą
(numeryczną).
Błędy w klasyfikacji
Ok. !
Ok. !
W praktyce stosowanie regresji tak samo jak w klasyfikacji sprowadza się do trzech etapów: budowy klasyfikatora (modelu), testowania modelu oraz wykorzystania zbudowanego modelu do przewidzenia nieznanych wartości.
Budowa modelu regresji odbywa się w podobny sposób do budowy modelu klasyfikacji czyli wykorzystuje się do tego celu zebrane dane podzielone na zbiór testowy i treningowy oraz algorytm regresji.
Jedną z różnic występującą między tymi dwoma technikami jest to, iż w danych do nauki modelu regresji wartością decyzyjną nie jest jak w przypadku klasyfikacji – kategoria, lecz wartość ciągła. Kolejną różnicą jest to, że w klasyfikacji, decyzja opiera się na przyporządkowaniu nowego przykładu do jednej ze znanych wartości kategorycznych zbioru treningowego, natomiast w regresji predykcja ta zachodzi poprzez obliczenie nowej wartości decyzyjnej dla danego przykładu.
Proces regresji służy do ustalenia wartości parametrów tak, by stworzyć funkcję do obliczania wartości decyzyjnej możliwie jak najlepiej odpowiadającą określonemu zbiorowi danych.
Modele regresji najczęściej opierają się na funkcji:
- regresji liniowej,
- regresji nieliniowej (wielorakiej).
Będziemy dokonywać predykcji, a więc przewidywania wartości zmiennej ilościowej.
Przykład będzie dotyczył zbioru 77 płatków
śniadaniowych, dla których badane są różne
parametry: poziom cukru, tłuszczu, błonnika,
a ocena wyrażana jest w postaci tzw. wartości
odżywczej płatków.
Zbiór płatków śniadaniowych (R)
Zbiór płatków śniadaniowych (Excel)
Levels Storage
name 77 integer mfr 7 integer type 2 integer calories integer protein integer fat integer sodium integer fiber double carbo double sugars integer potass integer vitamins integer shelf integer weight double cups double rating double
Szukamy wiedzy o płatkach …
Szukamy wiedzy o płatkach …
Szukamy wiedzy o płatkach …
name
n missing unique 77 0 77
lowest : 100%_Bran 100%_Natural_Bran All-Bran All-Bran_with_Extra_Fiber Almond_Delight
highest: Triples Trix Wheat_Chex Wheaties Wheaties_Honey_Gold
--- mfr
n missing unique 77 0 7
A G K N P Q R Frequency 1 22 23 6 9 8 8
% 1 29 30 8 12 10 10
--- type
n missing unique
77 0 2 C (74, 96%), H (3, 4%)
Szukamy wiedzy o płatkach …
--- calories
n missing unique Mean .05 .10 .25 .50 .75 .90 .95
77 0 11 106.9 70 90 100 110 110 124 140
50 70 80 90 100 110 120 130 140 150 160 Frequency 3 2 1 7 17 29 10 2 3 2 1
% 4 3 1 9 22 38 13 3 4 3 1
--- protein
n missing unique Mean 77 0 6 2.545
1 2 3 4 5 6 Frequency 13 25 28 8 1 2
% 17 32 36 10 1 3
Szukamy wiedzy o płatkach …
carbo
n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 22 14.60 8.0 10.3 12.0 14.0 17.0 21.0 21.0
lowest : -1 5 7 8 9, highest: 19 20 21 22 23
--- sugars
n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 17 6.922 0.0 0.6 3.0 7.0 11.0 13.0 14.0
-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Frequency 1 7 1 3 13 1 5 7 4 5 4 5 5 7 4 3 2
% 1 9 1 4 17 1 6 9 5 6 5 6 6 9 5 4 3
--- potass
n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 36 96.08 24 28 40 90 120 190 244 lowest : -1 15 20 25 30, highest: 240 260 280 320 330
Szukamy wiedzy o płatkach …
vitamins
n missing unique Mean 77 0 3 28.25
0 (8, 10%), 25 (63, 82%), 100 (6, 8%)
--- shelf
n missing unique Mean 77 0 3 2.208
1 (20, 26%), 2 (21, 27%), 3 (36, 47%)
--- weight
n missing unique Mean 77 0 7 1.030
0.5 0.83 1 1.25 1.3 1.33 1.5 Frequency 2 1 64 2 1 5 2
% 3 1 83 3 1 6 3
---
Szukamy wiedzy o płatkach …
fat
n missing unique Mean 77 0 5 1.013
0 1 2 3 5 Frequency 27 30 14 5 1
% 35 39 18 6 1 sodium
n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 27 159.7 0 0 130 180 210 254 282
lowest : 0 15 45 70 75, highest: 250 260 280 290 320
--- fiber
n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 13 2.152 0.0 0.0 1.0 2.0 3.0 4.4 5.2
0 1 1.5 2 2.5 2.7 3 4 5 6 9 10 14 Frequency 19 16 3 10 1 1 15 4 4 1 1 1 1
% 25 21 4 13 1 1 19 5 5 1 1 1 1
Szukamy wiedzy o płatkach …
cups
n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 12 0.821 0.466 0.500 0.670 0.750 1.000 1.000 1.026 0.25 0.33 0.5 0.67 0.75 0.8 0.88 1 1.13 1.25 1.33 1.5 Frequency 1 3 7 13 16 1 2 30 1 1 1 1
% 1 4 9 17 21 1 3 39 1 1 1 1 --- rating
n missing unique Mean .05 .10 .25 .50 .75 .90 .95 77 0 77 42.67 22.67 27.92 33.17 40.40 50.83 60.09 68.27 lowest : 18.04 19.82 21.87 22.40 22.74, highest: 68.24 68.40 72.80 74.47 93.70
Szukamy wiedzy o płatkach …
Szukamy wiedzy o płatkach …
Szukamy wiedzy o płatkach …
Szukamy wiedzy o płatkach …
Szukamy wiedzy o płatkach …
Szukamy wiedzy o płatkach …sprawdzamy
korelację między poziomem cukru w płatkach a ich
wartością odżywczą
Szukamy wiedzy o płatkach …sprawdzamy rozkład
wartości odżywczej płatków ze względu na typ
Szukamy wiedzy o płatkach …histogramy dla
danych ilościowych – NIE !!!
Szukamy wiedzy o płatkach …histogramy dla
danych jakościowych – TAK !!!
0 20 40 60 80 100
-5 0 5 10 15 20
rating
sugars
sugars
Korelacja Pearsona w excelu
Korelacja Spearmana w
excelu
The Spearman correlation, called Spearman’s rho, is a special case of the Pearson
correlation computed on ranked
data.
Szukamy wiedzy o płatkach …korelacja dla
wszystkich zmiennych – NIE !!!
Szukamy wiedzy o płatkach …korelacja może
być przedstawiona dendrogramem
•Analiza regresji jest bardzo popularną i chętnie stosowaną techniką statystyczną pozwalającą opisywać związki zachodzące pomiędzy zmiennymi wejściowymi (objaśniającymi) a wyjściowymi (objaśnianymi).
•Innymi słowy dokonujemy estymacji jednych danych korzystając z innych.
•Istnieje wiele różnych technik regresji.
•Metoda zakłada, że pomiędzy zmiennymi objaśniającymi i objaśnianymi istnieje mniej lub bardziej wyrazista zależność liniowa.
•Mając zatem zbiór danych do analizy, informacje opisujące te dane możemy podzielić na objaśniane i objaśniające. Wtedy też wartości tych pierwszych będziemy mogli zgadywać znając wartości tych drugich.
• Oczywiście tak się dzieje tylko w sytuacji, gdy faktycznie między tymi zmiennymi istnieje zależność liniowa.
•Przewidywanie wartości zmiennych objaśnianych (y) na podstawie wartości zmiennych objaśniających (x) jest możliwe dzięki znalezieniu tzw. modelu regresji.
•W praktyce polega to na podaniu równania prostej, zwanej prostą regresji o postaci:
y = b_0 + b_1 x
gdzie: y - jest zmienną objaśnianą, zaś x - objaśniającą. W równaniu tym bardzo istotną rolę odgrywają współczynniki b_0 i b_1, gdzie b_1 jest nachyleniem linii regresji, zaś b_0 punktem przecięcia linii regresji z osią x (wyrazem wolnym) a więc przewidywaną wartością zmiennej objaśnianej gdy zmienna objaśniająca jest równa 0.
0 10 20 30 40 50 60 70 80 90 100
-2 0 2 4 6 8 10 12 14 16
rating
sugars
sugars
0 10 20 30 40 50 60 70 80 90 100
-2 0 2 4 6 8 10 12 14 16
rating
sugars
sugars
Liniowy (sugars)
x b b
y
0
1
sugars rating
59 . 4 2 . 42 *
A więc:
b
0 59 . 4 b
1 2 . 42
„Oszacowana wartość odżywcza płatków (rating) jest równa 59.4 i 2.42 razy waga cukrów (sugars) w gramach”
Czyli linia regresji jest liniowym przybliżeniem relacji między zmiennymi x (objaśniającymi, niezależnymi) a y (objaśnianą, zależną) – w tym przypadku między zawartością cukrów a wartością odżywczą.
Możemy zatem dzięki regresji: SZACOWAĆ, PRZEWIDYWAĆ…
Gdy np. chcemy oszacować wartości odżywcze nowego rodzaju płatków (nieuwzględnionych dotąd w tej próbie 77 różnym badanych płatków śniadaniowych), które zawierają x=1 gram cukrów.
Wówczas za pomocą oszacowanego równania regresji możemy wyestymować wartość odżywczą płatków śniadaniowych zawierającym 1 gram cukrów:
98 . 56 1
* 42 . 2 4 .
59
y
Gdy np. chcemy oszacować wartości odżywcze nowego rodzaju płatków (nieuwzględnionych dotąd w tej próbie 77 różnym badanych płatków śniadaniowych), które zawierają x=5 gram cukrów.
Wówczas za pomocą oszacowanego równania regresji możemy wyestymować wartość odżywczą płatków śniadaniowych zawierającym 5 gram cukrów:
3 . 47 5
* 42 . 2 4 .
59
y
Jak widać, niestety oszacowanie zgodne z równaniem regresji jest nie do końca zgodne z rzeczywistą wartością odżywczą płatków.
•Czyli każde płatki mające 1 gram cukru powinny mieć wartość odżywczą równą 56,98 ale jak widać tak nie jest.
•Płatki Cheerios mają wartość odżywczą równą 50,765.
•Czyli nastąpiło PRZESACOWANIE wartości odżywczej płatków o 6,215.
•Graficznie tę odległość widzimy jako odległość punktu reprezentującego
te płatki od jego rzutu pionowego na linię regresji.
•Odległość ta mierzona jako:
•Nazywać będziemy błędem predykcji (błędem oszacowania, wartością resztową, rezyduum).
•Oczywiście powinno się dążyć do minimalizacji błędu oszacowania.
•Służy do tego metoda zwana metodą najmniejszych kwadratów. Metoda polega na tym, że wybieramy linię regresji która będzie minimalizować sumę kwadratów reszt dla wszystkich punktów danych.
)
( y
y
Odpowiedź: pewnie NIE.
Prawdziwą liniową zależność między wartością odżywczą a zawartością cukrów dla WSZYSTKICH rodzajów płatków reprezentuje równanie:
x
y 0 1
- Losowy błąd1.
Obliczamy wartości x
i,y
i,x
iy
i,x
i2xi=534
yi=3285.26
xiyi=19186.76
xi2=5190
1. Obliczamy wartości:
2. Podstawiamy do wzorów:
42 . 67 2
. 1486
79 . 3596 77
/ 534 5190
77 / 26 . 3285
* 534 76
. 19186
1 2
b
4 . 59 935
. 6
* 42 . 2 6657 .
1
42
0
y b x
b
Wyraz wolny b0 jest miejscem na osi y gdzie linia regresji przecina tę oś czyli jest to przewidywana wartość zmiennej objaśnianej gdy objaśniająca równa się zeru.
Współczynnik kierunkowy prostej regresji oznacza szacowaną zmianę wartość y dla jednostkowego wzrostu x wartość b
1=- 2.42 mówi, że jeśli zawartość cukrów wzrośnie o 1 gram to wartość odżywcza płatków zmniejszy się o 2.42 punktu.
Czyli płatki A których zawartość cukrów jest o 5 większa niż w
płatkach B powinny mieć oszacowaną wartość odżywczą o 5 razy
2.42 = 12.1 punktów mniejszą niż płatki typu B.
Omawiając regresję liniową (prostą) rozpatrywaliśmy dotąd jedynie takie przypadki zależności między zmiennymi objaśniającymi a objaśnianymi gdzie zmienna objaśniana była zależna tylko od jednej konkretnej zmiennej objaśniającej.
Jednak w praktyce niezwykle często zmienna objaśniana zależna jest nie od jednej ale od kilku (wielu) zmiennych objaśniających.
Będziemy zatem rozważać ogólne równanie regresji postaci:
m m x b
x b x
b b
y
2 ...
2 1
1 0
gdzie m oznacza liczbę (najczęściej kilku) zmiennych objaśniających.
W środowisku R procedura znajdowania równania regresji dla podanego zbioru danych możliwa jest dzięki wykorzystaniu funkcji lm.
Komenda R postaci lm(y ~ x) mówi, że
chcemy znaleźć model regresji liniowej dla
zmiennej y w zależności od zmiennej x.
równanie regresji, gdy zmienną objaśnianą będzie zmienna rating (wartość odżywcza płatków) zaś objaśniającą sugars (poziom cukrów), będzie
następującej postaci:
Wówczas pełny zapis okna dialogu z R-em będzie następujący:
> dane<- read.table("C:\\Cereals.data", header = TRUE, row.names = 1)
> model<-lm(rating~sugars, data=dane)
> summary(model)
Call:
lm(formula = rating ~ sugars, data = dane)
Residuals:
Min 1Q Median 3Q Max -17.853 -5.677 -1.439 5.160 34.421
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 59.2844 1.9485 30.43 < 2e-16 ***
sugars -2.4008 0.2373 -10.12 1.15e-15 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 9.196 on 75 degrees of freedom Multiple R-squared: 0.5771, Adjusted R-squared: 0.5715 F-statistic: 102.3 on 1 and 75 DF, p-value: 1.153e-15
>
rating = -2.4 * sugars+ 59.3
Teraz możemy przewidywać, że gdy poziom cukrów wynosi np 1 to wartość odżywcza płatków będzie wynosić 56.9 zaś gdy poziom cukrów będzie wynosił 10 wówczas wartość odżywcza zmaleje do wartości 35.3 (patrz poniżej).
> predict(model,data.frame(sugars=10), level = 0.9, interval = "confidence") fit lwr upr
1 35.27617 33.14878 37.40356
> predict(model,data.frame(sugars=1), level = 0.9, interval = "confidence")
fit lwr upr
1 56.88355 53.96394 59.80316
Widać z nich, że między zmienną objaśniającą sugars a zmienną objaśnianą fiber istnieje pewna zależność (w miarę wzrostu wartości sugars spada wartość rating).
Z kolei analizując rozrzut obserwacji ze względu na wartości zmiennej objaśniającej fiber oraz objaśnianej rating już tak silnej zależności nie dostrzegamy.
Sprawdźmy jak będzie się zachowywać rozrzut wartości zmiennych objaśnianych w oparciu o te dwie zmienne objaśniające razem.
> model<-lm(rating~sugars+fiber, data=dane)
> summary(model)
Call:
lm(formula = rating ~ sugars + fiber, data = dane)
Residuals:
Min 1Q Median 3Q Max -12.133 -4.247 -1.031 2.620 16.398
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 51.6097 1.5463 33.376 < 2e-16 ***
sugars -2.1837 0.1621 -13.470 < 2e-16 ***
fiber 2.8679 0.3023 9.486 2.02e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.219 on 74 degrees of freedom Multiple R-squared: 0.8092, Adjusted R-squared: 0.804 F-statistic: 156.9 on 2 and 74 DF, p-value: < 2.2e-16
W tym przypadku równanie regresji będzie wyglądać następująco:
Rating = - 2.1837 * sugars+ 2.8679 * fiber+ 51.6097
Uogólniając będziemy mówić, że dla m zmiennych objaśniających zachodzi reguła, zgodnie z którą: oszacowana zmiana wartości zmiennej odpowiedzi to} b
i, jeśli wartość zmiennej x
irośnie o jednostkę i zakładając, że wszystkie pozostałe wartości zmiennych są stałe.
Rating = - 2.1837 * sugars+ 2.8679 * fiber+ 51.6097 Aby zinterpretować współczynnik nachylenia prostej regresji:
b1 = -2.1837
wartość odżywcza maleje o 2.1837 punktu, jeśli zawartość cukru rośnie o jedną jednostkę.
Zakładamy przy tym, że zawartość błonnika (fiber) jest stała.
b2 = 2.8679 wartość odżywcza rośnie o 2.8679 punktu, jeśli zawartość błonnika rośnie o jedną jednostkę a
zawartość cukru (sugars) jest stała.
Błędy predykcji są mierzone przy użyciu reszt $y - \hat{y}$.
Uwaga: w prostej regresji liniowej reszty reprezentują odległość (mierzoną wzdłuż osi pionowej) pomiędzy właściwym punktem danych a linią regresji, zaś w regresji wielokrotnej, reszta jest reprezentowana jako odległość między właściwym
punktem danych a płaszczyzną lub hiperpłaszczyzną regresji.
Przykładowo płatki Spoon Size Shredded Wheat zawierają x1=0 gramów cukru i x2 = 3 gramy błonnika, a ich wartość odżywcza jest równa 72.80 podczas gdy wartość oszacowana, podana za pomocą równania regresji:
Zatem dla tych konkretnych płatków reszta jest równa 60.21 - 72.80 = 12.59.
> predict(model, data.frame(sugars=0,fiber=3),level=0.95, interval="confidence")
fit lwr upr 1 60.21342 57.5805 62.84635
Zwróćmy uwagę na to, że wyniki, które tutaj zwraca funkcja R: predict są bardzo istotne. Mianowicie, oprócz podanej (oszacowanej, przewidywanej) wartości zmiennej objaśniającej, otrzymujemy również przedział ufności na zadanym poziomie ufności równym 0.95, który to przedział mieści się między wartością 57.5805 (lwr) a 62.84635 (upr).
Pozwala stwierdzić czy oszacowane równanie regresji jest przydatne do przewidywania.
Określa stopień w jakim linia regresji najmniejszych kwadratów wyjaśnia zmienność obserwowanych danych.
y y y ( y y )
2x y
y y y
(
y y)
2x
y
ni
y y
SST
1
)
2Całkowita suma kwadratów…
(
ni
y y SSR
1
)
2Regresyjna suma kwadratów …
(
ni
y y
SSE
1
)
2Suma kwadratów błędów oszacowania:
(
SST r
2 SSR
Wówczas współczynnik determinacji r2:
SST r
2 SSR
Współczynnik determinacji r2:
Współczynnik determinacji r 2
Mierzy stopień dopasowania regresji jako przybliżenia liniowej zależności pomiędzy zmienną celu a zmienną objaśniającą.
Jaka jest wartość maksymalna współczynnika determinacji r2 ?
Jest ona osiągana wtedy, gdy regresja idealnie pasuje do danych, co ma
miejsce wtedy gdy każdy z punktów danych leży dokładnie na oszacowanej linii regresji. Wówczas nie ma błędów oszacowania, a więc wartości resztowe
(rezydua) wynoszą 0, a więc SSE=0 a wtedy SST = SSR a r2=1.
Jaka jest wartość minimalna współczynnika determinacji r2 ?
Jest ona osiągana wtedy, gdy regresja nie wyjaśnia zmienności, wtedy SSR = 0, a więc r2=0.
Im większa wartość r
2tym lepsze dopasowanie regresji do zbioru
danych.
Jak już wspomnieliśmy na początku, często w świecie rzeczywistym mamy do czynienia z zależnościami zmiennej objaśnianej nie od jednej ale raczej od wielu zmiennych objaśniających.
Wykonanie tego typu analiz w pakiecie R nie jest rzeczą trudną. Wręcz przeciwnie.
Nim przeprowadzimy analizę zależności zmiennej rating od wielu zmiennych objaśniających np. sugars oraz fiber przyjrzyjmy się wykresom rozrzutu dla tych zmiennych osobno. Wykres rozrzutu bowiem doskonale odzwierciedla zależności między pojedynczymi zmiennymi.
Widać z nich, że między zmienną objaśniającą sugars a zmienną objaśnianą fiber istnieje pewna zależność (w miarę wzrostu wartości sugars spada wartość rating).
Z kolei analizując rozrzut obserwacji ze względu na wartości zmiennej objaśniającej fiber oraz objaśnianej rating już tak silnej zależności nie dostrzegamy.
Sprawdźmy jak będzie się zachowywać rozrzut wartości zmiennych objaśnianych w oparciu o te dwie zmienne objaśniające razem.
gdzie SSR to regresyjna suma kwadratów zaś SST to całkowita suma kwadratów
Będziemy go interpetować jako część zmienności zmiennej objaśnianej, która jest wyjaśniana przez liniową zależność ze zbiorem zmiennych objaśniających.
Im większa będzie liczba zmiennych objaśniających tym \textbf{nie mniejsza} będzie wartość współczynnika determinacji $R^2$.
Możemy wnioskować, że gdy dodajemy nową zmienną objaśniającą do modelu, wartość $R^2$ będzie nie mniejsza niż przy modelu o mniejszej liczbie
zmiennych. Oczywiście skala (wielkość) tej różnicy jest bardzo istotna w
zależności od tego czy dodamy tę zmienną do modelu czy też nie. Jeśli wzrost jest duży to uznamy tę zmienną za znaczącą (przydatną).
Niezwykle istotna jest miara nazwana już wcześniej współczynnikiem determinacji R2 określana za pomocą wzoru:
SST
R
2 SSR
^ 2ˆ1
ˆˆ )
( y y
SST
n
i
^ 2ˆ 1
ˆˆ )
( y y
SSR
n
i
Jeśli takie reszty obliczymy dla każdej obserwacji to możliwe będzie wyznaczenie wartości współczynnika determinacji R2. W naszym przypadku jest on równy 0.8092 czyli 80.92 %. Oznacza to w naszej analizie, że 80.92 % zmienności wartości odżywczej jest wyjaśniane przez liniową zależność pomiędzy zmienną wartość odżywcza a zbiorem zmiennych objaśniających - zawartością cukrów i zawartością błonnika.
Jeśli popatrzymy jaka była wartość tego współczynnika, gdy badaliśmy na początku zależność zmiennej objaśnianej tylko od jednej zmiennej objaśniającej (cukry) to wartość ta wynosiła R2 = 57.71% . Dla dwóch zmiennych objaśniających ta wartości wyniosła 80.92 %. Czyli powiemy, że dodając nową zmienną objaśniającą (w tym przypadku błonnik) możemy wyjaśnić dodatkowe 80.92 - 57.71 = 22.19% zmienności wartości odżywczej (rating) płatków.
Typowy błąd oszacowania jest tu obliczany jako standardowy błąd oszacowania s i wynosi 6.22 punktu. Oznacza to, że estymacja wartości odżywczej płatków na podstawie zawartości cukrów i błonnika zwykle różni się od właściwej wartości o 6.22 punktu. Jeśli nowa zmienna jest przydatna, to błąd ten powinien się zmniejszać po dodaniu nowej zmiennej.
gdzie p oznacza liczbę parametrów modelu (i jest to zazwyczaj liczba zmiennych objaśniających + 1) zaś n oznacza wielkość próby. Zwykle wartość R2adj będzie po prostu nieco mniejsza niż wartość R2.
W środowisku R współczynnik determinacji R2 wyznaczymy stosując bezpośrednio komendę:
summary(model.liniowy)\$r.square
Z kolei współczynnik determinacji ale ten tzw. skorygowany (ang. Adjusted) za pomocą komendy:
summary(model.liniowy)\$adj.r.squared
Najprostszym sposobem na wybór optymalnej liczby zmiennych objaśniających jest współczynnik R2adj zwany skorygowanym. Wiedząc, że R2 = 1 – SSE/SST wartość R2adj obliczymy jako:
1
2
1
n SST
p n
SSE
R
adj> dane<- read.table("C:\\Cereals.data", header = TRUE, row.names = 1)
> model<-lm(rating~sugars+fiber, data=dane)
> summary(model)$r.square [1] 0.8091568
> summary(model)$adj.r.squared [1] 0.8039988
Chcąc wyznaczyć wartości tych współczynników dla naszego testowego modelu z dwiema zmiennymi objaśniającymi sugars oraz fiber w środowisku R użyjemy odpowiednich komend, jak to pokazuje poniższy kod R wraz z wynikami:
Jak widzimy współczynnik R2 wynosi 0.809 zaś R2adj odpowiednio 0.804.
Obserwacja jest wpływowa (ang. influential), jeśli jej obecność wpływa na prostą regresji, w taki sposób, że zmienia się współczynnik kierunkowy tej prostej. Inaczej powiemy, że jeśli obserwacja jest wpływowa to inaczej wygląda prosta regresji w zależności od tego czy ta obserwacja została ujęta w zbiorze, czy też nie (gdyż została usunięta).
W praktyce, jeśli obserwowana wartość leży w I-ym kwartylu rozkładu (czyli ma wartość mniejszą niż 25 centyl), to mówimy, że ma ona mały wpływ na regresję. Obserwacje leżące między I a III kwartylem nazywamy wpływowymi.
Wykrycie obserwacji wpływowych umożliwia pomiar odległości Cooka, w której wykorzystujemy tzw.
modyfikowane rezydua. Usuwając obserwację, którą chcemy uznać za wpływową ze zbioru obserwacji i obliczając różnicę (między tym jak wyglądają równania regresji z tą obserwacją i gdy jej nie ma) uznajemy obserwację za wpływową gdy ta różnica będzie wysoka.
Odległość Cooka mierzy poziom wpływu obserwacji i jest obliczana jako:
jest wartością przewidywaną dla j-tej obserwacji obliczoną w modelu z usuniętą obserwacją i-tą
y
j ) (iy
j jest wartością przewidywaną dla j-tej obserwacji w modelu, w którym nie usunięto i-tej obserwacji (potencjalnie wpływowej).Teraz jeśli chcemy poznać obserwacje wpływowe możemy użyć komendy:
> influencePlot(lm(b~a), main="Influence
Plot",sub="Rozmiar kółka jest proporcjonalny do odległości Cooka)
Jak widać, ostatnia kolumna wskazuje na obserwacje wpływowe zaznaczając przy nich symbol *.
Z naszych danych wynika, że w zbiorze 10 obserwacji mamy 2 wpływowe. Są to obserwacje 1 i 9.
Do wykrycia obserwacji wpływowych możemy także użyć funkcji.
> influence.measures(lm(b~a))
> influence.measures(lm(b~a)) Influence measures of
lm(formula = b ~ a) :
dfb.1_ dfb.a dffit cov.r cook.d hat inf 1 0.0000 0.00e+00 -1.14e-15 1.781 7.45e-31 0.267 * 2 0.5570 -4.52e-01 5.71e-01 1.399 1.65e-01 0.267 3 0.0000 0.00e+00 2.10e-16 1.581 2.52e-32 0.174 4 -0.2337 1.24e-01 -3.13e-01 1.215 5.08e-02 0.119 5 0.0000 0.00e+00 1.42e-16 1.482 1.15e-32 0.119 6 -0.1187 2.05e-18 -2.82e-01 1.195 4.12e-02 0.100 7 0.0217 2.99e-01 7.57e-01 0.573 2.03e-01 0.119 8 0.2719 -6.52e-01 -9.99e-01 0.563 3.40e-01 0.174 9 0.0000 0.00e+00 2.69e-16 1.781 4.13e-32 0.267 * 10 -0.4910 7.42e-01 8.58e-01 1.607 3.62e-01 0.396
>
której efekty będzie następujący
library(car)
> outlier.test(model)
max|rstudent| = 2.850639, degrees of freedom = 73, unadjusted p = 0.005668692, Bonferroni p = 0.4364893 Observation: Golden_Crisp
Obserwacje odstające będziemy wykrywać przy użyciu znanego już pakietu car i funkcji outlier.test w ramach tego pakietu.
Wykryliśmy jedną obserwację odstającą (płatki o nazwie Golden_Crisp).
influence.measures(model) Influence measures of
lm(formula = rating ~ sugars + fiber, data = dane) :
dfb.1_ dfb.sgrs dfb.fibr dffit 100\%_Bran -0.029606 0.006873 8.71e-02 0.09114 100\%_Natural_Bran -0.032678 -0.025977 3.28e-03 -0.11268 All-Bran 0.107395 0.004022 -4.24e-01 -0.45329 All-Bran_with_Extra_Fiber -0.051238 -0.047248 2.62e-01 0.28122 ...
Frosted_Flakes -0.000309 0.015791 -6.58e-03 0.02575 Frosted_Mini-Wheats 0.065331 0.017652 9.33e-02 0.27267 ...
Golden_Crisp -0.171769 0.576328 -2.20e-01 0.73321 Golden_Grahams -0.087125 -0.053260 1.31e-01 -0.21490 Grape_Nuts_Flakes 0.031668 -0.020034 1.55e-02 0.05831 Grape-Nuts -0.005289 0.004597 -1.28e-03 -0.00738 Shredded_Wheat_'n'Bran 0.287978 -0.328880 1.26e-01 0.43414 Shredded_Wheat_spoon_size 0.373845 -0.378815 3.42e-02 0.46093 Wheaties_Honey_Gold -0.007926 -0.002691 6.93e-03 -0.01710
cov.r cook.d hat inf 100\%_Bran 1.233 2.80e-03 0.1565 * 100\%_Natural_Bran 1.018 4.24e-03 0.0138 All-Bran 1.116 6.80e-02 0.1216 * All-Bran_with_Extra_Fiber 1.588 2.67e-02 0.3480 * ...
Frosted_Flakes 1.068 2.24e-04 0.0257 Frosted_Mini-Wheats 0.867 2.35e-02 0.0147 * ...
Golden_Crisp 0.809 1.63e-01 0.0621 * ...
Post_Nat._Raisin_Bran 1.147 1.57e-04 0.0918 *
Wartości wpływowe będziemy wykrywać za pomocą fukcji influence.measures.
Wyniki takiej analizy widzimy poniżej.
influence.measures(model) Influence measures of
lm(formula = rating ~ sugars + fiber, data = dane) :
dfb.1_ dfb.sgrs dfb.fibr dffit 100\%_Bran -0.029606 0.006873 8.71e-02 0.09114 100\%_Natural_Bran -0.032678 -0.025977 3.28e-03 -0.11268 All-Bran 0.107395 0.004022 -4.24e-01 -0.45329 All-Bran_with_Extra_Fiber -0.051238 -0.047248 2.62e-01 0.28122 ...
Frosted_Flakes -0.000309 0.015791 -6.58e-03 0.02575 Frosted_Mini-Wheats 0.065331 0.017652 9.33e-02 0.27267 ...
Golden_Crisp -0.171769 0.576328 -2.20e-01 0.73321 Golden_Grahams -0.087125 -0.053260 1.31e-01 -0.21490 Grape_Nuts_Flakes 0.031668 -0.020034 1.55e-02 0.05831 Grape-Nuts -0.005289 0.004597 -1.28e-03 -0.00738 Shredded_Wheat_'n'Bran 0.287978 -0.328880 1.26e-01 0.43414 Shredded_Wheat_spoon_size 0.373845 -0.378815 3.42e-02 0.46093
Wheaties_Honey_Gold -0.007926 -0.002691 6.93e-03 -0.01710 cov.r cook.d hat inf
100\%_Bran 1.233 2.80e-03 0.1565 * 100\%_Natural_Bran 1.018 4.24e-03 0.0138 All-Bran 1.116 6.80e-02 0.1216 * All-Bran_with_Extra_Fiber 1.588 2.67e-02 0.3480 * ...
Frosted_Flakes 1.068 2.24e-04 0.0257 Frosted_Mini-Wheats 0.867 2.35e-02 0.0147 * ...
Golden_Crisp 0.809 1.63e-01 0.0621 * ...
Post_Nat._Raisin_Bran 1.147 1.57e-04 0.0918 *
Za wpływowe uznamy 6 obserwacji:
100%_Bran All-Bran
All-Bran_with_Extra_Fiber Frosted_Mini-Wheats
Golden_Crisp (
które zresztą uznaliśmy za obserwację odstającą, outlier) oraz
Post_Nat._Raisin_Bran.
Gdy zmienne objaśniające są wysoko skorelowane wyniki analizy regresji mogą być niestabilne. Szacowana wartość zmiennej xi może zmienić wielkość a nawet kierunek zależnie od pozostałych zmiennych objaśniających zawartych w tak testowanym
modelu regresji. Taka zależność liniowa między zmiennymi objaśniającymi może zagrażać trafności wyników analizy regresji.
Do wskaźników oceniających współliniowość należy, m.in. VIF (Variance Inflation Factor) zwany współczynnikiem podbicia (inflacji) wariancji. VIF pozwala wychwycić wzrost wariancji ze względu na współliniowość cechy.
Innymi słowy: wskazuje on o ile wariancje współczynników są zawyżone z powodu zależności liniowych w testowanym modelu. Niektóre pakiety statystyczne pozwalają także alternatywnie mierzyć tzw. współczynnik toleracji (TOL - ang. tolerance), który mierzy się jako: 1/VIF
dla modelu xi = f(x1, …., xi-1, xi+1, …, xp) gdzie zmienna xi będzie wyjaśniana przez wszystkie pozostałe zmienne.
Gdy VIF > 10 mówimy, że współliniowość wystąpiła i chcąc się jej pozbyć z modelu, usuwamy te cechy, które są liniową kombinacją innych zmiennych niezależnych.
2 1
) 1
(
ii
R
VIF
Radą na współliniowość jest według niektórych prac zwiększenie zbioru obserwacji o nowe, tak, by zminimalizować istniejące zależności liniowe pomiędzy zmiennymi objaśniającymi. Oczywiście, zwiększenie liczby obserwacji nie gwarantuje poprawy -stąd takie rozwiązanie na pewno nie należy do najlepszych i jedynych. Lepszym wydaje się komponowanie zmiennych zależnych w nowe zmienne (np. waga i wzrost są skorelowane silnie i zamiast nich stworzenie jednej zmiennej stosunek wzrostu do wagi. Taką nową zmienną nazywa się w literaturze kompozytem.
Często - dla dużej liczby zmiennych objaśniających - stosuje sie metodę analizy składowych głównych (ang. principal component analysis) dla redukcji liczby zmiennych do jednego lub kilku kompozytów niezależnych.
Gdzie x3i = 10 * x1i - 2 * x2i .
Wtedy powiemy, że zmienna x3 jest kombinacją liniową zmiennych x1 i x2.
Próba szacowania takiego modelu związana jest ze świadomym popełnianiem
błędu, gdyż w modelu tym występuje dokładna współliniowość (jedna ze zmiennych objaśniających jest kombinacją liniową pozostałych).
Dla modelu postaci:
yi = b0 + b1 x1i + b2 x2i + b3 x3i + e1i
W środowisku R sprawdzanie współliniowości nie jest trudne. Wystarczy skorzystać z funkcji vif której argumentem jest model regresji dla danego zbioru danych.
Przykład dotyczący naszego zbioru płatków zbożowych przedstawiamy poniżej:
> vif(lm(rating~sugars+fiber, data=dane)) sugars fiber
1.020345 1.020345.
Wartości współczynnika $VIF$ nie są zbyt wysokie toteż uznajemy, że w modelu tym nie występuje zjawisko współliniowości.
Naiwny klasyfikator bayesowski jest prostym probabilistycznym klasyfikatorem.
Zakłada się wzajemną niezależność zmiennych niezależnych (tu naiwność)
Bardziej opisowe może być określenie- „model cech niezależnych”.
Model prawdopodobieństwa można wyprowadzić korzystając z twierdzenia Bayesa.
W zależności od rodzaju dokładności modelu prawdopodobieństwa,
naiwne klasyfikatory bayesowskie można „uczyć” bardzo skutecznie
w trybie uczenia z nadzorem.
Jeśli wiemy, że kulek czerwonych jest 2 razy mniej niż zielonych (bo czerwonych jest 20 a zielonych 40) to prawdopodobieństwo tego, że kolejna (nowa) kulka będzie koloru zielonego jest dwa razy większe niż tego, że kulka będzie czerwona.
Dlatego możemy napisać, że znane z góry prawdopodobieństwa:
Jeśli więc czerwonych jest 20 a zielonych 40, to razem wszystkich jest 60. Więc
Więc teraz gdy mamy do czynienia z nową kulką ( na rysunku – biała):
To spróbujmy ustalić jaka ona będzie. Dokonujemy po prostu klasyfikacji kulki do jednej z dwóch klas: zielonych bądź czerwonych.
Jeśli weźmiemy pod uwagę sąsiedztwo białej kulki takie jak zaznaczono, a więc do 4 najbliższych sąsiadów, to widzimy, że wśród nich są 3 kulka czerwone i 1 zielona.
Obliczamy liczbę kulek w sąsiedztwie należących do danej klasy : zielonych bądź czerwonych z wzorów:
W naszym przypadku, jest dziwnie, bo akurat w sąsiedztwie kulki X jest więcej kulek czerwonych niż zielonych, mimo, iż kulek zielonych jest ogólnie 2 razy więcej niż czerwonych. Dlatego zapiszemy, że
Dlatego ostatecznie powiemy, że
Prawdopodobieństwo że kulka X jest zielona = prawdopodobieństwo kulki zielonej * prawdopodobieństwo, że kulka X jest zielona w swoim sąsiedztwie
=
Prawdopodobieństwo że kulka X jest czerwona = prawdopodobieństwo kulki
czerwonej * prawdopodobieństwo, że kulka X jest czerwona w swoim sąsiedztwie =
Ostatecznie klasyfikujemy nową kulkę X do klasy kulek czerwonych, ponieważ ta klasa dostarcza nam większego prawdopodobieństwa posteriori.
Tylko dla cech jakościowych
Tylko dla dużych zbiorów danych
Aby obliczyć P(diabetes=1) należy zliczyć liczbę obserwacji dla których spełniony jest warunek
„diabetes=1”. Jest ich dokładnie 9 z 20 wszystkich.
Podobnie, aby obliczyć P(diabetes=0) należy zliczyć liczbę obserwacji dla których spełniony jest warunek
„diabetes=0”. Jest ich dokładnie 11 z 20 wszystkich.
Zakładając, że zmienne niezależne faktycznie są niezależne, wyliczenie P(X|diabetes=1) wymaga obliczenia prawdopodobieństwa warunkowego wszystkich wartości dla X:
Np. obliczenie P(BP=high|diabetes=1) wymaga znów obliczenia P(BP=high) i
P(diabetes=1) co jest odpowiednio równe 4 i 9 zatem prawdopodobieństwo
to wynosi 4/9:
Zatem:
Mając już prawdopodobieństwa P(X|diabetes=1) i P(diabetes=1)
można wyznaczyć iloczyn tych prawdopodobieństw:
Teraz podobnie zrobimy w przypadku P(X|diabetes=0)
Możemy więc wyznaczyć P(X|diabetes=0):
Ostatecznie iloczyn prawdopodobieństw jest wyznaczany:
Jakoże P(X|diabeltes=1)P(diabetes=1) jest większe niż
P(X|diabetes=0)P(diabetes=0) nowa obserwacja będzie zaklasyfikowana do klasy diabetes=1.
Prawdopodobieństwo ostateczne że jeśli obiekt ma opis taki jak X będzie z klasy diabetes=1 jest równe:
Jakie będzie prawdopodobieństwo klasyfikacji do klasy „diabetes=1” gdy mamy następujące przypadki:
X:BP=Average ; weight=above average; FH= yes; age=50+
X:BP=low ; weight=average; FH= no; age=50+
X:BP=high ; weight=average; FH= yes; age=50+
– jeden z algorytmów regresji nieparametrycznej używanych w
statystyce do prognozowania wartości pewnej zmiennej losowej.
Może również być używany do klasyfikacji.
-
• Dany jest zbiór uczący zawierający obserwacje z których każda ma przypisany wektor zmiennych objaśniających oraz wartość zmiennej objaśnianej Y.
• Dana jest obserwacja C z przypisanym wektorem zmiennych objaśniających dla której chcemy prognozować wartość zmiennej objaśnianej Y.
Założenia
Wyznaczanie odległości obiektów: odległość
euklidesowa
Obiekty są analizowane w ten sposób , że oblicza się odległości bądź podobieństwa między nimi. Istnieją różne miary podobieństwa czy odległości. Powinny być one wybierane konkretnie dla typu danych analizowanych: inne są bowiem miary typowo dla danych binarnych, inne dla danych nominalnych a inne dla danych numerycznych.
Nazwa Wzór
odległość euklidesowa
odległość kątowa
współczynnik korelacji liniowej Pearsona
Miara Gowera
gdzie: x,y - to wektory wartości cech
porównywanych obiektów w przestrzeni p- wymiarowej, gdzie odpowiednio
wektory wartości to: oraz .
Oblicz odległość punktu A o współrzędnych (2,3) do punktu B o współrzędnych (7,8).
D (A,B) = pierwiastek ((7-2)2 + (8-3)2) = pierwiastek (25 + 25) = pierwiastek (50) = 7.07
0 1 2 3 4 5 6 7 8 9
0 2 4 6 8
A B