{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Integrated Calibration Index (ICI)\n", "\n", "## Theoretical Background\n", "\n", "Integrated Calibration Index (ICI) is essentially the same as expected calibration error (ECE) in terms of the idea. They both try to measure the average deviation of the predicted probabilities from the true probabilities. However, ECE is calculated by grouping the samples into bins and then calculating the weighted average of the deviation of the mean predicted probabilities from the empirical accuracy. ICI, on the other hand, is calculated by fitting a smooth curve using the samples itself and therefore doesn't require binning. However, the choice of the curve fitting method can affect the result and is arbitrary. The most common choice is locally estimated scatterplot smoothing (LOESS) (Cleveland, 1979). People also use other methods such as polynomial fitting and spline fitting. Interestingly, not many people have looked into using COX regression results to calculate ICI, which is implemented in calzone. Notice that the Cox-ICI can be way off from the truth if the logistic regression does not result in a good fit.\n", "\n", "The formula for ICI is:\n", "\n", "$$\n", "\\text{ICI} = \\int_0^1 |\\mathbb{S}(p)-p| \\, dF_{\\hat{P}}(p)\n", "$$\n", "\n", "where $\\mathbb{S}(p)$ is the fitted function and $F_{\\hat{P}}(p)$ is the cumulative distribution function of the empirical probabilities. In the actual implementation, we calculate\n", "\n", "$$\n", "\\text{ICI} = \\frac{1}{N} \\sum_{i=1}^N |\\mathbb{S}(p_i)-p_i|\n", "$$\n", "\n", "where $p_i$ is the predicted probability of the $i$-th sample." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pros of ICI\n", "\n", "The main advantage of ICI is that it skips the need for binning while still giving an easily interpretable metric. It is essentially the same as ECE and can be interpreted as the average deviation from the true probability. ICI can capture any type of miscalibration if the calibration curve is well-described by the fitting method.\n", "\n", "## Cons of ICI\n", "\n", "The main disadvantage of ICI is the need for a fitting method. Locally estimated scatterplot smoothing (LOESS) is a non-parametric regression method that fits a smooth line through the data. It is the most common method used in ICI. However, it still requires hyperparameters like the span (window width) which could affect the fitting result and ICI greatly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculating LOESS ICI and COX ICI using calzone\n", "\n", "To calculate LOESS ICI and COX ICI using calzone, we can call the function directly" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cox ICI: 0.005610391483826338\n", "Loess ICI: 0.00558856942568957\n" ] } ], "source": [ "from calzone.utils import reliability_diagram,data_loader\n", "from calzone.metrics import cox_regression_analysis,lowess_regression_analysis,cal_ICI_cox\n", "\n", "### loading the data\n", "wellcal_dataloader = data_loader(data_path=\"../../../example_data/simulated_welldata.csv\")\n", "\n", "### calculating cox ICI\n", "cox_slope, cox_intercept,cox_slope_ci,cox_intercept_ci = cox_regression_analysis(wellcal_dataloader.labels, wellcal_dataloader.probs,class_to_calculate=1,print_results=False)\n", "cox_ici = cal_ICI_cox(cox_slope, cox_intercept, wellcal_dataloader.probs, class_to_calculate=1)\n", "\n", "### calculating loess ICI\n", "loess_ici, lowess_fit_p, lowess_fit_p_correct = lowess_regression_analysis(wellcal_dataloader.labels, wellcal_dataloader.probs, class_to_calculate=1, span=0.5, delta=0.001, it=0)\n", "\n", "print(f\"Cox ICI: {cox_ici}\")\n", "print(f\"Loess ICI: {loess_ici}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, we can use the CalibrationMetrics class to compute the COX and Loess ICI" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'COX coef': 0.9942499557748269,\n", " 'COX intercept': -0.04497652296600376,\n", " 'COX coef lowerci': 0.9372902801721911,\n", " 'COX coef upperci': 1.0512096313774626,\n", " 'COX intercept lowerci': -0.12348577118577644,\n", " 'COX intercept upperci': 0.03353272525376893,\n", " 'COX ICI': 0.005610391483826338,\n", " 'Loess ICI': 0.00558856942568957}" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from calzone.metrics import CalibrationMetrics\n", "calmetrics = CalibrationMetrics()\n", "calmetrics.calculate_metrics(wellcal_dataloader.labels, wellcal_dataloader.probs, metrics=['COX','Loess'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualization of the fitted curve\n", "\n", "We can also plot the loess curve and the COX curve." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cox ICI: 0.0984122810555748\n", "Loess ICI (span = 0.5): 0.07356445428053172\n", "Loess ICI (span = 0.3): 0.07692218401743334\n" ] } ], "source": [ "### We will use linear miscalibrated data to demostrate the plot. Notice that the COX should capture the miscalibration perfectly in the example case.\n", "miscal_dataloader = data_loader(data_path=\"../../../example_data/simulated_misdata.csv\")\n", "\n", "### calculating cox ICI\n", "cox_slope, cox_intercept,cox_slope_ci,cox_intercept_ci = cox_regression_analysis(miscal_dataloader.labels, miscal_dataloader.probs,class_to_calculate=1,print_results=False)\n", "cox_ici = cal_ICI_cox(cox_slope, cox_intercept, wellcal_dataloader.probs, class_to_calculate=1)\n", "\n", "### calculating loess ICI\n", "loess_ici, lowess_fit_p, lowess_fit_p_correct = lowess_regression_analysis(miscal_dataloader.labels, miscal_dataloader.probs, class_to_calculate=1)\n", "\n", "### We also try a different span\n", "loess_ici2, lowess_fit_p2, lowess_fit_p2_correct = lowess_regression_analysis(miscal_dataloader.labels, miscal_dataloader.probs, class_to_calculate=1, span=0.3, delta=0.001, it=0)\n", "\n", "print(\"Cox ICI: \", cox_ici)\n", "print(\"Loess ICI (span = 0.5): \", loess_ici)\n", "print(\"Loess ICI (span = 0.3): \", loess_ici2)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Calibration Curve')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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pKamGsDMnDnTpKamOi65v1C+BxVuqunll1820dHRxtfX13Tr1s2sXbvW8d6IESNMnz59yq2fnJxsunbtanx9fU2LFi3MnDlzXFxx7VSdPvfp08cAFX5GjBjh+sJrmer+Pp9K4abqqtvntLQ0079/f+Pv728iIyPNhAkTzPHjx11cde1T3T6/+OKLpmPHjsbf3980bdrUDBs2zOzbt8/FVdcua9asOev/by+U70GLMZp/ExEREc+hc25ERETEoyjciIiIiEdRuBERERGPonAjIiIiHkXhRkRERDyKwo2IiIh4FIUbERER8SgKNyJyVlOnTqVLly6O1yNHjuSGG25weR27d+/GYrGwefNml392TexzVepPTk7GYrFw5MgRABYuXEj9+vUd75/+dyEilVO4EamFRo4cicViwWKxYLVaiYmJYeLEieTn5zv9s1944QUWLlxYpXVdHUj69u3r6Iufnx9t27blmWeeoaSkxCWf/9/q2bMnmZmZ5R6aeaqJEyeyevVqx2t3BU2RC52eCi5SSw0cOJAFCxZgt9tZt24do0ePJj8/nzlz5lRY126319hD6s70xXuhuPPOO3nyyScpKCjgk08+4d5778Xb25uHH364wrpFRUX4+vq6ocrK+fr60qRJkzO+HxQURFBQkAsrEqmdNHMjUkv5+fnRpEkToqKiGDp0KMOGDePDDz8E/jx8MX/+fGJiYvDz88MYw9GjR7nrrrsICwsjODiYK6+8kh9//LHcuM8++yzh4eHUq1ePUaNGUVBQUO7902cLSktLmTFjBq1bt8bPz4/mzZvz9NNPA9CyZUsAunbtisVioW/fvo7tFixYQIcOHbDZbLRv357Zs2eX+5yNGzfStWtXbDYbcXFxpKamVqkvAQEBNGnShBYtWjBu3Dj69evn6MvJ2qdPn05ERARt27YFYMuWLVx55ZX4+/sTGhrKXXfdVe6p3CdNmzbN0bu7776boqIix3uff/45l112GfXr1yc0NJS//vWv7Ny5s8IYv/zyCz179sRms3HRRReRnJzseO/0w1KnO/Ww1NSpU1m0aBErVqxwzFYlJydz5ZVXMm7cuHLbHTx4ED8/P7788ssq9VCktlO4EfEQ/v7+2O12x+sdO3bwzjvv8P777zsOC1177bVkZWWRmJhISkoK3bp1o1+/fhw6dAiAd955hylTpvD000+zadMm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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### ploting the curve\n", "from calzone.metrics import logit_func\n", "import matplotlib.pyplot as plt\n", "from calzone.utils import reliability_diagram\n", "from calzone.vis import plot_reliability_diagram\n", "import numpy as np\n", "cox_func= logit_func(coef=cox_slope, intercept=cox_intercept)\n", "proba_class1 = np.sort(np.clip(miscal_dataloader.probs[:,1],1e-10,1-1e-10))\n", "cox_p_correct=cox_func(proba_class1)\n", "reliability,confindence,bin_edges,bin_counts = reliability_diagram(miscal_dataloader.labels, miscal_dataloader.probs, num_bins=15,class_to_plot=1) \n", "plt.scatter(confindence,reliability, label=\"reliability diagram\", marker=\"x\",color='k')\n", "#ig = plot_reliability_diagram(reliability, confindence, bin_counts)\n", "#plt.close()\n", "#print(fig)\n", "plt.plot(proba_class1, cox_p_correct, label=\"Cox\")\n", "plt.plot(lowess_fit_p, lowess_fit_p_correct, label=\"Loess with span= 0.5\")\n", "plt.plot(lowess_fit_p2, lowess_fit_p2_correct, label=\"Loess with span= 0.3\")\n", "plt.xlabel(\"Predicted Probability\")\n", "plt.ylabel(\"Corrected Probability\")\n", "plt.legend()\n", "plt.grid()\n", "plt.title(\"Calibration Curve\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reference\n", "\n", "Cleveland, W.S. (1979) “Robust Locally Weighted Regression and Smoothing Scatterplots”. Journal of the American Statistical Association 74 (368): 829-836.\n", "\n", "Austin, P. C., & Steyerberg, E. W. (2019). The Integrated Calibration Index (ICI) and related metrics for quantifying the calibration of logistic regression models. Statistics in Medicine, 38(21), 4051–4065. https://doi.org/10.1002/sim.8281\n", "\n", "Huang, Y., Li, W., Macheret, F., Gabriel, R. A., & Ohno-Machado, L. (2020). A tutorial on calibration measurements and calibration models for clinical prediction models. Journal of the American Medical Informatics Association, 27(4), 621–633. https://doi.org/10.1093/jamia/ocz228\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "uq", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.0" } }, "nbformat": 4, "nbformat_minor": 2 }