Co oznacza Krzywa ROC?
Zastosowanie, warunki i dobre praktyki
Krzywa ROC pokazuje czułość w funkcji 1 − swoistości dla wszystkich progów klasyfikacji. Pole AUC opisuje prawdopodobieństwo, że losowy przypadek dodatni otrzyma wyższy wynik niż losowy przypadek ujemny. Nie ocenia jednak bezpośrednio kalibracji ani użyteczności konkretnego progu, a przy silnej nierównowadze klas warto uzupełnić ją krzywą precision–recall i analizą kosztów decyzji.
Najważniejsze zastosowanie: Używaj do oceny dyskryminacji modelu lub testu diagnostycznego.
Jak poprawnie stosować i interpretować hasło „Krzywa ROC”?
W odniesieniu do hasła „Krzywa ROC” krzywą ROC stosuje się do oceny, jak wynik ciągły lub model rozdziela przypadki dodatnie od ujemnych przy kolejnych progach. Przy ocenie hasła „Krzywa ROC” najpierw trzeba jednoznacznie zdefiniować zdarzenie, populację oraz koszt wyniku fałszywie dodatniego i fałszywie ujemnego. W analizie dotyczącej hasła „Krzywa ROC” AUC podsumowuje zdolność porządkowania, natomiast próg operacyjny wybiera się według celu decyzji, a nie wyłącznie na podstawie maksimum indeksu Youdena.
W analizie dotyczącej hasła „Krzywa ROC” AUC i charakterystykę wybranego progu należy sprawdzić na danych niewykorzystanych do budowy modelu. Dla interpretacji hasła „Krzywa ROC” przy silnej nierównowadze klas warto dodać krzywą precision–recall, a przy zastosowaniu klinicznym lub decyzyjnym także kalibrację i użyteczność netto. W odniesieniu do hasła „Krzywa ROC” porównanie dwóch AUC wymaga uwzględnienia tego, czy przewidywania powstały dla tych samych osób.
Co trzeba opisać w raporcie?
W odniesieniu do hasła „Krzywa ROC” raport powinien podać definicję klasy dodatniej, liczby przypadków w obu klasach, AUC z 95% przedziałem ufności oraz źródło danych walidacyjnych. Przy ocenie hasła „Krzywa ROC” dla wybranego progu trzeba przedstawić czułość, swoistość i — zależnie od zastosowania — wartości predykcyjne wraz z uzasadnieniem konsekwencji błędów klasyfikacji.
Zakres raportowania dla hasła „Krzywa ROC”: AUC = …, 95% CI […]; podaj czułość/swoistość dla progu uzasadnionego decyzją.
Przykład praktyczny i gotowa interpretacja
Sytuacja: AUC = .80 oznacza, że losowy przypadek dodatni ma 80% szans otrzymać wyższy wynik niż losowy ujemny.
Jak ją zinterpretować: AUC opisuje zdolność wyniku do porządkowania przypadków dodatnich wyżej niż ujemne niezależnie od jednego progu. Nie mówi o kalibracji ani koszcie błędów, dlatego próg operacyjny trzeba wybrać z uwzględnieniem częstości zdarzenia i konsekwencji decyzji.
Najczęstsza pułapka i granica interpretacji
AUC nie ocenia kalibracji i może ukrywać słabe działanie w ważnym zakresie progów.
W analizie dotyczącej hasła „Krzywa ROC” wysokie AUC nie oznacza dobrej kalibracji i nie gwarantuje użyteczności konkretnego progu. Dla interpretacji hasła „Krzywa ROC” wartości predykcyjne zależą od częstości zdarzenia, dlatego nie przenoszą się automatycznie do populacji o innym rozpowszechnieniu.
Krzywa ROC i AUC
Kod wyznacza ROC i AUC dla jednej zmiennej prognostycznej względem binarnego stanu odniesienia.
R
dane <- read.csv("dane.csv")
# Pakiet pROC.
library(pROC)
roc_obj <- roc(response = dane$stan, predictor = dane$marker,
levels = c(0, 1), direction = "<", ci = TRUE)
roc_obj
ci.auc(roc_obj)
coords(roc_obj, "best", best.method = "youden",
ret = c("threshold", "sensitivity", "specificity"))
plot(roc_obj, print.auc = TRUE)Python
import pandas as pd
from sklearn.metrics import roc_curve, roc_auc_score
import matplotlib.pyplot as plt
df = pd.read_csv("dane.csv")[["stan", "marker"]].dropna()
auc = roc_auc_score(df["stan"], df["marker"])
fpr, tpr, progi = roc_curve(df["stan"], df["marker"])
youden = tpr - fpr
i = youden.argmax()
print({"AUC": auc, "prog_Youdena": progi[i],
"czulosc": tpr[i], "swoistosc": 1-fpr[i]})
plt.plot(fpr, tpr); plt.plot([0, 1], [0, 1], "--")
plt.xlabel("1 - swoistość"); plt.ylabel("Czułość"); plt.show()IBM SPSS Statistics — Syntax
ROC marker BY stan (1)
/PLOT=CURVE(REFERENCE)
/PRINT=SE COORDINATES
/CRITERIA=CUTOFF(INCLUDE) TESTPOS(LARGE) DISTRIBUTION(FREE) CI(95).Bibliografia oprogramowania i wykorzystanych pakietów
W przykładach użyto: R, Python, IBM SPSS Statistics, pROC, pandas, Matplotlib, scikit-learn. W pracy badawczej podaj również faktycznie użyte wersje, które można odczytać poleceniami sessionInfo() w R oraz pip freeze lub importlib.metadata.version() w Pythonie. Cytuj wyłącznie narzędzia rzeczywiście użyte w końcowej analizie.
- R: R Core Team. (2026). R: A language and environment for statistical computing [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
- Python: Van Rossum, G., & Drake, F. L., Jr. (2009). Python 3 reference manual. CreateSpace.
- IBM SPSS Statistics: IBM Corp. (2025). IBM SPSS Statistics for Macintosh (Version 31.0) [Computer software]. IBM Corp.
- pROC: Robin, X., Turck, N., Hainard, A., Tiberti, N., Lisacek, F., Sanchez, J.-C., & Müller, M. (2011). pROC: An open-source package for R and S+ to analyze and compare ROC curves. BMC Bioinformatics, 12, 77. https://doi.org/10.1186/1471-2105-12-77
- pandas: McKinney, W. (2010). Data structures for statistical computing in Python. In S. van der Walt & J. Millman (Eds.), Proceedings of the 9th Python in Science Conference (pp. 56–61). https://doi.org/10.25080/Majora-92bf1922-00a
- Matplotlib: Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90–95. https://doi.org/10.1109/MCSE.2007.55
- scikit-learn: Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., VanderPlas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., & Duchesnay, É. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12, 2825–2830.
BibTeX dla oprogramowania i pakietów
@manual{r-core-2026,
author = {{R Core Team}},
title = {R: A Language and Environment for Statistical Computing},
organization = {R Foundation for Statistical Computing},
address = {Vienna, Austria},
year = {2026},
url = {https://www.R-project.org/}
}@book{vanrossum2009python,
author = {Van Rossum, Guido and Drake, Fred L., Jr.},
title = {Python 3 Reference Manual},
publisher = {CreateSpace},
year = {2009},
isbn = {978-1-4414-1269-0}
}@software{ibm2025spss,
author = {{IBM Corp.}},
title = {IBM SPSS Statistics for Macintosh},
year = {2025},
version = {31.0},
publisher = {IBM Corp.}
}@article{robin2011proc,
author = {Robin, Xavier and Turck, Natacha and Hainard, Alexandre and Tiberti, Natalia and Lisacek, Frédérique and Sanchez, Jean-Charles and Müller, Markus},
title = {pROC: An Open-Source Package for R and S+ to Analyze and Compare ROC Curves},
journal = {BMC Bioinformatics},
year = {2011},
volume = {12},
pages = {77},
doi = {10.1186/1471-2105-12-77}
}@inproceedings{mckinney2010pandas,
author = {McKinney, Wes},
title = {Data Structures for Statistical Computing in Python},
booktitle = {Proceedings of the 9th Python in Science Conference},
editor = {van der Walt, Stéfan and Millman, Jarrod},
year = {2010},
pages = {56--61},
doi = {10.25080/Majora-92bf1922-00a}
}@article{hunter2007matplotlib,
author = {Hunter, John D.},
title = {Matplotlib: A 2D Graphics Environment},
journal = {Computing in Science and Engineering},
year = {2007},
volume = {9},
number = {3},
pages = {90--95},
doi = {10.1109/MCSE.2007.55}
}@article{pedregosa2011scikitlearn,
author = {Pedregosa, Fabian and Varoquaux, Gaël and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and others},
title = {Scikit-learn: Machine Learning in Python},
journal = {Journal of Machine Learning Research},
year = {2011},
volume = {12},
pages = {2825--2830}
}Definicje, zalecenia interpretacyjne i sposób raportowania oparto na literaturze metodologicznej wskazanej w bibliografii (Appelbaum et al., 2018).
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Wartość p: co naprawdę oznacza i jak ją poprawnie interpretować
Wartość p bez mitów: definicja, interpretacja, typowe błędy oraz sposób raportowania wraz z wielkością efektu i przedziałem ufności.
Czytaj →PoradnikRegresja logistyczna: założenia, interpretacja i raportowanie modelu
Regresja logistyczna w praktyce: założenia, iloraz szans, diagnostyka, kalibracja, AUC oraz zasady rzetelnego raportowania modelu.
Czytaj →PoradnikModelowanie równań strukturalnych (SEM): od teorii do raportu
SEM bez skrótów myślowych: model pomiarowy i strukturalny, CB-SEM a PLS-SEM, dopasowanie, założenia oraz raportowanie wyników.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Oferta dla badaczyOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Appelbaum, M., Cooper, H., Kline, R. B., Mayo-Wilson, E., Nezu, A. M., & Rao, S. M. (2018). Journal article reporting standards for quantitative research in psychology: The APA Publications and Communications Board task force report. American Psychologist, 73(1), 3–25. https://doi.org/10.1037/amp0000191
- Wilkinson, L., & Task Force on Statistical Inference. (1999). Statistical methods in psychology journals: Guidelines and explanations. American Psychologist, 54(8), 594–604. https://doi.org/10.1037/0003-066X.54.8.594
- Lang, T. A., & Altman, D. G. (2015). Basic statistical reporting for articles published in biomedical journals: The SAMPL guidelines. International Journal of Nursing Studies, 52(1), 5–9. https://doi.org/10.1016/j.ijnurstu.2014.09.006
- Altman, D. G. (2015). Making research articles fit for purpose: Structured reporting of key methods and findings. Trials, 16, 53. https://doi.org/10.1186/s13063-015-0575-7
- Wasserstein, R. L., & Lazar, N. A. (2016). The ASA statement on p-values: Context, process, and purpose. The American Statistician, 70(2), 129–133. https://doi.org/10.1080/00031305.2016.1154108
- Greenland, S., Senn, S. J., Rothman, K. J., Carlin, J. B., Poole, C., Goodman, S. N., & Altman, D. G. (2016). Statistical tests, P values, confidence intervals, and power: A guide to misinterpretations. European Journal of Epidemiology, 31(4), 337–350. https://doi.org/10.1007/s10654-016-0149-3
Cytowania BibTeX
@article{appelbaum2018jars, author={Appelbaum, Mark and Cooper, Harris and Kline, Rex B. and Mayo-Wilson, Evan and Nezu, Arthur M. and Rao, Stephen M.}, title={Journal article reporting standards for quantitative research in psychology}, journal={American Psychologist}, year={2018}, volume={73}, number={1}, pages={3--25}, doi={10.1037/amp0000191}}@article{wilkinson1999statistical, author={Wilkinson, Leland and {Task Force on Statistical Inference}}, title={Statistical methods in psychology journals: Guidelines and explanations}, journal={American Psychologist}, year={1999}, volume={54}, number={8}, pages={594--604}, doi={10.1037/0003-066X.54.8.594}}@article{lang2015sampl, author={Lang, Thomas A. and Altman, Douglas G.}, title={Basic statistical reporting for articles published in biomedical journals: the SAMPL guidelines}, journal={International Journal of Nursing Studies}, year={2015}, volume={52}, number={1}, pages={5--9}, doi={10.1016/j.ijnurstu.2014.09.006}}@article{altman2015reporting, author={Altman, Douglas G.}, title={Making research articles fit for purpose: structured reporting of key methods and findings}, journal={Trials}, year={2015}, volume={16}, pages={53}, doi={10.1186/s13063-015-0575-7}}@article{wasserstein2016pvalues, author={Wasserstein, Ronald L. and Lazar, Nicole A.}, title={The ASA Statement on p-Values: Context, Process, and Purpose}, journal={The American Statistician}, year={2016}, volume={70}, number={2}, pages={129--133}, doi={10.1080/00031305.2016.1154108}}@article{greenland2016misinterpretations, author={Greenland, Sander and Senn, Stephen J. and Rothman, Kenneth J. and Carlin, John B. and Poole, Charles and Goodman, Steven N. and Altman, Douglas G.}, title={Statistical tests, P values, confidence intervals, and power: a guide to misinterpretations}, journal={European Journal of Epidemiology}, year={2016}, volume={31}, number={4}, pages={337--350}, doi={10.1007/s10654-016-0149-3}}