Macierz podobieństwa

Wzajemne relacje między obiektami mogą być wyrażone przez ich odległości lub bardziej ogólnie poprzez niepodobieństwo. Czym dalej od siebie znajdują się obiekty, tym bardziej są do siebie niepodobne, im bliżej natomiast, tym podobieństwo między nimi jest większe. Badać można odległość obiektów pod względem wielu cech np. gdy porównywane obiekty to miasta ich podobieństwo możemy definiować między innymi w oparciu o: długość drogi je łączącej, gęstości zaludnienia, PKB przypadającym na mieszkańca, emisję zanieczyszczeń, przeciętne ceny nieruchomości itd. Mając tak wiele różnych cech badacz tak musi dobrać miarę odległości, by najlepiej obrazowała rzeczywiste podobieństwo obiektów.

Okno z ustawieniami opcji macierzy podobieństwa wywołujemy poprzez menu DaneMacierz podobieństwa…

Niepodobieństwo/podobieństwo obiektów wyrażamy za pomocą odległości będących najczęściej metryką. Nie każda miara odległości jest jednak metryką. Aby odległość mogła być nazwana metryką musi spełniać 4 warunki:

  1. odległość pomiędzy obiektami nie może być ujemna: $d(x_1, x_2) \geq 0$,
  2. odległość między dwoma obiektami wynosi 0 wtedy i tylko wtedy gdy są one identyczne: $d(x_1, x_2) = 0 \Longleftrightarrow x_1 = x_2$,
  3. odległość musi być symetryczna, tzn. odległość z obiektu $x_1$ do $x_2$ musi być taka sama jak z $x_2$ do $x_1$: $d(x, y) = d(y, x)$,
  4. odległość musi spełniać warunek trójkąta: $d(x, z) \leq (x, y) + d(y, z)$.

Uwaga!
Metryki powinny być wyliczane dla cech o tych samych zakresach wartości. Gdyby tak nie było to cechy o wyższych zakresach miałyby większy wpływ na uzyskany wynik podobieństwa niż te o niższych zakresach. Przykładowo, wyliczając podobieństwo osób możemy oprzeć je na takich cechach jak min. masa ciała i wiek. Wówczas masa ciała w kilogramach, w zakresie od 40 do 150 kg, będzie miała większy wpływ na wynik niż wiek w latach, w zakresie od 18 do 90 lat. By wpływ każdej cechy na uzyskany wynik podobieństwa był zrównoważony powinniśmy każdą z nich znormalizować/wystandaryzować przed przystąpieniem do analizy. Chcąc natomiast samodzielnie zdecydować o wielkości tego wpływu, po zastosowaniu standaryzacji, wskazując rodzaj metryki należy wpisać nadane przez siebie wagi.

Odległość/Metryka:

Opcje macierzy podobieństwa
wykorzystujemy do wskazania sposobu zwracania elementów w macierzy. Standardowo zwracane są wszystkie elementy macierzy, w takiej formie w jakiej były wyliczone zgodnie z przyjętą metryką. Możemy to zmienić ustawiając:

Przykład (plik: podobienstwoLokali.pqs)

W procedurach wyceny nieruchomości, zarówno ze względów merytorycznych jak też prawnych, kwestia podobieństwa pełni ważną rolę. Jest na przykład zasadniczą przesłanką umożliwiającą grupowanie obiektów i przypisywanie do odpowiedniego segmentu.

Załóżmy, że do pośrednika nieruchomości zgłasza się osoba poszukująca mieszkania, która definiuje te cechy, które lokal musi posiadać i te, które mają duży wpływ na decyzję o zakupie ale nie są decydujące. Cechy, które lokal musi posiadać to:

  • nieruchomość lokalowa (stanowiąca przedmiot odrębnej własności),
  • położona w dzielnicy A,
  • położona w niskiej zabudowie wielorodzinnej (do 5-ciu kondygnacji),
  • nie remontowana (standard przeciętny lub pogorszony).

Dane dotyczące tych lokali zebrano w tabeli, gdzie 1 oznacza, że lokal spełnia warunki wyszukiwania, 0 że ich nie spełnia.

