diff --git a/podsumowanie/README.md b/podsumowanie/README.md
index 4d4a4ac..388b069 100644
--- a/podsumowanie/README.md
+++ b/podsumowanie/README.md
@@ -702,11 +702,94 @@ summary(model_2)$adj.r.squared
---
## LAB 10
Zagadnienia:
- -
+ - regresja logistyczna i Poissona
+
+ - wykład 9 końcówka
- ### R
+### R
+```r
+# regresja logistyczna
+model_1 <- glm(condition ~ bilirubin + ldh, data = liver_data, family = 'binomial')
+summary(model_1)
+step(model_1)
+
+# iloraz szans
+exp(coef(model_1)[2])
+exp(coef(model_1)[3])
+
+# krzywa ROC
+install.packages("ROCR")
+library(ROCR)
+pred_1 <- prediction(model_1$fitted, liver_data$condition)
+plot(performance(pred_1, 'tpr', 'fpr'), main = "Model 1")
+performance(pred_1, 'auc')@y.values
+
+# predykcja z wykresem
+liver_data_new <- data.frame(bilirubin = c(0.9, 2.1, 3.4), ldh = c(100, 200, 300))
+(predict_glm <- stats::predict(model_1, liver_data_new, type = 'response'))
+model_1_hat <- coef(model_1)[1] + coef(model_1)[2] * liver_data$bilirubin + coef(model_1)[3] * liver_data$ldh
+model_1_temp <- seq(min(model_1_hat) - 1, max(model_1_hat) + 2.5, length.out = 100)
+condition_temp <- exp(model_1_temp) / (1 + exp(model_1_temp))
+plot(model_1_temp, condition_temp, type = "l", xlab = "X beta", ylab = "condition", xlim = c(-6, 9), ylim = c(-0.1, 1.1))
+points(model_1_hat, liver_data$condition, pch = 16)
+points(coef(model_1)[1] + coef(model_1)[2] * liver_data_new$bilirubin + coef(model_1)[3] * liver_data_new$ldh, predict_glm, pch = 16, col = "red")
+
+# regresja Poissona
+install.packages("DAAG")
+library(DAAG)
+head(moths)
+model_1 <- glm(A ~ log(meters), data = moths, family = 'poisson')
+
+# predykcja
+data_new <- data.frame(meters = c(3, 20, 100))
+(pred_1 <- stats::predict(model_1, data_new, type = "response"))
+moths$A_hat <- stats::predict(model_1, type = "response")
+moths <- moths[with(moths, order(meters)), ]
+plot(log(moths$meters), moths$A_hat,
+ type = "l", col = "red", lwd = 2,
+ xlab = "log(moths$meters)", ylab = "A",
+ ylim = c(0, 40), main = "Model 1")
+points(log(moths$meters), moths$A, pch = 16)
+points(log(data_new$meters), pred_1, pch = 16, col = "blue", lwd = 4)
+```
+
+
+
+### Krzywa ROC
+W statystyce matematycznej krzywa ROC jest graficzną reprezentacją efektywności modelu predykcyjnego poprzez wykreślenie charakterystyki jakościowej klasyfikatorów binarnych powstałych z modelu przy zastosowaniu wielu różnych punktów odcięcia. Mówiąc inaczej – każdy punkt krzywej ROC odpowiada innej macierzy błędu uzyskanej przez modyfikowanie „cut-off point”. W punkcie (0, 0) model klasyfikuje wszystko jako negative w punkcie (1, 1) model klasyfikuje wszystko jako positive. Pojęcia:
+- TPR (True Positive Rate) – określa zdolność klasyfikatora do wykrywania klasy pozytywnej
+
+- Lepiej jest powyżej przekątnej, gorzej poniżej. Przekątna to klasyfikator losowy. Przekątna idzie od początku układu współrzędnych.
+
+- False positive rate = 1-specyficzność
+
+- Punkt równowagi to klasyfikator gdzie czułość = specyficzność. Jest to na przecięciu drugiej przekątnej z wykresem.
+![roc2](lab10/roc2.png)
+
+- AUC - Interpretacja AUROC (Area Under the ROC) to prawdopodobieństwo, że badany model predykcyjny oceni wyżej (wartość score) losowy element klasy pozytywnej od losowego elementu klasy negatywnej. Jest to dokłądność modelu - dla idealnego AUC=100%.
+![ROC](roc.png)
### Zagadnienia
+- Regresja logistyczna – jedna z metod regresji używanych w statystyce w przypadku, gdy zmienna zależna jest na skali dychotomicznej (przyjmuje tylko dwie wartości). Zmienne niezależne w analizie regresji logistycznej mogą przyjmować charakter nominalny, porządkowy, przedziałowy lub ilorazowy. W przypadku zmiennych nominalnych oraz porządkowych następuje ich przekodowanie w liczbę zmiennych zero-jedynkowych taką samą lub o 1 mniejszą niż liczba kategorii w jej definicji.
+
+Zwykle wartości zmiennej objaśnianej wskazują na wystąpienie, lub brak wystąpienia pewnego zdarzenia, które chcemy prognozować. Regresja logistyczna pozwala wówczas na obliczanie prawdopodobieństwa tego zdarzenia (tzw. prawdopodobieństwo sukcesu). Wykres krzywej to sigmoid function
+
+![logistyczna](lab10/logistyczna.png)
+![logistyczna2](lab10/logistyczna2.png)
+
+- Rozkład Poissona – dyskretny rozkład prawdopodobieństwa, wyrażający prawdopodobieństwo szeregu wydarzeń mających miejsce w określonym czasie, gdy te wydarzenia występują ze znaną średnią częstotliwością i w sposób niezależny od czasu jaki upłynął od ostatniego zajścia takiego zdarzenia.
+
+- Regresja Poissona - ilość wydarzeń.
+![poisson](lab10/poisson.png)
+
+- Liczba stopni swobody – liczba niezależnych wyników obserwacji pomniejszona o liczbę związków, które łączą te wyniki ze sobą. Liczbę stopni swobody można utożsamiać z **liczbą niezależnych zmiennych losowych**, które wpływają na wynik. Inną interpretacją liczby stopni swobody może być: liczba obserwacji minus liczba parametrów estymowanych przy pomocy tych obserwacji.
+
+- Regresja nieliniowa
+![nieliniowa](lab10/nieliniowa.png)
+
+- Iloraz szans - w skrócie OR określa nam stosunek szansy wystąpienia danego zdarzenia w danej grupie do wystąpienia tego samego zdarzenia w innej porównywanej grupie.
+
+
diff --git a/podsumowanie/lab10/logistyczna.png b/podsumowanie/lab10/logistyczna.png
new file mode 100644
index 0000000..50576ec
Binary files /dev/null and b/podsumowanie/lab10/logistyczna.png differ
diff --git a/podsumowanie/lab10/logistyczna2.png b/podsumowanie/lab10/logistyczna2.png
new file mode 100644
index 0000000..6a35d3d
Binary files /dev/null and b/podsumowanie/lab10/logistyczna2.png differ
diff --git a/podsumowanie/lab10/nieliniowa.png b/podsumowanie/lab10/nieliniowa.png
new file mode 100644
index 0000000..6dd3639
Binary files /dev/null and b/podsumowanie/lab10/nieliniowa.png differ
diff --git a/podsumowanie/lab10/poisson.png b/podsumowanie/lab10/poisson.png
new file mode 100644
index 0000000..5c47cc1
Binary files /dev/null and b/podsumowanie/lab10/poisson.png differ
diff --git a/podsumowanie/lab10/roc.png b/podsumowanie/lab10/roc.png
new file mode 100644
index 0000000..276a149
Binary files /dev/null and b/podsumowanie/lab10/roc.png differ
diff --git a/podsumowanie/lab10/roc2.png b/podsumowanie/lab10/roc2.png
new file mode 100644
index 0000000..f497f7d
Binary files /dev/null and b/podsumowanie/lab10/roc2.png differ
diff --git a/testowe/pomocnicze.R b/testowe/pomocnicze.R
index e2d11fc..fec41b8 100644
--- a/testowe/pomocnicze.R
+++ b/testowe/pomocnicze.R
@@ -1,37 +1,37 @@
-rok <- 1995:2002
-liczba_przypadkow <- c(39.7, 38.2, 34.7, 33.1, 30.1, 28.4, 26.3, 24.7)
-data_set <- data.frame(rok = rok, liczba_przypadkow = liczba_przypadkow)
-plot(data_set, main = "Wykres rozrzutu", pch = 16)
+load(url("http://ls.home.amu.edu.pl/data_sets/liver_data.RData"))
+head(liver_data)
-model <- lm(liczba_przypadkow ~ rok, data = data_set)
-model$coefficients
-plot(data_set, main = "Wykres rozrzutu", pch = 16)
-abline(model, col = "red", lwd = 2)
-coef(model)
-confint(model)
+liver_data$condition <- ifelse(liver_data$condition == "Yes", 1, 0)
+model_1 <- glm(condition ~ bilirubin + ldh, data = liver_data, family = 'binomial')
+model_1
-summary(model)
+summary(model_1)
-fitted(model)
-residuals(model)
+step(model_1)
-temp_rok <- data.frame(rok = seq(min(data_set$rok) - 10,
- max(data_set$rok) + 10,
- length = 100))
-pred <- stats::predict(model, temp_rok, interval = "prediction")
-plot(data_set, main = "Wykres rozrzutu", pch = 16)
-abline(model, col = "red", lwd = 2)
-lines(temp_rok$rok, pred[, 2], lty = 2, col = "red")
-lines(temp_rok$rok, pred[, 3], lty = 2, col = "red")
+exp(coef(model_1)[2])
+exp(coef(model_1)[3])
+
+install.packages("ROCR")
+library(ROCR)
+pred_1 <- prediction(model_1$fitted, liver_data$condition)
+plot(performance(pred_1, 'tpr', 'fpr'), main = "Model 1")
+performance(pred_1, 'auc')@y.values
-new_rok <- data.frame(rok = 2003:2007)
-(pred_2003_2007 <- stats::predict(model, new_rok, interval = 'prediction'))
-plot(data_set, main = "Wykres rozrzutu z predykcją na lata 2003-2007", pch = 16,
- xlim = c(1995, 2007), ylim = c(10, 40))
-abline(model, col = "red", lwd = 2)
-points(2003:2007, pred_2003_2007[, 1], col = "blue", pch = 16)
-temp_rok <- data.frame(rok = seq(1994, 2008, length = 100))
-pred <- stats::predict(model, temp_rok, interval = "prediction")
-lines(temp_rok$rok, pred[, 2], lty = 2, col = "red")
-lines(temp_rok$rok, pred[, 3], lty = 2, col = "red")
\ No newline at end of file
+liver_data_new <- data.frame(bilirubin = c(0.9, 2.1, 3.4), ldh = c(100, 200, 300))
+(predict_glm <- stats::predict(model_1,
+ liver_data_new,
+ type = 'response'))
+model_1_hat <- coef(model_1)[1] +
+ coef(model_1)[2] * liver_data$bilirubin +
+ coef(model_1)[3] * liver_data$ldh
+model_1_temp <- seq(min(model_1_hat) - 1, max(model_1_hat) + 2.5, length.out = 100)
+condition_temp <- exp(model_1_temp) / (1 + exp(model_1_temp))
+plot(model_1_temp, condition_temp, type = "l", xlab = "X beta", ylab = "condition",
+ xlim = c(-6, 9), ylim = c(-0.1, 1.1))
+points(model_1_hat, liver_data$condition, pch = 16)
+points(coef(model_1)[1] +
+ coef(model_1)[2] * liver_data_new$bilirubin +
+ coef(model_1)[3] * liver_data_new$ldh,
+ predict_glm, pch = 16, col = "red")
\ No newline at end of file
diff --git a/zajecia10/README.md b/zajecia10/README.md
index 2c416d6..1995c35 100644
--- a/zajecia10/README.md
+++ b/zajecia10/README.md
@@ -15,7 +15,7 @@ Regresja to pewnie dla danych w rozkładzie Poissona.
## Krzywa ROC
-W statystyce matematycznej krzywa ROC jest graficzną reprezentacją efektywności modelu predykcyjnego poprzez wykreślenie charakterystyki jakościowej klasyfikatorów binarnych powstałych z modelu przy zastosowaniu wielu różnych punktów odcięcia. Mówiąc inaczej – każdy punkt krzywej ROC odpowiada innej macierzy błędu uzyskanej przez modyfikowanie „cut-off point”.
+W statystyce matematycznej krzywa ROC jest graficzną reprezentacją efektywności modelu predykcyjnego poprzez wykreślenie charakterystyki jakościowej klasyfikatorów binarnych powstałych z modelu przy zastosowaniu wielu różnych punktów odcięcia. Mówiąc inaczej – każdy punkt krzywej ROC odpowiada innej macierzy błędu uzyskanej przez modyfikowanie „cut-off point”. W punkcie (0, 0) model klasyfikuje wszystko jako negative w punkcie (1, 1) model klasyfikuje wszystko jako positive.
![ROC](roc.png)
@@ -28,7 +28,7 @@ Pojęcia:
- Punkt równowagi to klasyfikator gdzie czułość = specyficzność. Jest to na przecięciu drugiej przekątnej z wykresem.
-- AUC - Interpretacja AUROC (Area Under the ROC) to prawdopodobieństwo, że badany model predykcyjny oceni wyżej (wartość score) losowy element klasy pozytywnej od losowego elementu klasy negatywnej.
+- AUC - Interpretacja AUROC (Area Under the ROC) to prawdopodobieństwo, że badany model predykcyjny oceni wyżej (wartość score) losowy element klasy pozytywnej od losowego elementu klasy negatywnej. Jest to dokłądność modelu - dla idealnego AUC=100%.
## Notatki