- Original cifar10 (samples  $\mathbb{P}$ ) is compared to adversarial-cifar10 (samples  $\mathbb{Q}$ ) following [19], where adversarial-cifar10 is constructed by [86] for distribution shift detection. To construct two samples with one identical distribution, we select randomly between original cifar10 and adversarial-cifar10 and drawn two samples from the same dataset. The image is scaled to  $32 \times 32$  and we set the sample size for training to 200 and for testing to 50.
- mnist contains 70000 handwritten digit images, we compare true mnist data (samples  $\mathbb{P}$ ) to Fake-mnist data (samples  $\mathbb{Q}$ ) following [39], where the Fake-mnist data is drawn from a pre-trained deep convolutional generative adversarial network [87] and the image is scaled to  $32 \times 32$ . To construct two samples with one identical distribution, we select randomly between original mnist and Fake-mnist and drawn two samples from the same dataset. We set the sample size for training to 600 and for testing to 150.
- santan (santandercustomersatisfaction) is a categorical dataset with 2 classes. For constructing two different samples, we set the sample fraction for one sample to [0.8, 0.2] and for the other sample to [0.25, 0.75]; To construct two samples with one identical distribution, we set the same sample fraction [0.5, 0.5] for two samples. We set the sample size for training to 1000 and for testing to 250.
- codrna is a categorical dataset with 2 classes. For constructing two different samples, we set the sample fraction for one sample to [0.7, 0.3] and for the other sample to [0.35, 0.65]; To construct two samples with one identical distribution, we set same sample fraction [0.5, 0.5] for two samples. We set the sample size for training to 1000 and for testing to 250.
- sea50 is a categorical dataset with 2 classes. For constructing two different samples, we set the sample fraction for one sample to [0.7, 0.3] and for the other sample to [0.3, 0.7]; To construct two samples with one identical distribution, we set same sample fraction [0.5, 0.5] for two samples. We set the sample size for training to 5000 and for testing to 1250.
- adult is a categorical dataset with 2 classes. For constructing two different samples, we set the sample fraction for one sample to [0.6, 0.4] and for the other sample to [0.4, 0.6]; To construct two samples with one identical distribution, we set same sample fraction [0.5, 0.5] for two samples. We set the sample size for training to 5000 and for testing to 1250.
- labor is a categorical dataset with 2 classes. For constructing two different samples, we set the sample fraction for one sample to [0.6, 0.4] and for the other sample to [0.45, 0.55]; To construct two samples with one identical distribution, we set same sample fraction [0.5, 0.5] for two samples. We set the sample size for training to 5000 and for testing to 1250.
- poker is a categorical dataset with 2 classes. For constructing two different samples, we set the sample fraction for one sample to [0.2, 0.8] and for the other sample to [0.8, 0.2]; To construct two samples with one identical distribution, we set same sample fraction [0.5, 0.5] for two samples. We set the sample size for training to 3000 and for testing to 750.