Te lokale, które nie spełniają warunków wyszukiwania wyłączymy z analizy poprzez dezaktywację odpowiednich wierszy. Poprzez menu EdycjaAktywuj/Dezaktywuj (filtr)… dezaktywujemy te wiersze, które nie spełniają choćby jednego z postawionych warunków.

Pamiętamy by warunki dezaktywacji połączone były alternatywą (zmieniamy na ).

W rezultacie wyłoniono 11 lokali (lokal 10, 12, 17, 35, 88, 101, 105, 122, 130, 132, 135) pasujących do tego segmentu (spełniających wszystkie 4 warunki).

Teraz weźmiemy pod uwagę te cechy, które mają duży wpływ na decyzję klienta, ale nie są decydujące:

  • Liczba pokoi = 3;
  • Piętro na którym znajduje się lokal = 0;
  • Wiek budynku w którym znajduje się lokal = ok. 3 lata;
  • Bliskość centrum dzielnicy A (czas jaki zajmuje dotarcie do centrum) = ok. 30 min;
  • Bliskość przystanku komunikacji miejskiej = ok. 80 m.

\begin{tabular}{|c||c|c|c|c|c|}
\hline
&\textbf{Liczba}&\textbf{Piętro}&\textbf{Wiek}&\textbf{Dystans}&\textbf{Odległość}\\
&\textbf{pokoi}&\textbf{lokalu}&\textbf{budynku}&\textbf{do centrum}&\textbf{przystanku}\\\hline\hline
\rowcolor[rgb]{0.75,0.75,0.75}Poszukiwany&3&0&3&30&80\\
Lokal 10&2&1&1&0&150\\
Lokal 12&1&2&1&0&200\\
Lokal 17&3&1&7&20&500\\
Lokal 35&2&0&6&5&100\\
Lokal 88&3&4&6&5&200\\
Lokal 101&4&2&10&0&10\\
Lokal 105&2&2&6&0&50\\
Lokal 122&1&0&6&5&100\\
Lokal 130&2&0&10&0&20\\
Lokal 132&3&5&6&30&400\\
Lokal 135&3&1&6&5&100\\
\hline
\end{tabular}

Zauważmy, że ostatnia cecha, czyli odległość przystanku komunikacji miejskiej jest wyrażona znacznie większymi liczbami niż pozostałe cechy porównywanych lokali. W rezultacie cecha ta będzie miała znacznie większy wpływ na uzyskany wynik macierzy odległości niż pozostałe cechy. Chcąc temu zapobiec przed analizą normalizujemy wszystkie cechy wybierając dla nich wspólny zakres od 0 do 1 - w tym celu korzystamy z menu DaneNormalizacja/Standaryzacja…. W oknie normalizacji jako zmienną wejściową ustawiamy „Liczbę pokoi”, a jako zmienną wyjściową pustą zmienną nazwaną „Norm(Liczba pokoi)”; rodzaj normalizacji to normalizacja min/max; wartości min i max wyliczamy z próby wybierając przycisk Oblicz z próby - wynik normalizacji zostanie zwrócony do arkusza danych po wybraniu przycisku Wykonaj. Normalizację powtarzamy dla kolejnych zmiennych czyli: „Piętra”, „Wieku budynku”, „Dystansu do centrum” i „Odległości przystanku”.

Znormalizowane dane przedstawia poniższa tabela.

\begin{tabular}{|c||c|c|c|c|c|}
\hline
&\footnotesize{\textbf{Norm(Liczba}}&\footnotesize{\textbf{Norm(Piętro}}&\footnotesize{\textbf{Norm(Wiek}}&\footnotesize{\textbf{Norm(Dystans}}&\footnotesize{\textbf{Norm(Odległość}}\\
&\footnotesize{\textbf{pokoi)}}&\footnotesize{\textbf{lokalu)}}&\footnotesize{\textbf{budynku)}}&\footnotesize{\textbf{do centrum)}}&\footnotesize{\textbf{przystanku)}}\\\hline
\rowcolor[rgb]{0.75,0.75,0.75}Poszukiwany&0,666666667&0&0,222222222&1&0,142857143\\
Lokal 10&0,333333333&0,2&0&0&0,285714286\\
Lokal 12&0&0,4&0&0&0,387755102\\
Lokal 17&0,666666667&0,2&0,666666667&0,666666667&1\\
Lokal 35&0,333333333&0&0,555555556&0,166666667&0,183673469\\
Lokal 88&0,666666667&0,8&0,555555556&0,166666667&0,387755102\\
Lokal 101&1&0,4&1&0&0\\
Lokal 105&0,333333333&0,4&0,555555556&0&0,081632653\\
Lokal 122&0&0&0,555555556&0,166666667&0,183673469\\
Lokal 130&0,333333333&0&1&0&0,020408163\\
Lokal 132&0,666666667&1&0,555555556&1&0,795918367\\
Lokal 135&0,666666667&0,2&0,555555556&0,166666667&0,183673469\\
\hline
\end{tabular}

