Cel: Celem badania jest budowa metodami uczenia maszynowego efektywnego klasyfikatora przypisującego na poziomie pojedyczego pacjenta (IPD, ang. individual patients data) nową kategorię dotąd niedostępnych danych dotyczących realizacji specjalistycznych świadczeń w Programie Lekowym B..54 Leczenie chorych na opornego lub nawrotowego szpiczaka plazmocytowego Przypisana nowa linia leczenia reprezentuje predykcyjną klasę odpowiadającą klasie rzeczywistej wynikającej z faktycznie zastosowanej terapii. Pełniejsze dane o realizacji świadczeń zapewniają możliwości precyzyjniejszego szacowania kosztów związanych z ich realizacją, jednocześnie pozwalają dokładniej prognozować przyszłe koszty.
Dane i metody: Dane zawierają informację o pacjentach z rozpoznaniem ICD-10 C90.0, którzy w w latach 2019-2021 otrzymujących leczenie daratumumabem w programie lekowym “B.54 Leczenie chorych na opornego lub nawrotowego szpiczaka plazmocytowego. W badaniu zastosowano nadzorowane modele klasyfikujące w postaci modeli drzew decyzyjnych, algorytmu SVM, algorytmu k-NN oraz Naiwnego klasyfikatora Bayesa. Proces eksploracji danych uzupełniony został metodami nienadzorowanymi, w ramach którego przeprowadzono redukcję wymiarowości w postaci analizy głównych składowych oraz analizy skupień z wykorzystaniem grupującego algorytmu k-średnich. SKuteczność każdego z klasyfikatorów oceniono na podstawie miar wynikajacych z macierzy błędów, tj. dokładność, czułość, swoistość, precyzja i negatywna wartość predykcyjna.
W celu zapewnienia jak największej precyzji zastosowano reaktywne wtyczki pozwalające dostosowować parametry stosowanych algorytmów zgodnie z własnym konstruktem badawczym. Jednocześnie zastosowana automatyzacja wraz ze zmianami parametrów zmienia raport dostosowując go do wprowadzonych zmian, co pozwala na dokładniejsze zrozumienie wyników.
Wyniki lorem
Konkluzje: Jak nietrudno się domyślać, wyższą skutecznością charakteryzowały się klasyfikatory binarne. poszczególnych klasyfikatorów była wyższa w grupie
Zastosowane narzędzia: Całość procesu została przeprowadzona w środowisku R (R version 4.2.0) przy wykorzystaniu programu RStudio (wersja 2022.2.3.492). Interaktywny dokument zbudowano w składnie markdown przy wykorzystaniu wykorzystaniu pakiety Shiny.
W dzisiejszych czasach dane medyczne stanowią niezwykle wartościowy zasób informacji, który może zostać wykorzystany w celu poprawy opieki medycznej i zmniejszenia kosztów z nią związanych. Jednym z największych wyzwań w dziedzinie medycyny jest leczenie pacjentów z rozpoznaniem szpiczak mnogi, ponieważ choroba ta jest złożona i często wymaga wielu różnych form terapii. Jednym z nowoczesnych rozwiązań, które mogą pomóc w diagnozowaniu i leczeniu tej choroby, jest wykorzystanie metod sztucznej inteligencji w postaci uczenia maszynowego oraz modeli języka naturalnego.
Jednakże, problemem w przypadku szpiczaka mnogiego jest niewystarczająca liczba danych pacjentów leczonych danymi lekami o odpowiedniej ścieżce terapeutycznej, w szczególności dotyczy to linii leczenia z zastosowaniem daratumabu. Celem pracy jest zbudowanie klasyfikatora, który na podstawie udzielonych wcześniej świadczeń medycznych oraz kwalifikacji do późniejszych terapii przypisze pacjentów do odpowiednich linii leczenia. Mając pełniejsze dane o realizacji świadczeń, będziemy mogli precyzyjniej szacować koszty związane z ich realizacją oraz dokładniej prognozować przyszłe koszty. Jednym z problemów, z którym się mierzymy, jest skuteczne odseparowanie ostatniej linii leczenia, w której pacjenci wymagają opieki paliatywnej.
Płatnik w ochronie zdrowia, tak jak NFZ w Polsce, jest odpowiedzialny za finansowanie świadczeń zdrowotnych. Właściwe lokowanie inwestycji jest istotne, aby zapewnić pacjentom skuteczne leczenie, jednocześnie zachowując równowagę finansową. Bez dokładnej znajomości potrzeb pacjentów, ciężko jest zdecydować, które inwestycje są najbardziej odpowiednie i jakie świadczenia zdrowotne powinny być finansowane. Właściwe finansowanie świadczeń zdrowotnych jest kluczowe, ponieważ pozwala na zaspokojenie potrzeb pacjentów i zapewnienie im skutecznego leczenia. Jednocześnie, biorąc pod uwagę ograniczone zasoby, płatnik w ochronie zdrowia musi dokładnie ocenić, które inwestycje są najbardziej potrzebne, a które mogą poczekać. Właściwe lokowanie inwestycji jest więc kluczowe, aby zapewnić skuteczne i efektywne wykorzystanie dostępnych środków finansowych.
Jedną z metod odkrywania wiedzy w danych (ang. data mining) jest uczenie maszynowe,w którym żródłem uzyskiwania informacji są przetworzone i modelowane dane[^1]. Uczenie maszynowe to dziedzina sztucznej inteligencji, która polega na wykorzystaniu algorytmów i technik matematycznych oraz statystycznych, w celu nauki maszyn do rozwiązywania problemów lub podejmowania decyzji na podstawie analizy wprowadzonych danych. Celem uczenia maszynowego jest umożliwienie maszynom samodzielnego uczenia się na podstawie danych i wykorzystywania zdobytej wiedzy do podejmowania decyzji oraz wykonywania zadań lub rozwiązywania problemów w czasie nieosiągalnym dla obliczeń wykonywanych przez ludzi . [^2: https://www.ibm.com/topics/machine-learning].
Cały proces analityczny wraz z interaktywnym wdrożeniem dokumentu został zrealizowany w środowisku R. Dzięki zastosowaniu interaktywnych rozwiązań, można dostosowywać parametry stosowanych algorytmów, co umożliwia dopasowanie analiz do własnego konstruktu badawczego. Dodatkowo, dzięki zastosowanej automatyzacji wraz z uzyskanymi wynikami zmienia się również opis, co pozwala na dokładniejsze zrozumienie wyników.
Proces uczenia maszynowego składa się z kilku etapów. Pierwszym etapem jest zrozumienie problemu, który chcemy rozwiązać przy użyciu metod uczenia maszynowego. Kolejnym etapem jest zrozumienie danych w odniesieniu do poruszanego problemu oraz ich wstępne przetwarzanie. Etap ten obejmuje przygotowanie danych zgodnie z wymaganiami modelu. W zależności od założonego konstruktu badawczego wstępne przygotowanie danych może obejmować kodowanie danych, usuwanie wartości odstających lub uzupełnianie brakujących danych czy standaryzację danych. Kolejnym etapem procesu jest wybór odpowiedniego algorytmu do problemu, jaki chcemy rozwiązać. Dobór algorytmu zależy od rodzaju danych oraz celu analizy. W uczeniu maszynowym wykorzystuje się różne rodzaje metod, w tym metody nadzorowane, gdzie algorytm jest uczonyna zbiorze danych z już znanymi wzorcami oraz metody nienadzorowane, gdzie algorytm sam próbuje wykryć wzorce i struktury w danych bez wcześniejszych etykiet. Kolejny etap polega na na dostarczeniu algorytmowi zbioru danych oraz nauczeniu go rozpoznawania wzorców i reguł, następnie przetestowaniu nauczonego modelu na zbiorze testowym, aby ocenić, jak dobrze radzi sobie z przewidywaniem wyników. w celu optymalizacji modelu można dostroić parametry algorytmu. Efektywność utworzonych modeli oceniana jest przy użyciu macierzy kontyngencji, na podstawie której wyliczane są odpowiednie miary pozwalające ocenić jego skuteczność. Proces uczenia maszynowego jest cykliczny, co oznacza, że w zależności od wyników wstępnych etapów, może być konieczne powtórzenie niektórych kroków, takich jak np. zmiana algorytmu czy poprawa jakości danych.
W uczeniu maszynowym stosowane są różne metody w zależności od rodzaju problemu, danych oraz celu analizy. Drzewa decyzyjne są graficzną reprezentacją sekwencji reguł decyzyjnych wykorzystywanych do klasyfikacji lub predykcji. Algorytmy regresji służą do predykcji wartości numerycznych. Algorytmy regresji opierają się na analizie zależności pomiędzy zmiennymi niezależnymi a zmienną zależną. Metody grupowania (klastrowania) są metodą analizy skupień umożliwiającą grupowanie obserwacji na podstawie ich podobieństw. Metody redukcji wymiarowości stosowane są w celu zmniejszenia liczby wymiarów danych poprzez wybór najważniejszych zmiennych. Metody asocjacyjne to metody umożliwiające identyfikację związków między zmiennymi na podstawie częstotliwości ich występowania razem. Sieci neuronowe są matematycznym modelem naśladującym proces działania ludzkiego mózgu. Sieci neuronowe składają się z neuronów połączonych w warstwy, a każdy neuron przetwarza sygnał wejściowy i przekazuje go dalej. istnieje wiele innych algorytmów i technik, które można wykorzystać w zależności od potrzeb i celów analizy.
Ryc. 1. Metodyka procesu ekslporacji danych CRISP_DM (ang. Cross Industrial Standard Process for Data Mining)
##
## Dołączanie pakietu: 'DiagrammeR'
## Następujący obiekt został zakryty z 'package:partykit':
##
## get_paths
Źródło: Opracowanie własne na podstawie ^[Szeliga 353]
Dane zawierają informację o 402 pacjentach z rozpoznaniem ICD-10 C90.0 (szpiczak mnogi i nowotwory z komórek plazmatycznych) otrzymujących leczenie daratumumabem w programie lekowym B.54 Leczenie chorych na opornego lub nawrotowego szpiczaka plazmocytowego” w latach 2019-2021. Źródłem danych jest baza ŚWIAD połączona z danymi z bazy SMPT na podstawie unikalnych numerów identyfikacyjnych. Do analizy włączono zmienne obejmujące zastosowane wcześniej terapie w postaci terapii karfilzomibem, bortezomibem, lenalidomidem, pomalidomidem, talidomidem, transplantację komórek krwiotwórczych oraz opiekę paliatywną, jednocześnie kwalifikujący się do chemioterapii paliatywnej, programu lekowego, radioterapii paliatywnej, transplantacji komórek krwiotwórczych. W przypadku analiz dla dwóch linii leczenia linia 3+ oznacza połączenie obserwacji z linii 3 oraz 4.
Zakres danych włączonych do analizy
Źródło: Opracowanie własne
W procesie analitycznym zastosowano modele uczenia nadzorowanego w postaci klasyfikatorów. Klasyfikator to algorytm uczenia maszynowego, który przyporządkowuje nowy, nieznany wcześniej obiekt do jednej z ustalonych klas na podstawie jego cech. Klasyfikatory są stosowane w problemach klasyfikacyjnych, gdzie celem jest przewidzenie etykiety lub kategorii dla danego obiektu. Zakres metod uczenia nadzorowanego obejmował klasyfikatory wieloklasowe (3 linie leczenia) oraz binarne (2 linie leczenia) w postaci drzew decyzyjnych, maszyny wektorów nośnych, algorytmu k-najbliższych sąsiadów oraz naiwnego klasyfikatora Bayesa. Poza metodami nadzorowanymi zastosowano nienadzorowane metody w postaci redukcji wymiarów przy użyciu analizy głównych składowych oraz grupowanie obserwacji metodą algorytmu k-średnich.
Ryc. 2. Zastosowane metody uczenia maszynowego
Źródło: Opracowanie własne
Dane testowe i dane treningowe to dwa zbiory danych, które są wykorzystywane w procesie uczenia maszynowego. Dane treningowe to zbiór danych, który jest używany do trenowania modelu. Model uczony jest na tym zbiorze, a proces ten polega na dopasowaniu modelu do danych treningowych w celu uzyskania optymalnych wartości parametrów modelu. Dane treningowe są wykorzystywane do budowy i dostosowywania modelu, aby mógł on przewidywać wartości na podstawie nowych danych. Dane testowe są zbiorem danych, które używane są do testowania wydajności modelu, który został już wytrenowany przy użyciu danych treningowych. Zbiór ten nie jest używany podczas procesu trenowania, aby uniknąć nadmiernego dopasowania (ang. overfitting) modelu do danych treningowych. Dane testowe są wykorzystywane do oceny skuteczności modelu w przewidywaniu wartości na nowych danych, których model nie widział podczas procesu trenowania. Podział na zbiory treningowe i testowe jest istotnym etapem w uczeniu maszynowym, ponieważ pozwala na ocenę skuteczności modelu w przewidywaniu nowych wartości. W procesie uczenia maszynowego istotne jest podzielenie dostępnych danych na zbiór uczący i testowy. Zbiór uczący wykorzystywany jest do trenowania modelu, natomiast zbiór testowy służy do oceny jakości działania modelu. W ten sposób można sprawdzić, jak dobrze model generalizuje na danych spoza zbioru uczącego. Zasada pareto, którą można odnieść do podziału na zbiory danych, mówi, że 20% przyczyn jest odpowiedzialne za 80% skutków. W praktyce oznacza to, że odpowiednio duży zbiór uczący może być wystarczający do nauczenia dobrego modelu, pod warunkiem, że dane te są reprezentatywne dla całego zbioru danych. 1.
W procesie analitycznym dane zostały zakodowane w systemie one-hot, co oznacza, że kategoryczne zmienne zostały zamienione na zmienne binarne. W zależności od wymagań modelowania dane przyjęły format numeryczny lub czynnikowy. Dane numeryczne zostały wykorzystane w analizach przy użyciu modeli nienadzorujących, natomiast dane w postaci binarnej (0 - brak zdarzenia, 1 - wystąpienie zdarzenia) zostały użyte w klasyfikatorach. W przypadku drzew decyzyjnych zastosowano walidację krzyżową, co pozwoliło na sprawdzenie jakości modelu na danych, które nie były użyte do jego uczenia.
Analiza głównych składowych
Redukcja wymiarów to proces zmniejszania liczby zmiennych objaśniających w zbiorze danych przy jednoczesnym zachowaniu jak największej ilości informacji. Polega on na projekcji danych na nową, niższowymiarową przestrzeń, co pozwala na uproszczenie analizy danych, usunięcie szumu, poprawę jakości klasyfikacji lub regresji oraz zredukowanie kosztów obliczeniowych2. Jedną z metod redukcji wymiarów jest analiza głównych składowych (ang. Principal Component Analysis, PCA). Jest to metoda redukcji wymiarowości danych, polegająca na zmniejszeniu liczby zmiennych wejściowych poprzez rzutowanie oryginalnych danych na przestrzeń obejmującą k główych składowych. Zadaniem metody jest przekształcenie oryginalnych zmiennych wejściowych w zestaw nowych zmiennych zwanych głównymi składowymi, które wyjaśniają jak najwięcej zmienności w danych przy jednoczesnym minimalizowaniu straty informacji płynących ze zredukowanych danych. Celem analizy głównych składowych jest identyfikacja zmiennych, których możliwie mały podzbiór będzie w stanie wyjaśnić jak najwięcej informacji o zmienności w zbiorze danych. Główne składowe są wyznaczane na podstawie korelacji między zmiennymi wejściowymi3. Aby liczba utraconych informacji była jak najmniejsza, znalezione składowe powinny jak najlepiej reprezentować informacje niesione przez usunięte zmienne 4.
Algorytm k-średnich
Grupowanie metodą k-średnich jest jedną z metod nienadzorowanego uczenia maszynowego służącą do podziału zbioru danych na klastry na podstawie podobieństwa między obserwacjami. W metodzie k-średnich wybierana jest liczba klastrów, a następnie identyfikowane są środki klastrów. Dla każdej obserwacji mierzy się odległość od każdego środka klastra i przypisuje ją do klastra najbliższego. Następnie środki klastrów są przeliczane na podstawie przypisanych do nich obserwacji i proces przypisywania obserwacji do klastrów oraz przeliczania środków jest powtarzany iteracyjnie, aż do osiągnięcia ustalonego kryterium stopu. 5
Drzewa decyzyjne
Drzewa decyzyjne to popularna metoda uczenia maszynowego, która pozwala na podejmowanie decyzji na podstawie sekwencji pytań postawionych na temat cech obserwowanych danych. W trakcie uczenia modelu, drzewo decyzyjne jest budowane poprzez rekurencyjne podziałanie danych na podzbiory na podstawie wartości poszczególnych cech, tak aby każdy podzbiór był jak najbardziej jednorodny. Główną zaletą drzew decyzyjnych jest łatwość interpretacji uzyskanego modelu, co umożliwia zrozumienie podejmowanych decyzji6. Drzewa decyzyjne są graficzna reprezentacja reguł decyzyjnych, wykorzystywana w uczeniu maszynowym do klasyfikacji lub regresji danych. Drzewo składa się z węzłów, które reprezentują testy na wartościach atrybutów oraz krawędzi, które łączą węzły z odpowiednimi wynikami testów. Wierzchołkiem drzewa jest korzeń, od którego zaczynają się kolejne poziomy. Na końcu każdej gałęzi znajduje się liść, który reprezentuje wynik klasyfikacji 7. Przy budowie drzew decyzyjnych zastosowano walidację krzyżową (ang. cross validation). Walidacja krzyżowa jest metodą Wynikiem klasyfikacji przy użyciu drzew decyzyjnych są reguły decyzyjne. Otrzymane reguły zaprezentowano przy wykorzystaniu wykresu drzew decyzyjnych.
Maszyna wektorów nośnych
Maszyna wektorów nośnych (SVM ang. Support Vector Machine) to liniowy klasyfikator pozwalający przypisywać przypadki do jednej z klas. Polega na znalezieniu hiperpłaszczyzny, która najlepiej separuje dane należące do różnych klas przy jednoczesnym maksymalizowaniu marginesu pomiędzy tymi klasami. Margines ten jest definiowany jako minimalna odległość między hiperpłaszczyzną a najbliższymi obserwacjami z każdej z klas 8. Każdy z podzbiorów zawiera przypadki należące do tej samej klasy, a klasyfikacja nowych przypadków polega na określeniu, po której stronie granicy się one znajdują i przypisaniu ich na tej podstawie do odpowiedniej klasy 9.
Algorytm k-najbliższych sąsiadów
Algorytm k-najbliższych sąsiadów (k-NN) jest jednym z algorytmów uczenia maszynowego służącym do klasyfikacji. Zadaniem algorytmu jest zbudowanie reguły potrafiającej przypisać możliwie dokładnie nowe obiekty do znanych klas. Nowemu obiektowi przypisuje się klasę, która występuje najczęściej wśród jego k najbliższych sąsiadów rozumianych jako miara odległości obiektów znajdujących się w zbiorze uczącym. Algorytm przyporządkowuje nową obserwację do klasy na podstawie k-najbliższych sąsiadów w przestrzeni cech. K najbliższych sąsiadów wybieranych jest na podstawie odległości euklidesowej lub innej miary podobieństwa między obserwacjami10.
Naiwny klasyfikator Bayesa
Naiwny klasyfikator Bayesa to algorytm uczenia maszynowego wykorzystywany do klasyfikacji obiektów na podstawie ich cech, który opiera się na twierdzeniu Bayesa, stanowiącym o prawdopodobieństwie wystąpienia danej klasy, jeśli znamy wartości cech obiektu. Algorytm zakłada, że cechy obiektów są niezależne od siebie, co jest uproszczeniem rzeczywistości, stąd określenie “naiwny”. Algorytm korzysta z obliczania prawdopodobieństw warunkowych dla każdej z klas i na ich podstawie dokonuje klasyfikacji nowych obiektów. Wymaga to wcześniejszego etapu treningu, podczas którego obliczane są prawdopodobieństwa na podstawie zbioru treningowego11.
Miary efektywności klasyfikatora opierają się na wynikach uzyskanych z macierzy pomyłek, która przedstawia liczbę poprawnych i błędnych klasyfikacji dla każdej z klas. W oparciu o tę macierz można obliczyć następujące miary: dokładność, czułość, swoistość, precyzja oraz negatywna wartość predykcyjna.
Macierz pomyłek to narzędzie stosowane w ocenie jakości klasyfikacji w uczeniu maszynowym. Jest to tabela, która przedstawia liczbę prawidłowo i błędnie sklasyfikowanych przypadków każdej klasy w problemie klasyfikacyjnym. Macierz pomyłek umożliwia wizualną interpretację wyników klasyfikacji i jest używana do wyliczenia miar jakości klasyfikacji, takich jak czułość, swoistość, dokładność, precyzja, negatywna wartość predykcyjna.12
Dokładność
Dokładność (ang. accuracy) - iloraz sumy poprawnych klasyfikacji do sumy wszystkich klasyfikacji. Miara dokładności informuje jaki procent obserwacji został sklasyfikowany poprawnie.
\[Dokładność = \frac{PP+PN}{PP+PN+FP+FN}\]
Czułość
Czułość (ang. sensitivity) - stosunek liczby prawidłowo zaklasyfikowanych obserwacji pozytywnych (TP - true positives) do sumy obserwacji pozytywnych i fałszywie ujemnych. Inaczej mówiąc, czułość informuje jaki procent kwalifikacji negatywnych jest w rzeczywistości negatywna.
\[Czułość = \frac{PP}{PP + FN}\]
Swoistość
Swoistość (ang. specificity) - stosunek liczby prawidłowo zaklasyfikowanych obserwacji negatywnych (TN - true negatives) do sumy obserwacji negatywnych i fałszywie dodatnich (FP - false positives). Inaczej mówiąc, swoistość informuje jaki procent kwalifikacji negatywnych jest w rzeczywistości negatywnych.
\[Swoistość = \frac{PN}{PN + FP}\]
Precyzja
Precyzja (ang. precision) - stosunek liczby prawidłowo zaklasyfikowanych obserwacji pozytywnych do sumy obserwacji pozytywnych i fałszywie dodatnich (FP). Inaczej mówiąc, precyzja informuje jaki procent zaprognozowanych klasyfikacji pozytywnych jest faktycznie pozytywna.
\[ Precyzja = \frac{PP}{PP + FP}\]
Negatywna wartość predykcyjna
Negatywna wartość predykcyjna (ang. negative predictive value) - stosunek liczby prawidłowo zaklasyfikowanych obserwacji negatywnych do sumy obserwacji negatywnych i fałszywie ujemnych (FN). Inaczej mówiąc, negatywna wartość predykcyjna informuje, jaki procent klasyfikacji zaprognozowanych negatywnie jest faktycznie negatywna.
\[NWP = \frac{PN}{PN + FN}\]
Zaprezentowany wykres przedstawia związek każdej zmiennej reprezentującej przez strzałki oraz wyniki każdej obserwacji, które reprezentowane są przez punkty. Utworzone elipsy odpowiadają obserwacjom zgodnym z liniami leczenia. Długość strzałek oraz intensywność ich koloru oznaczają wariancję zmiennych, natomiast kąt pomiędzy nimi przedstawia ich korelacje. Ten sam kierunek strzałek (kąt 0 stopni) oznacza korelację pozytywną, natomiast kierunek antagonistyczny (kąt 180 stopni) przedstawia korelację negatywną. Kąt prostopadły (90 stopni) oznacza brak korelacji pomiędzy zmiennymi. Zmienne pozytywnie skorelowane grupowane są blisko siebie. Zmienne skorelowane negatywnie rozmieszczone są po przeciwnych stronach (przeciwległe ćwiartki).
W przypadku 2. linii leczenia zauważalna jest korelacja między 2. linią leczenia oraz transplantacją komórek krwiotwórczych.
Źródło: Opracowanie własne
Wartości cos2 służą do oszacowania jakości reprezentacji zmiennych w głównych składowych. Duża wartość cos2 wskazuje na dobrą reprezentację zmiennej na składowej głównej (zmienne oddalone od środka układu współrzędnych), natomiast małe wartości cos2 charakteryzują zmienne o małej reprezentacji w głównych składowych (zmienne bliżej środka układu współrzędnych). Inaczej mówiąc, im zmienna znajduje się bliżej środka układu współrzędnych, tym lepsza jest jej reprezentacja. Zmienne, które są skoncentrowane w środku wykresu charakteryzują się mniejszym udziałem w głównych składowych, natomiast zmienne o większym udziale w głównych składowych oddalone są od centrum układu współrzędnych .
Wśród głównych składowych dużą jakość reprezentuje zmienna przedstawiająca wcześniejszą terapię lenalidomidem (zmienna lenalidomid) oraz zmienna reprezentująca linie leczenia (zmienna linie). Ten sam kierunek strzałek oznacza pozytywną korelację pomiędzy nimi. Dużą jakość wśród głównych składowych reprezentuje zmienna przedstawiająca wcześniejszą transplantację komórkami krwiotwórczymi (zmienna auto-HSCT), przy czym jest ona negatywnie skorelowana z dwoma pierwszymi, tj. zmienne: lenalomid oraz linie).
Wykres 1. Biplot
Źródło: Opracowanie własne
Wśród zmiennych włączonych do analizy największy udział procentowy w głównych składowych miały zmienne dotyczące kwalifikacji do leczenia, linii drugiej leczenia oraz terapii lenalidomidem. Linia czerwona oznacza średnią wartość oczekiwaną dla wszystkich zmiennych. Wśród zmiennych o dużej kontrybucji zaobserwować można pozytywną korelację między 2. linią leczenia, transplantacją komórek krwiotwórczych przy jednoczesnej negatywnej korelacji linii 2. z terapią lenalidomidem. Analiza nie wykazała związku między 3. linią leczenia, a terapią pomalidomidem oraz talidomidem.
Wykres 2. Kontrybucje
Źródło: Opracowanie własne
Celem analizy skupień jest podział obserwacji na zbiory obserwacji (ang. clusters) tak, aby obserwacje w klastrach były maksymalnie do siebie podobne i różniły się od pozostałych. Metoda k-średnich jest modelem grupującym, w którym celem jest identyfikacja wzorców i relacji wśród danych na podstawie wspólnych cech. Modele grupujące są przykładem uczenia nienadzorowanego (ang. unsupervised learning). Model grupuje obserwacje minimalizując odległość między nimi dzieląc w ten sposób zbiór obserwacji na daną liczbę klastrów. Analizę skupień metodą k-średnich przeprowadzono przy wykorzystaniu pakietu stats (wersja 4.2.2) .
iter.max: parametr, który określa maksymalną liczbę iteracji, które mają być wykonywane w celu znalezienia centrów. Domyślnie wynosi iter.max = 10.
nstart: opcjonalny parametr, który określa liczbę losowych startowych wartości centrów, które mają być wypróbowane. Domyślnie wynosi nstart = 1.
Wykres 3. Klastry utworzone metodą k-średnich
Źródło: Opracowanie własne
pisują drzewo decyzyjne z trzema węzłami końcowymi, zbudowane za pomocą metody “conditional inference tree” na podstawie zbioru danych składającego się z 321 obserwacji. Drzewo to służy do predykcji zmiennej “linia” (odpowiadającej za skuteczność leczenia) na podstawie następujących zmiennych wejściowych: “karfilzomib”, “bortezomib”, “auto.HSCT”, “IMiD”, “lenalidomid”, “talidomid”, “pomalidomid”, “nast_ter”, “chem_pal”, “pr_lek”, “rad_pal”, “nast_ter_hsct” i “pal”. Otrzymane reguły zaprezentowano przy wykorzystaniu wykresu drzew decyzyjnych.
Dokładność modelu drzew decyzyjnych w podziale na 3 i 2 linie leczenia
Źródło: Opracowanie własne
Do oceny efektywności modelu klasyfikującego zastosowano macierz błędów (ang. confussion matrix). Macierz pomyłek służy do oceny efektywności modelu klasyfikacyjnego zbudowanego na podstawie danych testowych. Stanowi ona tabelę zawierającą informacje o liczbie wystąpień każdej klasy w podziale na każdy typ predykcji.
Źródło: Opracowanie własne
Czułość modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał f prawdziwie pozywytnych przypadków. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz . Swoistość modelu dla klasy 2 wyniosła 85%. Oznacza to, że model klasyfikujący przypisał prawdziwie negatywnych przypadków. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz . Precyzja modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawidłowych predykcji pozytywnych. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz . Negatywna wartość predykcyjna modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawidłowych predykcji negatywnych W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz .
Czułość modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał . Swoistość modelu dwuklasowego wyniosła . Precyzja modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawidłowych predykcji pozytywnych. Negatywna wartość predykcyjna modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał `r renderText({percent(cm_ctree_bin1()$byClass[1,4])}) prawidłowych predykcji negatywnych.
Miary efektywności modeli klasyfikujących w podziale na 3 i 2 linie leczenia
Źródło: Opracowanie własne
Wynikiem klasyfikacji przy użyciu drzew decyzyjnych są reguły
decyzyjne. Otrzymane reguły opisują drzewo decyzyjne z
trzema węzłami końcowymi, zbudowane za pomocą metody
“conditional inference tree” na podstawie zbioru danych
składającego się z 321 obserwacji.
Opisane drzewo decyzyjne służy do predykcji zmiennej “linia” na podstawie 13 zmiennych wejściowych. Drzewo składa się z trzech węzłów, gdzie pierwszy węzeł opiera się na zmiennej “lenalidomid”, a drugi na zmiennej “auto.HSCT”. W zależności od wartości tych zmiennych, algorytm przechodzi do jednego z trzech końcowych węzłów, które zawierają przewidywane wartości zmiennej “linia” oraz wagę obserwacji.
Jeśli wartość zmiennej “lenalidomid” wynosi 0, to algorytm przechodzi do drugiego węzła. W zależności od wartości zmiennej “auto.HSCT”, algorytm przechodzi do końcowego węzła numer 3 lub numer 4. Jeśli wartość zmiennej “lenalidomid” wynosi 1, to algorytm przechodzi do końcowego węzła numer 5. Wartości wag obserwacji w poszczególnych końcowych węzłach wynoszą odpowiednio 10, 95 i 216. Waga obserwacji informuje o tym, jak ważna jest dana obserwacja dla algorytmu. Wagi obserwacji są wykorzystywane w metodzie “conditional inference tree”, która pozwala na budowanie drzewa decyzyjnego z uwzględnieniem ważności poszczególnych obserwacji.
Źródło: Opracowanie własne
Support Vector Machines - SVM
Maszyna wektorów nośnych (ang. Support Vector Machines - SVM) jest jest nadzorowaną metodą klasyfikacji, której elem metody jest identyfikacja wektorów nośnych, określających hiperpowierzchnie optymalnie separujące obiekty w homogeniczne grupy. Analizę przeprowadzono klasyfikacji wieloklasowej dla 3 linii leczenia oraz klasyfikację dwuklasową dla 2 linii leczenia. Do budowy nadzorowanych modelów klasyfikacjnych wyznaczono dwa zbiory danych: dane uczące oraz testowe w stosunku 80:20. W celu określenia efektywności klasyfikatora binarnego zastosowano model dwuklasowy dla 3 linii leczenia obejmujący linie: 2,3,4 oraz model wieloklasowy dla 2 linii leczenia łączący linie 2 i 3+, tj. połączone linie 3 i 4. Do oceny efektywności modelu klasyfikującego zastosowano macierz pomyłek oraz miary efektywności w postaci dokładności, czułości, swoistości, precyzji oraz negatywnej wartości predykcyjnej. Budowę modelu drzew decyzyjnych przeprowadzono z wykorzystaniem pakietu `e1071 (wersja 1.2-16).
Parametr cost w funkcji svm() w pakiecie e1071 w języku R określa koszt błędu klasyfikacji.W algorytmie SVM (Support Vector Machine) chodzi o to, aby wyznaczyć hiperpłaszczyznę separującą różne klasy obiektów. Parametr cost określa, jak ważne są dla nas poprawne przyporządkowania klas (tzw. trafne klasyfikacje) w porównaniu z błędnymi przyporządkowaniami (tzw. błędne klasyfikacje). Wysoka wartość parametru cost oznacza, że koszt błędnej klasyfikacji jest wysoki w stosunku do kosztu trafnej klasyfikacji. W tym przypadku SVM będzie dążył do maksymalizacji liczby trafnych klasyfikacji, nawet kosztem popełnienia większej liczby błędów klasyfikacji. Niska wartość cost oznacza, że koszt błędnej klasyfikacji jest niski w stosunku do kosztu trafnej klasyfikacji. W tym przypadku SVM będzie dążył do minimalizacji liczby błędnych klasyfikacji, nawet kosztem trafnej klasyfikacji. Ostateczna wartość parametru cost powinna być dobrana eksperymentalnie dla danego problemu klasyfikacji, biorąc pod uwagę koszt popełniania błędów i stosunek liczby obiektów do liczby cech.
Parametr kernel w funkcji svm() w pakiecie e1071 w języku R określa jądro (kernel) używane do transformacji danych wejściowych do przestrzeni cech, w której można przeprowadzić separację liniową między różnymi klasami. SVM jest klasyfikatorem binarnym, co oznacza, że jest w stanie separować tylko dwie klasy jednocześnie. Jądro jest narzędziem, które pozwala na zastosowanie SVM do klasyfikacji wieloklasowej, a także na dokładniejszą separację nieliniowych zbiorów danych. Istnieją różne rodzaje jąder, takie jak jądro liniowe, wielomianowe, RBF (Radial Basis Function) i sigmoidalne. Każde z tych jąder ma swoje charakterystyczne właściwości, które wpływają na skuteczność klasyfikacji w zależności od specyfiki zbioru danych. Wybór jądra powinien być dobierany w zależności od charakterystyki danych wejściowych oraz celu klasyfikacji. Dlatego też, w praktyce, często stosuje się proces strojenia parametrów, w którym różne jądra oraz różne wartości ich parametrów są testowane w celu znalezienia najlepszego modelu klasyfikacji.
Dokładność modelu wyniosła . Oznacza to, że obserwacji zostało zaklasyfikowany poprawnie. W pyrzpadku modelu wieloklasowego dokładność wyniosła . Różnica dokładności zastosowanych modeli klasyfikacyjnych pomiędzy modelem wieloklasowym, a dwuklasowym wyniosła .
Dokładność modelu SVM w podziale na 3 i 2 linie leczenia
Źródło: Opracowanie własne
Czułość modelu dla klasy 2 wyniosła
.
Oznacza to, że model klasyfikujący przypisał
prawdziwie pozywytnych przpadków. W pyrzpadku klasy 3 i 4 czułość
klasyfikatora wyniosła odpowiednio
oraz
renderText({percent(cm_svm1()$byClass[3])}).
Swoistość modelu dla klasy 2 wyniosła
.
Oznacza to, że model klasyfikujący przypisał
prawdziwie negatywnych przypadków. W pyrzpadku klasy 3 i 4 czułość
klasyfikatora wyniosła odpowiednio
renderText({percent(cm_svm1()%byClass[2])}) oraz
.
Precyzja modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawidłowych predykcji pozytywnych. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio % oraz %.
Negatywna wartość predykcyjna modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał % prawidłowych predykcji negatywnych. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio % oraz %.
Źródło: Opracowanie własne
Źródło: Opracowanie własne
Algorytm k- najbliższych sąsiadów (ang. k-nearest neighbors) przewiduje wartość zmiennej na podstawie k- najbliższych obserwacji wyznaczonych do zbioru danych treningowych. Do budowy modelu uczenia nadzorowanego wyznaczono dwa zbiory danych: dane uczące oraz testowe w stosunku 80:20. Do oceny efektywności modelu klasyfikującego zastosowano macierz pomyłek (ang. confussion matrix) oraz miary efektywności w postaci dokładności, czułości, swoistości, precyzji oraz negatywnej wartości predykcyjnej.Budowę modelu drzew decyzyjnych przeprowadzono z wykorzystaniem pakietu partykit (wersja 1.2-16).
Dokładność modelu wyniosła . Oznacza to, że obserwacji został sklasyfikowanych poprawnie. W przypadku klasyfikatora dla 2 linii leczenia dokładność modelu wyniosła . Inaczej mówiąc obserwacji zostało zaklasyfikowany poprawnie. Oznacza to, że różnica dokładności zastosowanych modeli klasyfikacyjnych pomiędzy modelem wieloklasowym, a dwuklasowym wyniosła .
Źródło: Opracowanie własne
Czułość modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawdziwie pozytywnych przypadków. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz .
Swoistość modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawdziwie negatywnych przypadków. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz .
Precyzja modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawidłowych predykcji pozytywnych. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz .
Negatywna wartość predykcyjna modelu dla klasy 2 wyniosła . Oznacza to, że model klasyfikujący przypisał prawidłowych predykcji negatywnych. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio oraz .
Źródło: Opracowanie własne
Dokładność modelu binarnego dla 3 linii leczenia wyniosła 0.56. Oznacza to, że 56% procent obserwacji został sklasyfikowany poprawnie. Dokładność modelu wieloklasowego dla 2 linii leczenia wyniosła 0.94. Inaczej mówiąc 94% obserwacji zostało zaklasyfikowany poprawnie. Oznacza to, że różnica dokładności zastosowanych modeli klasyfikacyjnych pomiędzy modelem wieloklasowym, a dwuklasowym wyniosła 38%.
| Dokładność | LCI 0.95 | UCI 0.95 | |
|---|---|---|---|
| 3 linie leczenia | 0.56 | 0.44 | 0.67 |
| 2 linie leczenia | 0.94 | 0.86 | 0.98 |
Źródło: Opracowanie własne
Czułość modelu dla klasy 2 wyniosła 85%. Oznacza to, że model klasyfikujący przypisał 85%% prawdziwie pozywytnych przpadków. W pyrzpadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio 48% oraz 33%. Swoistość modelu dla klasy 2 wyniosła 85%. Oznacza to, że model klasyfikujący przypisał 85%% prawdziwie negatywnych przypadków. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio 68% oraz 79%. Precyzja modelu dla klasy 2 wyniosła 73%. Oznacza to, że model klasyfikujący przypisał 85%% prawidłowych predykcji pozytywnych. W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio 48% oraz 40%. Negatywna wartość predykcyjna modelu dla klasy 2 wyniosła 92%. Oznacza to, że model klasyfikujący przypisał 92%% prawidłowych predykcji negatywnych W przypadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio 68% oraz 74%.
Czułość modelu dla klasy 2 wyniosła 0.93. Oznacza to, że model klasyfikujący przypisał 93%. Swoistość modelu dwuklasowego wyniosła 93%, natomiast precyzja modelu wyniosła 90%. Oznacza to, że model klasyfikujący przypisał 90% prawidłowych predykcji pozytywnych. Negatywna wartość predykcyjna modelu dla klasy 2 wyniosła 1. Inaczej mówiąc, model klasyfikujący przypisał 96% prawidłowych predykcji negatywnych.
| Class: 2 | Class: 3 | Class: 4 | Class: 3+ | |
|---|---|---|---|---|
| Czułość | 0.85 | 0.48 | 0.33 | 0.93 |
| Swoistość | 0.85 | 0.68 | 0.79 | 0.94 |
| Precyzja | 0.73 | 0.48 | 0.40 | 0.90 |
| Negatywna wartość predykcyjna | 0.92 | 0.68 | 0.74 | 0.96 |
Źródło: Opracowanie własne
Największą dokładność uzyskał model klasyfikacyjny r
percent(compare_acc[1,1]), którego dokładność wyniosłarpercent(compare_acc[1,2])%.
Źródło: Opracowanie własne
Czułość modelu dla linii 2 wyniosła 0.85. Oznacza to, że model klasyfikujący przypisał 0.85% prawdziwie pozywytnych przpadków. W pyrzpadku klasy 3 i 4 czułość klasyfikatora wyniosła odpowiednio 0.87 oraz 0.21.
Źródło: Opracowanie własne
Źródło: Opracowanie własne
Wykres. Miary efektowności klasyfikatorów dla 2 linii leczenia
Źródło: Opracowanie własne
Wykres.
Wykres.
Źródło: Opracowanie własne
Krawczyk, B., & Jankowski, A. (2020). Wstęp do uczenia maszynowego. Warszawa: Wydawnictwo Naukowe PWN.↩︎
M. Verleysen, “Nonlinear Dimensionality Reduction,” in Encyclopedia of Machine Learning and Data Mining, Springer, 2017.↩︎
Jolliffe, I.T. Principal Component Analysis. Springer, 1986.↩︎
szeliga↩︎
Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer.↩︎
Alpaydin, E. Introduction to Machine Learning. MIT Press, 2020.↩︎
Liu, B. (2017). Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data. Springer.↩︎
Alpaydin, E. (2010). Introduction to machine learning (2nd ed.). Cambridge, MA: MIT Press.↩︎
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.↩︎
Alpaydin, E. (2010). Introduction to machine learning. MIT press.↩︎
Alpaydin, E. Introduction to Machine Learning, 3rd Edition. MIT Press, 2014.↩︎
Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer.↩︎