{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Secure Kaplan-Meier Survival Analysis Explained\n", "\n", "The MPyC demo [kmsurival.py](kmsurvival.py) implements privacy-preserving Kaplan-Meier [survival analysis](https://en.wikipedia.org/wiki/Survival_analysis), based on earlier work by Meilof Veeningen. The demo is built using the Python package [lifelines](https://pypi.org/project/lifelines/), which provides extensive support for survival\n", "analysis and includes several datasets. We use lifelines for plotting Kaplan-Meier survival curves, performing logrank tests to compare survival curves, and printing survival tables." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# use pip (or, conda) to make sure lifelines package is installed:\n", "!python -m pip -q install lifelines " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os, functools\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import lifelines.statistics\n", "from mpyc.runtime import mpc\n", "mpc.logging(False)\n", "from lifelines import KaplanMeierFitter\n", "from kmsurvival import plot_fits, events_to_table, events_from_table, logrank_test, aggregate, agg_logrank_test" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Actual use of the lifelines package is hidden mostly inside the [kmsurival.py](kmsurvival.py) demo, except for the function `lifelines.statistics.logrank_test()` used below to validate the results of the secure computations.\n", "\n", "## Kaplan-Meier Analysis\n", "\n", "We analyze the aml (\"acute myelogenous leukemia\") dataset, which is also used as a [small example on Wikipedia](https://en.wikipedia.org/wiki/Survival_analysis#Example:_Acute_myelogenous_leukemia_survival_data). The file `aml.csv` (copied from the R package `KMsurv`) contains the raw data for 23 patients. Status 1 stands for the event \"recurrence of aml cancer\" and status 0 means no event (\"censored\")." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
observationtimestatusgroup
12512
13512
14812
15812
1911
161212
21311
31301
171602
41811
52311
182312
192712
62801
203012
73111
213312
83411
224312
94501
234512
104811
1116101
\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(os.path.join('data', 'surv', 'aml.csv')).rename(columns={'Unnamed: 0': 'observation', 'cens': 'status'})\n", "df.sort_values(['time', 'observation']).style.hide(axis='index')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Time is in weeks. The study compares the time until recurrence among two groups of patients. Patients in group 1 received maintenance chemotherapy, while patients in group 2 did not get any maintenance treatment. To plot the [Kaplan–Meier survival curve](https://en.wikipedia.org/wiki/Kaplan–Meier_estimator) for groups 1 and 2, we use the function `plot_fits()` as follows." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "T1, T2 = df['time'] [df['group'] == 1], df['time'] [df['group'] == 2]\n", "E1, E2 = df['status'][df['group'] == 1], df['status'][df['group'] == 2]\n", "kmf1 = KaplanMeierFitter(label='1=Maintained').fit(T1, E1)\n", "kmf2 = KaplanMeierFitter(label='2=Not maintained').fit(T2, E2)\n", "plot_fits(kmf1, kmf2, 'Kaplan-Meier survival curves', 'weeks')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The vertical ticks on the graphs indicate censored events. At the bottom, the number of patients \"at risk\" is shown. The study concerned 11 patients in group 1 with one patient censored after 161 weeks and 12 patients in group 2. A Kaplan-Meier curve estimates the survival probability as a function of time (duration). \n", "\n", "In this example, the two curves do not appear to differ very much. To analyze this more precisely one performs a [logrank test](https://en.wikipedia.org/wiki/Logrank_test):" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0653393220405049" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "float(lifelines.statistics.logrank_test(T1, T2, E1, E2).p_value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The null hypothesis is that survival is the same for both groups. Since $p=0.065$ is not particularly small (e.g., not below $\\alpha=0.05$), the null hypothesis is not strongly rejected. In other words, the logrank test also says that the curves do not differ significantly---with the usual caveat of small sample sizes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Privacy-Preserving Survival Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a multiparty setting, each party holds a private dataset and the goal is to perform a survival analysis on the *union* of all the datasets. To obtain the secure union of the datasets in an efficient way, each private dataset will be represented using two survival tables, one survival table per group of patients. \n", "\n", "The survival tables for the aml dataset are available from the Kaplan-Meier fitters `kmf1` and `kmf2`:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
removedobservedcensoredentranceat_risk
event_at
0.00001111
9.0110011
13.0211010
18.011008
23.011007
28.010106
31.011005
34.011004
45.010103
48.011002
161.010101
\n", "
" ], "text/plain": [ " removed observed censored entrance at_risk\n", "event_at \n", "0.0 0 0 0 11 11\n", "9.0 1 1 0 0 11\n", "13.0 2 1 1 0 10\n", "18.0 1 1 0 0 8\n", "23.0 1 1 0 0 7\n", "28.0 1 0 1 0 6\n", "31.0 1 1 0 0 5\n", "34.0 1 1 0 0 4\n", "45.0 1 0 1 0 3\n", "48.0 1 1 0 0 2\n", "161.0 1 0 1 0 1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
removedobservedcensoredentranceat_risk
event_at
0.00001212
5.0220012
8.0220010
12.011008
16.010107
23.011006
27.011005
30.011004
33.011003
43.011002
45.011001
\n", "
" ], "text/plain": [ " removed observed censored entrance at_risk\n", "event_at \n", "0.0 0 0 0 12 12\n", "5.0 2 2 0 0 12\n", "8.0 2 2 0 0 10\n", "12.0 1 1 0 0 8\n", "16.0 1 0 1 0 7\n", "23.0 1 1 0 0 6\n", "27.0 1 1 0 0 5\n", "30.0 1 1 0 0 4\n", "33.0 1 1 0 0 3\n", "43.0 1 1 0 0 2\n", "45.0 1 1 0 0 1" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(kmf1.event_table, kmf2.event_table)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using `mpc.input()`, each party will secret-share its pair of survival tables with all the other parties. To allow for a simple union of the survival tables, however, we modify the representation of the survival tables as follows. \n", "\n", "First, we determine when the last event happens, which is at $t=161$ in the example. We compute $maxT$ securely as the maximum over all parties, using the following MPyC one-liner:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "161" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "secfxp = mpc.SecFxp(64) # logrank tests will require fixed-point arithmetic\n", "maxT = int(await mpc.output(mpc.max(mpc.input(secfxp(int(df['time'].max()))))))\n", "timeline = range(1, maxT+1)\n", "max(timeline)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All parties use $1..maxT$ as the global timeline. Subsequently, each party pads its own survival tables to cover the entire timeline. This is accomplished by two calls to the function `events_to_table()`, which only keeps the essential information:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
d1n1d2n2
1011012
2011012
3011012
4011012
5011212
6011010
7011010
8011210
911108
1001008
\n", "
" ], "text/plain": [ " d1 n1 d2 n2\n", "1 0 11 0 12\n", "2 0 11 0 12\n", "3 0 11 0 12\n", "4 0 11 0 12\n", "5 0 11 2 12\n", "6 0 11 0 10\n", "7 0 11 0 10\n", "8 0 11 2 10\n", "9 1 11 0 8\n", "10 0 10 0 8" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1, n1 = events_to_table(maxT, T1, E1)\n", "d2, n2 = events_to_table(maxT, T2, E2)\n", "pd.DataFrame({'d1': d1, 'n1': n1, 'd2': d2, 'n2': n2}, index=timeline).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Column `d1` records the number of observed events (\"deaths\") for group 1 on the entire timeline, and column `n1` records the number of patients \"at risk\". Similarly, for group 2. \n", "\n", "To obtain the secure union of the privately held datasets, we let all parties secret-share their survival tables and simply add all of these elementwise:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "d1, n1, d2, n2 = (functools.reduce(mpc.vector_add, mpc.input(list(map(secfxp, _)))) for _ in (d1, n1, d2, n2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The joint dataset (union) is now represented by `d1, n1, d2, n2`. Note that these values are all secret-shared, for example:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aggregate Kaplan-Meier Curves\n", "\n", "We now proceed to analyze the joint dataset in a privacy-preserving way by plotting *aggregated* versions of the Kaplan-Meier curves. The exact Kaplan-Meier curves would reveal too much information about the patients in the study. By aggregating the events over longer time intervals, the amount of information revealed by the curves is reduced. At the same time, however, the aggregated curves may still be helpful to see the overall results for the study---and in any case to serve as a sanity check.\n", "\n", "The function `aggregate()` securely adds all the observed (\"death\") events over intervals of a given length (stride). The aggregated values are all output publicly, and used to plot the curves via the function `events_from_table()`:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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d+7cKRrSJLlhRH777Te9nTNnTiMoKMioWrWqsXjxYqfbwp49e3TYkyFDhtzTuSYclgULhi4xHTlyxOk2OB5PcfXqVS37okWLGoGBgTrMzSuvvGJERUW5+tAylLNhfLCEhYUZnoJlwDIAlsFtLAfDbcpAB1JzdWBJRERERPfG49vUEREREVkBgzoiIiIiC2BQR0RERGQBDOqIiIiILIBBXSY3d+5cyZEjh6sPg4iIiDI5twvqMHZYx44dJX/+/BIYGChlypSRPn363NXsD+QI891ivD6UK2ZUwBh6nmbdunU6Xh2mBsN8v99++614mg8//FCqVq0q2bNn16VevXry448/iidhGbAMgGXAMnC3MnCroA4D995///0SFRWlAwbv3btXvvjiCwkJCZHRo0dLZoXZKDL7rAQbN27UAZd79+6tgXPbtm112bVrl3iSyMhIHWB6xowZ4qkKFy4sEydOlK1bt8qff/4pjRs3ljZt2sju3bvFU7AMWAbAMmAZuF0ZGG4iMjLSyJMnj9G2bVun91+6dMn2986dO40WLVoYWbJk0YF7u3fvbpw7d852PwbUHThwoDF8+HAdBDh//vwOAwrHx8fr7SJFihj+/v5GgQIFdHvTxYsXjaeeesrIkSOHDiCMfe3fv992/5w5c4yQkBAduLhChQqGj4+PDu5769YtY+jQoUbBggWN4OBgo06dOjqgoT08FvvF8+Jcp0yZos+V3jp16mS0bNnSYV3dunWN5557zvBUeHssXbrU1YeRKeB98sknnxiejGXAMgCWAcsgM5eB22TqVq1aJefPn5cRI0Y4vd9sd3b58mWNou+77z6NqFeuXClnzpyRTp06OWw/b948yZIli/zxxx86ByumBPv555/1vq+//lqmTZsmH3/8sRw4cECr4FAdaerZs6c+93fffSebNm1CYCyPPfaYxMTEOMwjOmnSJPnkk080ms+XL58MGDBAt1+0aJHO+Ypq5BYtWug+AMeCTBm2w/QjDz/8sE5TlhFwXJiP1l7z5s11PXkuZJlxvSKDiSoHT8QyYBkAy4Bl4BZlYLiJSZMmaeYEWbLkjBs3zmjWrJnDun///Vcfu2/fPlum7oEHHnDYpnbt2sbIkSP177ffftsoW7asER0dnej5kZHDc23YsMG27vz585pZW7JkiS3bhm22b99u2+bYsWOasTt58qTD8z3y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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "stride = 16\n", "agg_d1, agg_n1 = aggregate(d1, n1, stride)\n", "agg_d2, agg_n2 = aggregate(d2, n2, stride)\n", "agg_d1, agg_n1, agg_d2, agg_n2 = [list(map(int, await mpc.output(_))) for _ in (agg_d1, agg_n1, agg_d2, agg_n2)]\n", "T1_, E1_ = events_from_table(agg_d1, agg_n1)\n", "T2_, E2_ = events_from_table(agg_d2, agg_n2)\n", "T1_, T2_ = [t * stride for t in T1_], [t * stride for t in T2_]\n", "kmf1_ = KaplanMeierFitter(label='1=Maintained').fit(T1_, E1_)\n", "kmf2_ = KaplanMeierFitter(label='2=Not maintained').fit(T2_, E2_)\n", "plot_fits(kmf1_, kmf2_, 'Aggregated Kaplan-Meier survival curves', 'weeks')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Picking `stride = 16` achieves a reasonable balance between privacy and utility. To enhance both privacy and utility at the same time, one may look for differentially private randomization techniques, adding a suitable type of noise to the Kaplan-Meier curves. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Secure Logrank Tests\n", "\n", "The function `logrank_test()` performs a secure logrank test on a secret-shared dataset, similar to function `lifelines.statistics.logrank_test()` used above for a dataset in the clear. The input parameter `secfxp` specifies the secure type to be used for fixed-point arithmetic, and the output is an instance of `lifelines.statistics.StatisticalResult`:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.06533929495491471\n" ] } ], "source": [ "print((await logrank_test(secfxp, d1, d2, n1, n2)).p_value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Relying solely on p-values is in general not a good idea, and this is especially true when handling otherwise (mostly) hidden data. Together with the aggregated curves, however, the p-value may lead to a useful conclusion for a study. \n", "\n", "The function `logrank_test()` uses one secure fixed-point division per time moment in $1..maxT$. Even though these divisions can all be done in parallel, the total effort is significant when $maxT$ is large. However, \"most of the time\" there is actually no event happening and no divisions need to be performed for these time moments. E.g., in the survival tables for the aml dataset above, there are only 7 time moments with nonzero `d1` entries on the entire timeline $1..161$, and only 9 time moments with nonzero `d2` entries.\n", "\n", "Therefore, it may be advantageous to first extract the nonzero rows of the survival tables, and then limit the computation of the logrank test to those rows. The extraction needs to be done obliviously, not leaking any information about (the location of) the nonzero entries of the survival tables. To prevent this oblivious extraction step from becoming a bottleneck, however, we will actually exploit the fact that the aggregate curves are revealed anyway. We may simply use `agg_d1` and `agg_d2` to bound the number of events per stride, and extract the nonzero rows obliviously and efficiently for each stride. \n", "This is basically what the function `agg_logrank_test()` does:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0653392252021686\n" ] } ], "source": [ "print((await agg_logrank_test(secfxp, d1, d2, n1, n2, agg_d1, agg_d2, stride)).p_value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Even for a small dataset like aml, the speedup is already noticeable. For larger datasets, the speedup gets really substantial, as can be noticed for some of the other datasets included with the [kmsurival.py](kmsurvival.py) demo. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "We end with two complete runs of the demo on the aml dataset, showing the Chi2 test statistic and p-value for each logrank test. \n", "\n", "The help message included with the demo shows the command line options:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Showing help message for kmsurvival.py, if available:\n", "\n", "usage: kmsurvival.py [-h] [-i I] [-s S] [-a A] [--collapse] [--print-tables]\n", " [--plot-curves]\n", "\n", "options:\n", " -h, --help show this help message and exit\n", " -i, --dataset I dataset 0=btrial(default) 1=waltons 2=aml 3=lung 4=dd\n", " 5=stanford_heart_transplants 6=kidney_transplant\n", " -s, --stride S interval length for aggregated events\n", " -a, --accuracy A number of fractional bits\n", " --collapse days->weeks->month->years\n", " --print-tables print survival tables\n", " --plot-curves plot survival curves\n" ] } ], "source": [ "!python kmsurvival.py -h" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Complete Run: 5 logrank tests + survival curves\n", "To show the plots of the survival curves the `main()` function of the demo is called directly from a notebook cell:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using secure fixed-point numbers: SecFxp64:32\n", "Dataset: aml, with 1-party split, time 1 to 161 (stride 16) weeks\n", "Chi2=3.396389, p=0.065339 for all events in the clear\n", "Chi2=3.396389, p=0.065339 for own events in the clear\n", "Chi2=2.685357, p=0.101275 for aggregated events in the clear\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnQAAAG6CAYAAACBY9uWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8RklEQVR4nO3dB3wT9fsH8KdNN6vMljJlU6aCbMUBgiIyVLZUUBQEBZH5V8DFkq2ibHAwFRAE2TIE2Uv2kiWyN91N7v/6fPklJm26m7Z3+bxfr0Bzd7m7b3JJnjzf5aFpmiZEREREpFueWX0CRERERJQ+DOiIiIiIdI4BHREREZHOMaAjIiIi0jkGdEREREQ6x4COiIiISOcY0BERERHpHAM6IiIiIp1jQEdERESkcwzoiCjLfPzxx+Lh4SF6VbJkSXn99dddtv9Nmzap5wf/622feF7w/KTWuXPn1L7mzJmT7LZpPUZq4DxwPjgvouyMAR25NeuHtfXm5+cn5cqVk169esnVq1cz7DgREREqeMnIL1Gr6OhoGThwoISEhIi/v7/Url1b1q1bJ0bz66+/SsOGDaVQoUISEBAgpUqVkjZt2sjq1auz+tSIdGHevHkyceLErD4NchEvV+2YSE8+/fRTeeSRRyQqKkq2bt0q3377rfz2229y+PBhFTxkRED3ySefqL+feuopyUjIUvz888/Sp08fKVu2rApSX3jhBdm4caM0aNBAjGDs2LHSv39/FdANHjxYvSanT5+W9evXy4IFC6Rp06ZZcl4nTpwQT099/S5+8sknJTIyUnx8fFx6nOnTp4vFYkn140qUKKHOz9vb2yXn5e4BHT7T8FlBxsOAjkhEnn/+ealZs6b6+80335T8+fPL+PHjZdmyZdK+ffs07xdfaDExMeIqu3btUgHNmDFjpF+/fmpZ586dpXLlyjJgwAD5888/Re/i4uLks88+k8aNG8vatWsTrL927VqGHQuBd2oCeF9fX9EbBKDIRLtaWgMya6aciFJHXz8tiTLJM888o/4/e/asLUNUr149FeihWrNGjRoqK+bsywjVtXPnzpVKlSqpL/wpU6ZIwYIF1Xpk6azVu6iCnT17tvp7//79CfY1YsQIMZlMcunSpUTPE+eAbd566y3bMnwZvvHGG7J9+3a5ePGibfmNGzfk+PHjKmhJDs4LzwGqN1GG0NBQlbWMD+2XXnzxRVWVjIAYz02VKlVsVctLlixR93FOeM6clTM5OO979+5J/fr1na7HOSbX3slZGy9kShH47t27V2WtEMj93//9nyoPqnOdqVu3ri3wj9+Gbs+ePeoY3333XYLHrVmzRq1bsWKFun/+/Hl55513pHz58uo5w3X16quvZko7raSei6NHj8rTTz+tnosiRYrIF198keDx//zzj7Rs2VJy5Mihnvv3339fVfsn1b4tNjZW8uXLJ126dEmwHV5bXB/WHySJtaH75Zdf1DliW/y/dOnSFJUtsX3+9ddf6hzxWmOfwcHB0rVrV7l586akFd5fr7zyiior9olrZfny5bb1qblGAO99nFNQUJB6H+IzZdasWU7LvGjRIhk+fLgULVpUHfvZZ59VWWz713jlypXq2rN+Btm3P/zqq6/U/vHa582bV507MnqkHwzoiJw4c+aM+h9ftDBp0iR59NFHVdUsAi0vLy/1BYwPyPh+//139SXXtm1b9bjHH3/cFgy1atVKfvjhB3Vr3bq1+vDHFzoCwPiwDB/C+GJNDAIktPnLnTu3w/JatWqp/w8cOGBb9vXXX0vFihVVVi85OF9UfSHAGTdunBQrVkwFIJMnT06wLb40OnToIM2bN5eRI0fK7du31d84fzwPnTp1UoEsnlO0eUttNRyCBjxHaEN369YtyUj48kZ2tnr16qptEYIZvG4I5Hfv3u2wLb4Id+zYIe3atXO6L3wBIjjAF2t8CxcuVF+STZo0Ufexb2RPsa8vv/xSunfvLhs2bFCvd0oCblfA64aq62rVqqnXvEKFCqpt5qpVq2zboCoUgQKCD/xw+fDDD+WPP/5Q2eDksnW49hGUxc9YYxkCwsSeV0Bm9uWXX1ZBCK4xBJQIDhEgpRXamf79999qPwhmcHxku9FcQdO0VO/vyJEjUqdOHTl27JgMGjRIPYcIenGu1uAzNdcI2vBif2hWgOcanyVlypRRP9actYMbNWqUOg4CYzRLwLXasWNH23q8VrjOCxQoYPsMsu4H1ePvvfee+uGGZXi/YtudO3em+nmgLKQRubHZs2fjk1tbv369dv36de3ixYvaggULtPz582v+/v7aP//8o7aLiIhweFxMTIxWuXJl7ZlnnnFYjn15enpqR44ccViOfWPdsGHDEpxD+/bttZCQEM1sNtuW7du3T22P80tKpUqVEpwD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r5rFfWTNSpcurcaEy0jjx49XwRaGA0FQh6phnFN6FClSRFWDImBDmz30qkWghTKiVy/KiWFYEGClF84XgePatWtVYFynTh2ZMGGCCioBx126dKlERkZKrVq15M0337T1gCUiIiL344GeEVl9EkRERESUdm47lysRERGRUTCgIyIiItI5BnREREREOseAjoiIiEjnGNARERER6RwDOieeeuop6dOnT4ZvS0REROQKug3o/vnnHzV7A8Z/i2/OnDlqDte0wqDEGBQ5q2AGiA4dOqjBgzHmnLOA0To7Bcbbww2DDe/atUuM6tKlS9KpUyc1kDMGdcag1nv27BGjGTlypBp7MFeuXFKoUCFp2bKlmjXE6CZPnqwGG8fUdrVr1zb0tcyyGpM7ldXdyjtZJ2XVbUCHoK1NmzZqloSdO3dmyD6t86/my5dPfaFmlejoaDXY8kcffSTVqlVzus2mTZukffv2snHjRjUTR7FixeS5555TgY/R3L59W+rXr6/mv121apUcPXpUxo0bpwJZo9m8ebP07NlTTeWG+YhjY2PV6xoeHi5GtXDhQunbt68MGzZM9u3bp655DK597do1MRqWlWU1Ancq70I9lVXTIYvFopUqVUpbvXq1NnDgQK1bt262dRs3bsRAyQ63YcOGOd0PllerVk2bPn26VrJkSc3DQ42zrDVs2FDr3bu3bbvJkydrZcqU0Xx9fbVChQppL7/8sm1d/G1XrFih5c6dW/vxxx8zpKzx95+YuLg4LVeuXNp3332nGQ1e4wYNGmju6Nq1a+oa3rx5s2ZUtWrV0nr27Gm7bzabtZCQEG3kyJGa0bCsLKsRuFN5a+morLrM0CErFRERoaoZUQ2H6besGQxM9zVx4kTJnTu3qrrErV+/fonu6/Tp07J48WJVzXrgwIEE61Gt995776mpylD1tXr1annyySed7mvevHkqazZ37lw1x21mwvOBbA6yi0azfPlyqVmzprz66quqGvLRRx9VVc7u4O7du+p/I76u1qw4ps7De9kKzQxwH5lnI2FZWVYjcKfyxuisrLoM6GbOnCnt2rUTk8mk2tCVKlVKfvrpJ7UO7ery5MkjHh4eEhwcrG45c+ZM8gX7/vvvVZBQtWrVBOsvXLggOXLkkBdffFHNpYrtEOA5q2N/55135Ndff1XbZraBAwdKSEiIw4VnFH///bd8++23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6Y07lZdlZVn1XlZDllfTAWuXYWe3+fPnO2zbpk0btXzWrFkJ9nPy5EmtVatWWmBgoObv769VqFBB69Onj2axWGzDlvTu3dvhMS1atNDCwsJs95cvX66VKVNG8/LyUsOWREdHa+3atdOKFSum+fj4aCEhIVqvXr20yMhIzdU2btyoVa9eXR0Xw7PMnj1bMyIMx1K4cGFVziJFiqj7p0+f1oxq4cKF6vVEeYODg7WePXtqd+7c0fQG16ez96z1/YTr1dl6+6GC9MSdysuysqx6L6sRy+uBf7I6qCQiIiKitDNUGzoiIiIid8SAjoiIiEjnGNARERER6RwDOiIiIiKdY0BHREREpHMM6IiIiIh0jgEdERERkc4xoCMiIiLSOQZ0RERERDrHgI6IiIhI5xjQEREREekcAzoiIiIinWNAR0RERKRzDOiIiIiIdI4BHREREZHOMaAjIiIi0jkGdEREREQ6x4COiIiISOcY0BERERHpHAM6IiIiIp1jQEdERESkcwzoiIiIiHSOAR0RERGRzjGgIyIiItI5BnREREREOseAjoiIiEjnGNARERER6RwDOiIiIiLRt/8HOStgr7jS60kAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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/b/S2UXuwmxaREREGQR7uRIRERHZHAM6IiIiIptjQEdERERkcwzoiIiIiGyOAR0RERGRzTGgI0ojDE1CRESUkTCgI0ojBnRERJTRMKAjIiIisjkOLEwZwvX4eEmIS5CMyj8+454bERERAzryqEB/PwkJ8per8YbExsZJRuUff2OqiLj4BAkI8OjpEBERWTCgI48KDQqQMhFZJD4os0hQuGRYcdEi6/77M8EQYTxHREQZCQM68rjgAH+RoID/bhlWRj43IiLydewUQURERGRzDOhEZOLEiVKsWDEJDQ2VmjVryoYNG1L1uDlz5oifn5+0bNnS7edIRERElByfD+jmzp0rffr0kaFDh8off/whlStXliZNmsipU6dSfNyhQ4ekb9++Ur9+/XQ7VyIiIiJXfD6gGzdunHTt2lU6deok5cuXl0mTJkl4eLhMnz492cfEx8dLhw4d5M0335TixYun6/kSERERJebTAV1sbKxs3rxZGjVq5Fjm7++v99euXZvs44YNGyZ58+aVLl26pOo4MTExcunSJcuNiIiI6E7x6YDuzJkzmm3Lly+fZTnunzhxwuVjVq1aJdOmTZMpU6ak+jgjRoyQbNmyOW6FCxe+7XMnIiIiMvl0QJdWly9flqefflqDudy5c6f6cYMGDZKLFy86bkePHnXreRIREZFv8elx6BCUBQQEyMmTJy3LcT8iIiLJ9vv379fOEM2bN3csS0j4b0qowMBA2b17t5QoUSLJ40JCQvRGRERE5A4+naELDg6WqlWryvLlyy0BGu7Xrl07yfZly5aVbdu2yZ9//um4PfbYY3L//ffr36xKJSIiIk/w6QwdYMiSyMhIqVatmtSoUUMmTJggV69e1V6v0LFjRylYsKC2g8M4dRUrVrQ8Pnv27Pp/4uVERERE6cXnA7q2bdvK6dOnZciQIdoRokqVKrJkyRJHR4kjR45oz1ciIiKijMrnAzro0aOH3lxZuXJlio+dOXOmm86KiIiIKHWYeiIiIiKyOQZ0RERERDbHgI6IiIjI5hjQEREREdkcAzoiIiIim2NAR0RERGRzDOiIiIiIbI4BHREREZHNMaAjIiIisjkGdEREREQ2x4COiIiIyOY4lytRGvnHx4hffMb+LeQfLxImIlESIheirkvecE+fERGRd7pwLVZ+2nlC7i6UXTKHeC6sYkBHlEaVVncXO9gV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REREZHMM6IiIiIhsjgEdERERkc0xoCMiIiKyOZ8N6IoVKyYTJkxw+3EOHTokfn5+8ueff7r9WDjOt99+6/bjEBERkY0DumeeeUaDhpEjR1qWI4jA8owYUCVn48aN8txzz6V6+5UrV+pzvHDhQpqOU7hwYTl+/LhUrFjxFs6SiIiIyA0ZutDQUBk1apScP39e7CxPnjwSHh7u9uMEBARIRESEBAYGuv1YRERE5JvSHNA1atRIA5QRI0akuN38+fOlQoUKEhISotm4sWPHOtY1bNhQDh8+LC+//LJmvVLK7mHdJ598Io8++qgGYOXKlZO1a9fKvn37dD+ZMmWSOnXqyP79+x2Pwd8tWrSQfPnySebMmaV69eqybNmyFDOEOM7UqVOlVatWepxSpUrJwoULHdWm999/v/6dI0cO3RbZSliyZInUq1dPsmfPLrly5dLzdD6XxFWuZqZv+fLlUq1aNT0Wzn/37t2W8/vuu+/k3nvv1QC6ePHi8uabb0pcXJxj/d69e+W+++7T9eXLl5eff/45xdeDiIiIvJf/rWSchg8fLh988IH8888/LrfZvHmztGnTRtq1ayfbtm2TN954QwYPHiwzZ87U9d98840UKlRIhg0bptWRuKXkrbfeko4dO2pQVLZsWXnyySfl+eefl0GDBsmmTZvEMAzp0aOHY/srV67II488okHTli1bpGnTptK8eXM5cuRIisdB0ITz/uuvv/TxHTp0kHPnzmm1KQJUQOCF833vvff0/tWrV6VPnz56Hjiev7+/BoUJCQkpHuu1117TIBePQ/auc+fOjnW///67Pt9evXrJzp07NaBF2b3zzju6Hvtu3bq1BAcHy/r162XSpEkyYMCAFI9HREREXsxIg8jISKNFixb6d61atYzOnTvr3wsWLDCcd/Xkk08ajRs3tjy2X79+Rvny5R33ixYtaowfP/6mx8R+X3/9dcf9tWvX6rJp06Y5ln355ZdGaGhoivupUKGC8cEHHyR7/MTHuXLlii778ccf9f6KFSv0/vnz51M8zunTp3W7bdu26f2DBw/q/S1btlj2s2zZMsdjFi9erMuioqL0/oMPPmgMHz7cst/PP//cyJ8/v/69dOlSIzAw0Dh27JhjPc4T+8BrQURERL7llnu5oh3dp59+Krt27UqyDsvq1q1rWYb7qCaMj49P87EqVark+BvVqHD3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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Chi2=3.396389, p=0.065339 for all events secure, exploiting aggregates\n", "Chi2=3.396387, p=0.065339 for all 161 time moments secure\n" ] } ], "source": [ "import sys\n", "from kmsurvival import main\n", "sys.argv[1:] = ['-i2', '--plot-curves']\n", "await main()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Complete Run: 5 logrank tests + survival tables\n", "To run the demo outside this notebook using a shell command with three parties on localhost, for instance, we add `-M3` as command line option. As the plots cannot be shown this way, we print the survival tables instead. At the same time, we show that we can just as well use [np_kmsurival.py](np_kmsurvival.py), which is the NumPy counterpart of the demo:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using secure fixed-point numbers: SecFxp64:32\n", "Dataset: aml, with 3-party split, time 1 to 41 (stride 4) months\n", "2025-10-05 16:21:49,007 Logrank test on all events in the clear.\n", "Chi2=2.675902, p=0.101878 for all events in the clear\n", "2025-10-05 16:21:49,023 Start MPyC runtime v0.10.6\n", "2025-10-05 16:21:50,776 All 3 parties connected.\n", "2025-10-05 16:21:50,797 Logrank test on own events in the clear.\n", "Chi2=0.510517, p=0.474915 for own events in the clear\n", " removed observed censored entrance at_risk\n", "event_at \n", "0.0 0 0 0 4 4\n", "3.0 1 1 0 0 4\n", "5.0 1 1 0 0 3\n", "8.0 1 1 0 0 2\n", "12.0 1 1 0 0 1\n", " removed observed censored entrance at_risk\n", "event_at \n", "0.0 0 0 0 4 4\n", "2.0 1 1 0 0 4\n", "3.0 1 1 0 0 3\n", "7.0 1 1 0 0 2\n", "11.0 1 1 0 0 1\n", "2025-10-05 16:21:50,842 Logrank test on aggregated events in the clear.\n", "Chi2=2.685357, p=0.101275 for aggregated events in the clear\n", " removed observed censored entrance at_risk\n", "event_at \n", "0.0 0 0 0 11 11\n", "4.0 3 2 1 0 11\n", "8.0 4 3 1 0 8\n", "12.0 3 2 1 0 4\n", "44.0 1 0 1 0 1\n", " removed observed censored entrance at_risk\n", "event_at \n", "0.0 0 0 0 12 12\n", "4.0 6 5 1 0 12\n", "8.0 3 3 0 0 6\n", "12.0 3 3 0 0 3\n", "2025-10-05 16:21:50,872 Optimized secure logrank test on all individual events.\n", "2025-10-05 16:21:50,872 Interval 1 (time 1 to 4) # observed events = 7\n", "2025-10-05 16:21:50,874 Interval 2 (time 5 to 8) # observed events = 6\n", "2025-10-05 16:21:50,875 Interval 3 (time 9 to 12) # observed events = 5\n", "2025-10-05 16:21:50,876 Interval 4 (time 13 to 16) # observed events = 0\n", "2025-10-05 16:21:50,877 Interval 5 (time 17 to 20) # observed events = 0\n", "2025-10-05 16:21:50,877 Interval 6 (time 21 to 24) # observed events = 0\n", "2025-10-05 16:21:50,877 Interval 7 (time 25 to 28) # observed events = 0\n", "2025-10-05 16:21:50,877 Interval 8 (time 29 to 32) # observed events = 0\n", "2025-10-05 16:21:50,877 Interval 9 (time 33 to 36) # observed events = 0\n", "2025-10-05 16:21:50,877 Interval 10 (time 37 to 40) # observed events = 0\n", "2025-10-05 16:21:50,877 Interval 11 (time 41 to 41) # observed events = 0\n", "Chi2=2.675905, p=0.101877 for all events secure, exploiting aggregates\n", "2025-10-05 16:21:51,123 Secure logrank test for all 41 time moments.\n", "Chi2=2.675904, p=0.101877 for all 41 time moments secure\n", "2025-10-05 16:21:51,789 Stop MPyC -- elapsed time: 0:00:01.012|bytes sent: 1577157\n" ] } ], "source": [ "!python np_kmsurvival.py -M3 -i2 --print-tables --collapse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To try out other runs of the demo for yourself, remember to consult MPyC's help message, using the `-H` option:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "usage: kmsurvival.py [-V] [-H] [-h] [-C ini] [-P addr] [-M m] [-I i] [-T t]\n", " [-B b] [--ssl] [-W w] [-L l] [-K k] [--log-level ll]\n", " [--no-log] [--no-async] [--no-barrier] [--no-gmpy2]\n", " [--no-numpy] [--no-uvloop] [--no-prss] [--mix32-64bit]\n", " [--output-windows] [--output-file] [-f F]\n", "\n", "MPyC help:\n", " -V, --VERSION print MPyC version number and exit\n", " -H, --HELP print this help message for MPyC and exit\n", " -h, --help print help message for this MPyC program (if any)\n", "\n", "MPyC configuration:\n", " -C, --config ini use ini file, defining all m parties\n", " -P addr use addr=host:port per party (repeat m times)\n", " -M m use m local parties (and run all m, if i is not set)\n", " -I, --index i set index of this local party to i, 0<=i