Bazując na danych znormalizowanych wyznaczymy lokale najbardziej dopasowane do zapytania klienta. Do wyliczenia podobieństwa posłużymy się metryką (odległością) euklidesową. Czym mniejszą uzyskamy wartość, tym bardziej podobne będą lokale. Analizę przeprowadzić można zakładając, że każda z pięciu wymienionych przez klienta cech jest tak samo ważna, ale można również wskazać te cechy, które powinny w większym stopniu wpływać na wynik analizy. Zbudujemy dwie macierze odległości euklidesowych:

  1. W pierwszej macierzy znajdą się odległości euklidesowe wyliczone na podstawie równoważnie traktowanych pięciu cech;
  2. W drugiej macierzy znajdą się odległości euklidesowe, w budowie których największe znaczenie będzie miała liczba pokoi i dystans do centrum dzielnicy.

By zbudować pierwszą macierz, w oknie macierzy podobieństwa wybieramy 5 znormalizowanych zmiennych oznaczonych jako Norm, metrykę Euklidesową i jako Identyfikator obiektu zmienną „Lokal”.

By zbudować drugą macierz, w oknie macierzy podobieństwa dokonujemy tych samych ustawień co przy budowie pierwszej macierzy, ale dodatkowo wybieramy przycisk Modyfikacja : Euklidesowa i w oknie modyfikacji wpisujemy większe wagi dla „Liczby pokoi” i „Dystansu do centru” np. równe 10, a mniejsze dla pozostałych cech np. równe 1.

W rezultacie uzyskamy dwie macierze. W każdej z nich pierwsza kolumna dotyczy podobieństwa do lokalu szukanego przez klienta:

\begin{tabular}{|c||c|c|}
\hline
Euklidesowa&\textbf{Poszukiwany}&...\\\hline
\rowcolor[rgb]{0.75,0.75,0.75}Poszukiwany&0&...\\
Lokal 10&1.10&...\\
Lokal 12&1.31&...\\
Lokal 17&1.04&...\\
Lokal 35&\textcolor[rgb]{0,0,1}{0.96}&...\\
Lokal 88&1.23&...\\
Lokal 101&1.38&...\\
Lokal 105&1.18&...\\
Lokal 122&1.12&...\\
Lokal 130&1.32&...\\
Lokal 132&1.24&...\\
Lokal 135&\textcolor[rgb]{0,0,1}{0.92}&...\\
\hline
\end{tabular}

\begin{tabular}{|c||c|c|}
\hline
Euklidesowa z wagami&\textbf{Poszukiwany}&...\\\hline
\rowcolor[rgb]{0.75,0.75,0.75}Poszukiwany&0&...\\
Lokal 10&3.35&...\\
Lokal 12&3.84&...\\
Lokal 17&\textcolor[rgb]{0,0,1}{1.44}&...\\
Lokal 35&2.86&...\\
Lokal 88&2.78&...\\
Lokal 101&3.45&...\\
Lokal 105&3.37&...\\
Lokal 122&3.39&...\\
Lokal 130&3.43&...\\
Lokal 132&\textcolor[rgb]{0,0,1}{1.24}&...\\
Lokal 135&2.66&...\\
\hline
\end{tabular}

Według niemodyfikowanej odległości euklidesowej warunkom klienta najbardziej odpowiadać powinien lokal 35 i lokal 135. Gdy uwzględnimy wagi, najbardziej zbliżonymi do wymogów klienta będą lokale 17 i 132 - są to lokale, które w pierwszej kolejności są podobne pod względem wymaganej przez klienta liczby pokoi (3) i wskazanej odległości do centrum, mniejszy wpływ na wynik tego podobieństwa mają 3 pozostałe cechy.