From 50ed30c3e305494a671380b0127281802852aaad Mon Sep 17 00:00:00 2001 From: Shreyas Kakkar <92545590+ShreyasK06@users.noreply.github.com> Date: Mon, 20 Jul 2026 12:30:40 -0400 Subject: [PATCH 1/2] Fix outdated Tutorial_DiscordMERLIN.ipynb --- docs/WIP/Tutorial_DiscordMERLIN.ipynb | 368 +++----------------------- 1 file changed, 34 insertions(+), 334 deletions(-) diff --git a/docs/WIP/Tutorial_DiscordMERLIN.ipynb b/docs/WIP/Tutorial_DiscordMERLIN.ipynb index d0667b0eb..3516a1783 100644 --- a/docs/WIP/Tutorial_DiscordMERLIN.ipynb +++ b/docs/WIP/Tutorial_DiscordMERLIN.ipynb @@ -232,10 +232,11 @@ } ], "source": [ - "from scipy.io import loadmat\n", - "\n", - "data = loadmat(\"MERLIN_datasets\\\\NoisySine.mat\") \n", - "ts = data['T'].reshape(-1,)\n", + "np.random.seed(0)\n", + "n = 2000\n", + "t = np.linspace(0, 8 * np.pi, n)\n", + "ts = np.sin(t) + 0.05 * np.random.randn(n)\n", + "ts[750:800] += 5.0 # inject a clear anomaly\n", "\n", "#visualize data\n", "plt.plot(ts)\n", @@ -316,7 +317,7 @@ "metadata": {}, "outputs": [], "source": [ - "def _find_candidates(T, m, M_T, Σ_T, r, init_cands=None, right=True, finite=False):\n", + "def _find_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, r, init_cands=None, right=True, finite=False):\n", " \"\"\"\n", " For a time series T, this function finds a set of candidates whose distance to all of their right (left) neighbors \n", " is at least `r` when parameter `right` is TRUE (FALSE). If there is no such candidate, all elements of is_cands\n", @@ -398,8 +399,8 @@ " #shift=m-1: convert from subsequence space to time series space\n", " \n", " for start, stop in cand_idx_chunks:\n", - " QT = core._sliding_dot_product(T[i:i+m], T[start:stop]) \n", - " D = core._mass(T[i:i+m], T[start:stop], QT, M_T[i], Σ_T[i], M_T[start:stop-m+1], Σ_T[start:stop-m+1])\n", + " QT = core.sliding_dot_product(T[i:i+m], T[start:stop]) \n", + " D = core._mass(T[i:i+m], T[start:stop], QT, M_T[i], Σ_T[i], M_T[start:stop-m+1], Σ_T[start:stop-m+1], T_subseq_isconstant[i], T_subseq_isconstant[start:stop-m+1])\n", "\n", " mask = np.flatnonzero(D < r) \n", " is_cands[start:stop-m+1][mask] = False\n", @@ -421,7 +422,7 @@ "m = 512 \n", "r = 10.27 #r is not required for MERLIN. This is just to show the code works in this private function.\n", "\n", - "T, M_T, Σ_T = core.preprocess(ts, m)" + "T, M_T, Σ_T, T_subseq_isconstant = core.preprocess(ts, m)" ] }, { @@ -459,7 +460,7 @@ } ], "source": [ - "is_cands = _find_candidates(T, m, M_T, Σ_T, r, init_cands=None, right=True)\n", + "is_cands = _find_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, r, init_cands=None, right=True)\n", "cand_index = np.flatnonzero(is_cands)\n", "cand_index" ] @@ -529,7 +530,7 @@ } ], "source": [ - "is_cands = _find_candidates(T, m, M_T, Σ_T, r, init_cands=is_cands, right=False)\n", + "is_cands = _find_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, r, init_cands=is_cands, right=False)\n", "cands = np.flatnonzero(is_cands)\n", "cands" ] @@ -595,7 +596,7 @@ "metadata": {}, "outputs": [], "source": [ - "def _get_approx_P(T, m, M_T, Σ_T, s):\n", + "def _get_approx_P(T, m, M_T, Σ_T, T_subseq_isconstant, s):\n", " \"\"\"\n", " This function returns the (approximate) matrix profile. \n", " \n", @@ -634,6 +635,8 @@ " Σ_T,\n", " M_T,\n", " Σ_T,\n", + " T_subseq_isconstant,\n", + " T_subseq_isconstant,\n", " indices,\n", " s,\n", " excl_zone,\n", @@ -644,73 +647,11 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "f504fc53", "metadata": {}, "outputs": [], - "source": [ - "def _refine_candidates(T, m, M_T, Σ_T, is_cands):\n", - " \"\"\"\n", - " For a time series `T`, this function searches the candidates (i.e. subsequences indicated by `is_cands`) and \n", - " return candidates discords in descending order according to their distance to their nearest neighbor.\n", - " After finding the top-discord among candidates, the discord subsequence and its trivial neighbors will be excluded \n", - " from candidates before finding the next top-discord.\n", - " \n", - " Parameters\n", - " ---------\n", - " T : numpy.ndarray\n", - " The time series or sequence from which the top discord (out of selected candidates) is discovered. \n", - " \n", - " m : int\n", - " Window size\n", - " \n", - " M_T : numpy.ndarray\n", - " Sliding mean of `T`\n", - " \n", - " Σ_T : numpy.ndarray\n", - " Sliding standard deviation of `T`\n", - " \n", - " is_cands : numpy.ndarray\n", - " is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n", - " when `is_cands[i]` is True, a subsequence with start index `i` is a discord candidate.\n", - " \n", - " Returns\n", - " ---------\n", - " out : numpy.ndarray\n", - " is a 2-dim array with three columns. The first column is indices of discords, sorted according to their \n", - " corresponding distances to their nearest neighbor, provided in the second column. \n", - " The third column is the indices of the discords' nearest neighbor. \n", - " \"\"\" \n", - " excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM)) \n", - " k = T.shape[0] - m + 1\n", - " \n", - " P = np.full(k, np.NINF, dtype=np.float64) # matrix profile\n", - " I = np.full(k, -1, dtype=np.int64) # index of Nearest Neighbor \n", - " \n", - " for idx in np.flatnonzero(is_cands): \n", - " Q = T[idx:idx+m]\n", - " QT = core._sliding_dot_product(Q, T)\n", - " D = core._mass(Q, T, QT, M_T[idx], Σ_T[idx], M_T, Σ_T)\n", - " core.apply_exclusion_zone(D, idx, excl_zone, val=np.inf)\n", - " \n", - " nn_idx = np.argmin(D) \n", - " if D[nn_idx] == np.inf:\n", - " nn_idx = -1\n", - " P[idx] = D[nn_idx]\n", - " I[idx] = nn_idx\n", - " \n", - " discords_idx = []\n", - " discords_dist = []\n", - " discords_nn_idx = [] \n", - " while np.any(P>=0):\n", - " idx = np.argmax(P)\n", - " discords_idx.append(idx)\n", - " discords_dist.append(P[idx])\n", - " discords_nn_idx.append(I[idx]) \n", - " core.apply_exclusion_zone(P, idx, excl_zone, np.NINF)\n", - " \n", - " return discords_idx, discords_dist, discords_nn_idx" - ] + "source": "def _refine_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, is_cands):\n \"\"\"\n For a time series `T`, this function searches the candidates (i.e. subsequences indicated by `is_cands`) and \n return candidates discords in descending order according to their distance to their nearest neighbor.\n After finding the top-discord among candidates, the discord subsequence and its trivial neighbors will be excluded \n from candidates before finding the next top-discord.\n \n Parameters\n ---------\n T : numpy.ndarray\n The time series or sequence from which the top discord (out of selected candidates) is discovered. \n \n m : int\n Window size\n \n M_T : numpy.ndarray\n Sliding mean of `T`\n \n Σ_T : numpy.ndarray\n Sliding standard deviation of `T`\n \n is_cands : numpy.ndarray\n is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n when `is_cands[i]` is True, a subsequence with start index `i` is a discord candidate.\n \n Returns\n ---------\n out : numpy.ndarray\n is a 2-dim array with three columns. The first column is indices of discords, sorted according to their \n corresponding distances to their nearest neighbor, provided in the second column. \n The third column is the indices of the discords' nearest neighbor. \n \"\"\" \n excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM)) \n k = T.shape[0] - m + 1\n \n P = np.full(k, -np.inf, dtype=np.float64) # matrix profile\n I = np.full(k, -1, dtype=np.int64) # index of Nearest Neighbor \n \n for idx in np.flatnonzero(is_cands): \n Q = T[idx:idx+m]\n QT = core.sliding_dot_product(Q, T)\n D = core._mass(Q, T, QT, M_T[idx], Σ_T[idx], M_T, Σ_T, T_subseq_isconstant[idx], T_subseq_isconstant)\n core.apply_exclusion_zone(D, idx, excl_zone, val=np.inf)\n \n nn_idx = np.argmin(D) \n if D[nn_idx] == np.inf:\n nn_idx = -1\n P[idx] = D[nn_idx]\n I[idx] = nn_idx\n \n discords_idx = []\n discords_dist = []\n discords_nn_idx = [] \n while np.any(P>=0):\n idx = np.argmax(P)\n discords_idx.append(idx)\n discords_dist.append(P[idx])\n discords_nn_idx.append(I[idx]) \n core.apply_exclusion_zone(P, idx, excl_zone, -np.inf)\n \n return discords_idx, discords_dist, discords_nn_idx" }, { "cell_type": "code", @@ -730,8 +671,8 @@ ], "source": [ "s = int(0.001 * T.shape[0])\n", - "approx_P = _get_approx_P(T, m, M_T, Σ_T, s)\n", - "discords_idx, discords_dist, discords_nn_idx = _refine_candidates(T, m, M_T, Σ_T, is_cands)\n", + "approx_P = _get_approx_P(T, m, M_T, Σ_T, T_subseq_isconstant, s)\n", + "discords_idx, discords_dist, discords_nn_idx = _refine_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, is_cands)\n", "\n", "print('the index of discord is: ', discords_idx)\n", "print('distance of discord to its NN is: ', discords_dist)\n", @@ -748,45 +689,11 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "77f5a86f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - ">>> using STUMPY matrix profile to find the discord <<<\n", - "the index of discord is: [718, 906]\n", - "dist of discord to its nn is: [10.301397123538928, 10.271812911147341]\n", - "the index of nn of the discord: [278, 1283]\n" - ] - } - ], - "source": [ - "excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n", - "\n", - "mp = stumpy.stump(T, m)\n", - "P = mp[:,0].astype(np.float64) #p: matrix profile (dist of each subseq to its NN)\n", - "\n", - "mp_discords_idx = [] #np.argmax(P)\n", - "mp_discords_dist = [] #P[mp_discord_idx]\n", - "mp_discords_nn_idx = [] #mp[mp_discord_idx,1]\n", - "\n", - "for i in range(2): #2: number of discords discovered from candidates in _refine_candidates\n", - " if np.any(P>=0):\n", - " idx = np.argmax(P)\n", - " mp_discords_idx.append(idx)\n", - " mp_discords_dist.append(P[idx])\n", - " mp_discords_nn_idx.append(mp[idx,1])\n", - " core.apply_exclusion_zone(P, idx, excl_zone, np.NINF)\n", - " \n", - "\n", - "print('>>> using STUMPY matrix profile to find the discord <<<')\n", - "print('the index of discord is: ', mp_discords_idx)\n", - "print('dist of discord to its nn is: ', mp_discords_dist)\n", - "print('the index of nn of the discord: ', mp_discords_nn_idx)" - ] + "outputs": [], + "source": "excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n\nmp = stumpy.stump(T, m)\nP = mp[:,0].astype(np.float64) #p: matrix profile (dist of each subseq to its NN)\n\nmp_discords_idx = [] #np.argmax(P)\nmp_discords_dist = [] #P[mp_discord_idx]\nmp_discords_nn_idx = [] #mp[mp_discord_idx,1]\n\nfor i in range(2): #2: number of discords discovered from candidates in _refine_candidates\n if np.any(P>=0):\n idx = np.argmax(P)\n mp_discords_idx.append(idx)\n mp_discords_dist.append(P[idx])\n mp_discords_nn_idx.append(mp[idx,1])\n core.apply_exclusion_zone(P, idx, excl_zone, -np.inf)\n \n\nprint('>>> using STUMPY matrix profile to find the discord <<<')\nprint('the index of discord is: ', mp_discords_idx)\nprint('dist of discord to its nn is: ', mp_discords_dist)\nprint('the index of nn of the discord: ', mp_discords_nn_idx)" }, { "cell_type": "markdown", @@ -819,138 +726,11 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "795df761", "metadata": {}, "outputs": [], - "source": [ - "def _discords(T, m, k=1, r=None, decay=None, s=None, include=None, finite=False):\n", - " \"\"\"\n", - " For a time series `T`, this function finds the top-k discords of length `m` with method MERLIN.\n", - "\n", - " Parameters\n", - " ---------\n", - " T : numpy.ndarray\n", - " The time series or sequence from which to get the top-k discords\n", - "\n", - " m : int\n", - " Window size\n", - "\n", - " k : int\n", - " number of discords to be discovered.\n", - "\n", - " r : float, default None\n", - " An initial value for r. An ideal value for r should be close to discord distance. \n", - " If you do not have a good guess about r, it is recommended leaving this parameter to None.\n", - " The smallest value allowed for r is config.STUMPY_MIN_DISCORD_DISTANCE, which is set to 1e-6 by default.\n", - " \n", - " decay: numpy.ndarray, default None\n", - " a 1-dim array of length k with values each between 0 and 1. \n", - " The decay[i] represents the rate of decrease of `r` for i-th discord. \n", - "\n", - " s : int, default None\n", - " The sampling interval, that defaults to int(0.001 * len(T)).\n", - "\n", - " include : ndarray, default None\n", - " is a 1-dim boolean array, whose length is the total number of subsquences in the time series.\n", - " `include[i]` is True if the subsequence with start index `i` is eligible to be considered as one of the\n", - " prospective candidates. Therefore, if `include[i]` is False, `is_cands[i]` will be False as well.\n", - " When include=None (default), all the elements of `include` are set to True.\n", - "\n", - " finite : bool, default False\n", - " If True, subsequence with infinite values will be ignored.\n", - "\n", - " Returns\n", - " --------\n", - " out : ndarray\n", - " has shape (k, 3). The i-th row cosists of information of i-th discord.\n", - " First column is the discord index. Second column is the distance of discard to its Nearest Neighbor.\n", - " And, third column is the index of discord's NearestNeighbor. The discords are sorted according to their \n", - " distances to their nearest neighbor. If number of discovered discords is less than k, the remaining rows\n", - " are filled with [-1, np.NINF, -1].\n", - "\n", - " NOTE:\n", - " (1) It is important to note that when `include[i]` is False, the subsequence `i` is still considered\n", - " as neighbors of other subsequences. This input is useful when a user wants to focus on detecting\n", - " anomaly of a portion of time series (while considering patterns in the whole time series `T` as neighbors).\n", - "\n", - " (2) Please note that the rate of change for updating `r` is not science-backed.\n", - " In MERLIN paper, they used 0.99 in some cases, and 0.95 in other cases as the rate-of-change factor.\n", - " \n", - " (3) In contrast to original work MERLIN, we use approximate matrix profile, which can help us in narrowding down our \n", - " search space. \n", - " \"\"\"\n", - " T, M_T, Σ_T = core.preprocess(T, m)\n", - " excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n", - " n = T.shape[0]\n", - " l = n - m + 1\n", - " \n", - " if m < 3:\n", - " raise ValueError(f\"the length of subsequence, {m}, cannot be less than 3.\")\n", - "\n", - " if decay is None:\n", - " decay = np.full(k, 0.99)\n", - " if np.any(decay <= 0.0) or np.any(decay >= 1.0):\n", - " raise ValueError(\"All decay values must be between 0.0 and 1.0\")\n", - "\n", - " if s is None:\n", - " s = int(0.001 * n)\n", - " approx_P = _get_approx_P(T, m, M_T, Σ_T, s)\n", - "\n", - " if include is None:\n", - " include = np.ones(l, dtype=bool)\n", - " if len(include) != l:\n", - " raise ValueError(\n", - " f\"The length of include ({len(include)}) does not match \" \n", - " f\"the total number of subsequences ({l})\"\n", - " )\n", - "\n", - " if finite:\n", - " include[~np.isfinite(M_T)] = False\n", - "\n", - " max_dist = 2.0 * np.sqrt(m) # better to do: max_dist = min(2.0 * np.sqrt(m), approx_P[include].max())\n", - " if r is None or r > max_dist:\n", - " r = max_dist\n", - " if r < 1e-6: # config.STUMPY_MIN_DISCORD_DISTANCE = 1e-6\n", - " raise ValueError(\n", - " f\" `r` ({r}) is less than `config.STUMPY_MIN_DISCORD_DISTANCE` ({config.STUMPY_MIN_DISCORD_DISTANCE}).\" \n", - " \"Try increasing `r` or decreasing `config.STUMPY_MIN_DISCORD_DISTANCE`.\"\n", - " ) \n", - " \n", - " discords_idx = np.full(k, -1, dtype=np.int64)\n", - " discords_dist = np.full(k, np.NINF, dtype=np.float64)\n", - " discords_nn_idx = np.full(k, -1, dtype=np.int64)\n", - " \n", - " i=0\n", - " r_updated = r\n", - " while np.any(include):\n", - " init_cands = include & (approx_P >= r_updated)\n", - " is_cands = _find_candidates(T, m, M_T, Σ_T, r_updated, init_cands=init_cands, right=True, finite=finite)\n", - " is_cands = _find_candidates(T, m, M_T, Σ_T, r_updated, init_cands=is_cands, right=False, finite=finite)\n", - " \n", - " if np.any(is_cands):\n", - " IDX, D, NN_IDX = _refine_candidates(T, m, M_T, Σ_T, is_cands)\n", - " for idx, dist, nn_idx in zip(IDX, D, NN_IDX):\n", - " discords_idx[i] = idx\n", - " discords_dist[i] = dist\n", - " discords_nn_idx[i] = nn_idx\n", - " core.apply_exclusion_zone(include, idx, excl_zone, val=False)\n", - " i += 1\n", - " if i==k:\n", - " break\n", - " \n", - " if r_updated <= 1e-6 or i==k: # config.STUMPY_MIN_DISCORD_DISTANCE = 1e-6\n", - " break\n", - " r_updated = max(r_updated * decay[i], 1e-6) # config.STUMPY_MIN_DISCORD_DISTANCE = 1e-6\n", - " \n", - " \n", - " out = np.empty((k,3), dtype=object)\n", - " out[:,0] = discords_idx\n", - " out[:,1] = discords_dist\n", - " out[:,2] = discords_nn_idx\n", - " \n", - " return out" - ] + "source": "def _discords(T, m, k=1, r=None, decay=None, s=None, include=None, finite=False):\n \"\"\"\n For a time series `T`, this function finds the top-k discords of length `m` with method MERLIN.\n\n Parameters\n ---------\n T : numpy.ndarray\n The time series or sequence from which to get the top-k discords\n\n m : int\n Window size\n\n k : int\n number of discords to be discovered.\n\n r : float, default None\n An initial value for r. An ideal value for r should be close to discord distance. \n If you do not have a good guess about r, it is recommended leaving this parameter to None.\n The smallest value allowed for r is config.STUMPY_MIN_DISCORD_DISTANCE, which is set to 1e-6 by default.\n \n decay: numpy.ndarray, default None\n a 1-dim array of length k with values each between 0 and 1. \n The decay[i] represents the rate of decrease of `r` for i-th discord. \n\n s : int, default None\n The sampling interval, that defaults to int(0.001 * len(T)).\n\n include : ndarray, default None\n is a 1-dim boolean array, whose length is the total number of subsquences in the time series.\n `include[i]` is True if the subsequence with start index `i` is eligible to be considered as one of the\n prospective candidates. Therefore, if `include[i]` is False, `is_cands[i]` will be False as well.\n When include=None (default), all the elements of `include` are set to True.\n\n finite : bool, default False\n If True, subsequence with infinite values will be ignored.\n\n Returns\n --------\n out : ndarray\n has shape (k, 3). The i-th row cosists of information of i-th discord.\n First column is the discord index. Second column is the distance of discard to its Nearest Neighbor.\n And, third column is the index of discord's NearestNeighbor. The discords are sorted according to their \n distances to their nearest neighbor. If number of discovered discords is less than k, the remaining rows\n are filled with [-1, np.NINF, -1].\n\n NOTE:\n (1) It is important to note that when `include[i]` is False, the subsequence `i` is still considered\n as neighbors of other subsequences. This input is useful when a user wants to focus on detecting\n anomaly of a portion of time series (while considering patterns in the whole time series `T` as neighbors).\n\n (2) Please note that the rate of change for updating `r` is not science-backed.\n In MERLIN paper, they used 0.99 in some cases, and 0.95 in other cases as the rate-of-change factor.\n \n (3) In contrast to original work MERLIN, we use approximate matrix profile, which can help us in narrowding down our \n search space. \n \"\"\"\n T, M_T, Σ_T, T_subseq_isconstant = core.preprocess(T, m)\n excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n n = T.shape[0]\n l = n - m + 1\n \n if m < 3:\n raise ValueError(f\"the length of subsequence, {m}, cannot be less than 3.\")\n\n if decay is None:\n decay = np.full(k, 0.99)\n if np.any(decay <= 0.0) or np.any(decay >= 1.0):\n raise ValueError(\"All decay values must be between 0.0 and 1.0\")\n\n if s is None:\n s = int(0.001 * n)\n approx_P = _get_approx_P(T, m, M_T, Σ_T, T_subseq_isconstant, s)\n\n if include is None:\n include = np.ones(l, dtype=bool)\n if len(include) != l:\n raise ValueError(\n f\"The length of include ({len(include)}) does not match \" \n f\"the total number of subsequences ({l})\"\n )\n\n if finite:\n include[~np.isfinite(M_T)] = False\n\n max_dist = 2.0 * np.sqrt(m) # better to do: max_dist = min(2.0 * np.sqrt(m), approx_P[include].max())\n if r is None or r > max_dist:\n r = max_dist\n if r < 1e-6: # config.STUMPY_MIN_DISCORD_DISTANCE = 1e-6\n raise ValueError(\n f\" `r` ({r}) is less than `config.STUMPY_MIN_DISCORD_DISTANCE` ({config.STUMPY_MIN_DISCORD_DISTANCE}).\" \n \"Try increasing `r` or decreasing `config.STUMPY_MIN_DISCORD_DISTANCE`.\"\n ) \n \n discords_idx = np.full(k, -1, dtype=np.int64)\n discords_dist = np.full(k, -np.inf, dtype=np.float64)\n discords_nn_idx = np.full(k, -1, dtype=np.int64)\n \n i=0\n r_updated = r\n while np.any(include):\n init_cands = include & (approx_P >= r_updated)\n is_cands = _find_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, r_updated, init_cands=init_cands, right=True, finite=finite)\n is_cands = _find_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, r_updated, init_cands=is_cands, right=False, finite=finite)\n \n if np.any(is_cands):\n IDX, D, NN_IDX = _refine_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, is_cands)\n for idx, dist, nn_idx in zip(IDX, D, NN_IDX):\n discords_idx[i] = idx\n discords_dist[i] = dist\n discords_nn_idx[i] = nn_idx\n core.apply_exclusion_zone(include, idx, excl_zone, val=False)\n i += 1\n if i==k:\n break\n \n if r_updated <= 1e-6 or i==k: # config.STUMPY_MIN_DISCORD_DISTANCE = 1e-6\n break\n r_updated = max(r_updated * decay[i], 1e-6) # config.STUMPY_MIN_DISCORD_DISTANCE = 1e-6\n \n \n out = np.empty((k,3), dtype=object)\n out[:,0] = discords_idx\n out[:,1] = discords_dist\n out[:,2] = discords_nn_idx\n \n return out" }, { "cell_type": "code", @@ -1010,69 +790,11 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "fb58320b", "metadata": {}, "outputs": [], - "source": [ - "def stumpy_top_k_discords(T, m, k=1, finite=False):\n", - " \"\"\"\n", - " This funciton use stumpy package to find the top-k discords of length m with help of matrix profile.\n", - " \n", - " Parameters\n", - " ---------\n", - " T : numpy.ndarray\n", - " The time series or sequence from which to get the top-k discords\n", - " \n", - " m : int\n", - " Window size\n", - " \n", - " k : int\n", - " number of discords to be discovered.\n", - " \n", - " finite : bool, default False \n", - " If True, subsequence with infinite values will be ignored. \n", - " \n", - " Returns\n", - " --------\n", - " out : ndarray\n", - " has shape (k, 3). The i-th row cosists of information of i-th discord.\n", - " First column is the discord index. Second column is the distance of discard to its Nearest Neighbor.\n", - " And, third column is the index of discord's NearestNeighbor. The discords are sorted according to their \n", - " distances to their nearest neighbor. If number of discovered discords is less than k, the remaining rows\n", - " are filled with [-1, np.NINF, -1].\n", - " \n", - " \"\"\"\n", - " excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n", - " \n", - " mp = stumpy.stump(T, m)\n", - " P = mp[:,0].astype(np.float64) #change the dtype to np.float64, so it can be used later in core.apply_exclusion_zone\n", - " \n", - " if finite:\n", - " P[~np.isfinite(P)] = np.NINF\n", - " \n", - " discords_idx = np.full(k, -1, dtype=np.int64)\n", - " discords_dist = np.full(k, np.NINF, dtype=np.float64)\n", - " discords_nn_idx = np.full(k, -1, dtype=np.int64)\n", - " \n", - " for i in range(k):\n", - " if np.all(P == np.NINF):\n", - " break\n", - " mp_discord_idx = np.argmax(P)\n", - " \n", - " discords_idx[i] = mp_discord_idx\n", - " discords_dist[i] = P[mp_discord_idx]\n", - " discords_nn_idx[i] = mp[mp_discord_idx,1]\n", - " \n", - " core.apply_exclusion_zone(P, discords_idx[i], excl_zone, val=np.NINF)\n", - " \n", - " out = np.empty((k, 3), dtype = object)\n", - " out[:, 0] = discords_idx\n", - " out[:, 1] = discords_dist\n", - " out[:, 2] = discords_nn_idx\n", - " \n", - " return out" - ] + "source": "def stumpy_top_k_discords(T, m, k=1, finite=False):\n \"\"\"\n This funciton use stumpy package to find the top-k discords of length m with help of matrix profile.\n \n Parameters\n ---------\n T : numpy.ndarray\n The time series or sequence from which to get the top-k discords\n \n m : int\n Window size\n \n k : int\n number of discords to be discovered.\n \n finite : bool, default False \n If True, subsequence with infinite values will be ignored. \n \n Returns\n --------\n out : ndarray\n has shape (k, 3). The i-th row cosists of information of i-th discord.\n First column is the discord index. Second column is the distance of discard to its Nearest Neighbor.\n And, third column is the index of discord's NearestNeighbor. The discords are sorted according to their \n distances to their nearest neighbor. If number of discovered discords is less than k, the remaining rows\n are filled with [-1, np.NINF, -1].\n \n \"\"\"\n excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n \n mp = stumpy.stump(T, m)\n P = mp[:,0].astype(np.float64) #change the dtype to np.float64, so it can be used later in core.apply_exclusion_zone\n \n if finite:\n P[~np.isfinite(P)] = -np.inf\n \n discords_idx = np.full(k, -1, dtype=np.int64)\n discords_dist = np.full(k, -np.inf, dtype=np.float64)\n discords_nn_idx = np.full(k, -1, dtype=np.int64)\n \n for i in range(k):\n if np.all(P == -np.inf):\n break\n mp_discord_idx = np.argmax(P)\n \n discords_idx[i] = mp_discord_idx\n discords_dist[i] = P[mp_discord_idx]\n discords_nn_idx[i] = mp[mp_discord_idx,1]\n \n core.apply_exclusion_zone(P, discords_idx[i], excl_zone, val=-np.inf)\n \n out = np.empty((k, 3), dtype = object)\n out[:, 0] = discords_idx\n out[:, 1] = discords_dist\n out[:, 2] = discords_nn_idx\n \n return out" }, { "cell_type": "code", @@ -1249,36 +971,11 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "d17340f6", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "df_taxi = pd.read_csv(\"MERLIN_datasets\\\\NAB_NYC_TAXI\\\\data\\\\realKnownCause\\\\nyc_taxi.csv\") \n", - "df_taxi = df_taxi.set_index(['timestamp'])\n", - "\n", - "data = df_taxi.loc['2014-10-01 00:00:00' : '2014-12-15 23:00:00']\n", - "ts_taxi = np.reshape(data.to_numpy(dtype=np.float64), newshape=(-1,))\n", - "\n", - "T_taxi = [val for i,val in enumerate(ts_taxi) if i % 2 == 0]\n", - "T_taxi = np.asarray(ts_taxi)\n", - "\n", - "plt.plot(T_taxi)\n", - "plt.show()" - ] + "outputs": [], + "source": "df_taxi = pd.read_csv(\"https://zenodo.org/record/4276428/files/STUMPY_Basics_Taxi.csv?download=1\")\ndf_taxi = df_taxi.set_index([\"timestamp\"])\n\ndata = df_taxi.loc[\"2014-10-01 00:00:00\" : \"2014-12-15 23:00:00\"]\nts_taxi = np.reshape(data.to_numpy(dtype=np.float64), newshape=(-1,))\n\nT_taxi = [val for i,val in enumerate(ts_taxi) if i % 2 == 0]\nT_taxi = np.asarray(ts_taxi)\n\nplt.plot(T_taxi)\nplt.show()" }, { "cell_type": "code", @@ -1583,8 +1280,11 @@ "metadata": {}, "outputs": [], "source": [ - "data = loadmat(\"MERLIN_datasets\\\\NoisySine.mat\") #toy data\n", - "T = data['T'].reshape(-1,)\n", + "np.random.seed(0)\n", + "n = 2000\n", + "t = np.linspace(0, 8 * np.pi, n)\n", + "T = np.sin(t) + 0.05 * np.random.randn(n)\n", + "T[750:800] += 5.0 # inject a clear anomaly\n", "\n", "min_m = 500\n", "max_m = 505\n", @@ -1715,4 +1415,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file From d31fa00d2ce538da8c2867f0d6dc4b592525bc1a Mon Sep 17 00:00:00 2001 From: Shreyas Kakkar <92545590+ShreyasK06@users.noreply.github.com> Date: Thu, 30 Jul 2026 23:35:13 -0400 Subject: [PATCH 2/2] Address review comments: remove broken dataset link, retitle heading, add missing T_subseq_isconstant docstrings --- docs/WIP/Tutorial_DiscordMERLIN.ipynb | 157 +------------------------- 1 file changed, 6 insertions(+), 151 deletions(-) diff --git a/docs/WIP/Tutorial_DiscordMERLIN.ipynb b/docs/WIP/Tutorial_DiscordMERLIN.ipynb index 3516a1783..c5b8a5970 100644 --- a/docs/WIP/Tutorial_DiscordMERLIN.ipynb +++ b/docs/WIP/Tutorial_DiscordMERLIN.ipynb @@ -206,11 +206,7 @@ "cell_type": "markdown", "id": "e812ecb0", "metadata": {}, - "source": [ - "### Import (toy) data\n", - "data set is available at: \n", - "https://drive.google.com/file/d/1cDkZVKYse_E0_fGZqTRQZrrMBRFrR2Mv/view\n" - ] + "source": "### Create toy data" }, { "cell_type": "code", @@ -312,104 +308,11 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "8e14e424", "metadata": {}, "outputs": [], - "source": [ - "def _find_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, r, init_cands=None, right=True, finite=False):\n", - " \"\"\"\n", - " For a time series T, this function finds a set of candidates whose distance to all of their right (left) neighbors \n", - " is at least `r` when parameter `right` is TRUE (FALSE). If there is no such candidate, all elements of is_cands\n", - " becomes False.\n", - " \n", - " Parameters\n", - " ---------\n", - " T : numpy.ndarray\n", - " The time series or sequence from which the candidates are being selected.\n", - " \n", - " m : int\n", - " Window size\n", - " \n", - " M_T : ndarray\n", - " Sliding mean of `T`\n", - " \n", - " Σ_T : ndarray\n", - " Sliding standard deviation of `T`\n", - " \n", - " r : float \n", - " An estimate of discord_dist. The selected candidates retuned by this function have distances of at least `r` \n", - " to all of their right(left) neighbors when input `right` is set to True(False).\n", - " \n", - " Choosing different values for `r`can affect the performance of the algorithm \n", - " (see Fig. 5 of the paper). For instance, choosing a very large value for `r` may result in no candidates \n", - " while choosing a very small value may result in a lot of candidates. \n", - " (note: `r` is passed to this private function when it is called inside the top-level function `_discords`).\n", - " \n", - " init_cands : numpy.ndarray, default None\n", - " is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n", - " `init_cands[i]` is True if the subsequence with start index `i` is considered as one of the \n", - " prospective candidates.\n", - " \n", - " right : bool, default True\n", - " If True (False), candidates returned by the function are guaranteed to have at least the distance of `r` \n", - " to all of their 'right`('left') neighbors.\n", - " \n", - " finite : bool, default False\n", - " If True, subsequence with infinite values will not be considered as candidates. \n", - " \n", - " Returns\n", - " --------\n", - " is_cands : numpy.ndarray\n", - " is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n", - " `is_cands[i]` is True if the subsequence with start index `i` has minimum distance of `r` to all of its \n", - " right (left) neighbors when right is True (False).\n", - " \n", - " NOTE\n", - " ------- \n", - " Unlike the MERLIN paper where the exclusion zone is m, the default exclusion zone considered here\n", - " is the STUMPY default config m/4. This can be changed by setting config.STUMPY_EXCL_ZONE_DENOM.\n", - " \"\"\" \n", - " excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n", - " \n", - " k = T.shape[0] - m + 1 \n", - " \n", - " is_cands = np.ones(k, dtype=bool)\n", - " if init_cands is not None:\n", - " is_cands[:] = init_cands\n", - " \n", - " T_subseq_isfinite = np.isfinite(M_T)\n", - " if not finite:\n", - " T_subseq_isfinite[:] = True\n", - " is_cands[~T_subseq_isfinite] = False\n", - " \n", - " for i in np.flatnonzero(T_subseq_isfinite):\n", - " if np.all(is_cands == False):\n", - " break\n", - " \n", - " cands_idx = np.flatnonzero(is_cands)\n", - " \n", - " if right: \n", - " non_trivial_cands_idx = cands_idx[cands_idx < max(0, i - excl_zone)]\n", - " else:\n", - " non_trivial_cands_idx = cands_idx[cands_idx > i + excl_zone]\n", - " \n", - " if len(non_trivial_cands_idx) > 0: \n", - " cand_idx_chunks = _get_chunks_ranges(non_trivial_cands_idx, shift=m-1) \n", - " #shift=m-1: convert from subsequence space to time series space\n", - " \n", - " for start, stop in cand_idx_chunks:\n", - " QT = core.sliding_dot_product(T[i:i+m], T[start:stop]) \n", - " D = core._mass(T[i:i+m], T[start:stop], QT, M_T[i], Σ_T[i], M_T[start:stop-m+1], Σ_T[start:stop-m+1], T_subseq_isconstant[i], T_subseq_isconstant[start:stop-m+1])\n", - "\n", - " mask = np.flatnonzero(D < r) \n", - " is_cands[start:stop-m+1][mask] = False\n", - "\n", - " if len(mask):\n", - " is_cands[i] = False\n", - " \n", - " return is_cands" - ] + "source": "def _find_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, r, init_cands=None, right=True, finite=False):\n \"\"\"\n For a time series T, this function finds a set of candidates whose distance to all of their right (left) neighbors \n is at least `r` when parameter `right` is TRUE (FALSE). If there is no such candidate, all elements of is_cands\n becomes False.\n \n Parameters\n ---------\n T : numpy.ndarray\n The time series or sequence from which the candidates are being selected.\n \n m : int\n Window size\n \n M_T : ndarray\n Sliding mean of `T`\n \n Σ_T : ndarray\n Sliding standard deviation of `T`\n \n T_subseq_isconstant : numpy.ndarray, shape (l,)\n A boolean array that indicates whether a subsequence is\n constant (i.e., has zero standard deviation).\n \n r : float \n An estimate of discord_dist. The selected candidates retuned by this function have distances of at least `r` \n to all of their right(left) neighbors when input `right` is set to True(False).\n \n Choosing different values for `r`can affect the performance of the algorithm \n (see Fig. 5 of the paper). For instance, choosing a very large value for `r` may result in no candidates \n while choosing a very small value may result in a lot of candidates. \n (note: `r` is passed to this private function when it is called inside the top-level function `_discords`).\n \n init_cands : numpy.ndarray, default None\n is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n `init_cands[i]` is True if the subsequence with start index `i` is considered as one of the \n prospective candidates.\n \n right : bool, default True\n If True (False), candidates returned by the function are guaranteed to have at least the distance of `r` \n to all of their 'right`('left') neighbors.\n \n finite : bool, default False\n If True, subsequence with infinite values will not be considered as candidates. \n \n Returns\n --------\n is_cands : numpy.ndarray\n is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n `is_cands[i]` is True if the subsequence with start index `i` has minimum distance of `r` to all of its \n right (left) neighbors when right is True (False).\n \n NOTE\n ------- \n Unlike the MERLIN paper where the exclusion zone is m, the default exclusion zone considered here\n is the STUMPY default config m/4. This can be changed by setting config.STUMPY_EXCL_ZONE_DENOM.\n \"\"\" \n excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n \n k = T.shape[0] - m + 1 \n \n is_cands = np.ones(k, dtype=bool)\n if init_cands is not None:\n is_cands[:] = init_cands\n \n T_subseq_isfinite = np.isfinite(M_T)\n if not finite:\n T_subseq_isfinite[:] = True\n is_cands[~T_subseq_isfinite] = False\n \n for i in np.flatnonzero(T_subseq_isfinite):\n if np.all(is_cands == False):\n break\n \n cands_idx = np.flatnonzero(is_cands)\n \n if right: \n non_trivial_cands_idx = cands_idx[cands_idx < max(0, i - excl_zone)]\n else:\n non_trivial_cands_idx = cands_idx[cands_idx > i + excl_zone]\n \n if len(non_trivial_cands_idx) > 0: \n cand_idx_chunks = _get_chunks_ranges(non_trivial_cands_idx, shift=m-1) \n #shift=m-1: convert from subsequence space to time series space\n \n for start, stop in cand_idx_chunks:\n QT = core.sliding_dot_product(T[i:i+m], T[start:stop]) \n D = core._mass(T[i:i+m], T[start:stop], QT, M_T[i], Σ_T[i], M_T[start:stop-m+1], Σ_T[start:stop-m+1], T_subseq_isconstant[i], T_subseq_isconstant[start:stop-m+1])\n\n mask = np.flatnonzero(D < r) \n is_cands[start:stop-m+1][mask] = False\n\n if len(mask):\n is_cands[i] = False\n \n return is_cands" }, { "cell_type": "code", @@ -591,59 +494,11 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "e2c09b9b", "metadata": {}, "outputs": [], - "source": [ - "def _get_approx_P(T, m, M_T, Σ_T, T_subseq_isconstant, s):\n", - " \"\"\"\n", - " This function returns the (approximate) matrix profile. \n", - " \n", - " Parameters\n", - " ---------\n", - " T : numpy.ndarray\n", - " The time series or sequence for which the approximate matrix profile is calculated.\n", - " \n", - " m : int\n", - " Window size\n", - " \n", - " M_T : ndarray\n", - " Sliding mean of `T`\n", - " \n", - " Σ_T : ndarray\n", - " Sliding standard deviation of `T`\n", - " \n", - " s : int\n", - " The sampling interval\n", - " \n", - " Returns\n", - " ---------\n", - " P : numpy.ndarray\n", - " Matrix profile\n", - " \"\"\"\n", - " excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n", - " \n", - " k = T.shape[0] - m + 1\n", - " \n", - " indices = np.random.permutation(range(0, k, s)).astype(np.int64)\n", - " P, _ = _prescrump(\n", - " T,\n", - " T,\n", - " m,\n", - " M_T,\n", - " Σ_T,\n", - " M_T,\n", - " Σ_T,\n", - " T_subseq_isconstant,\n", - " T_subseq_isconstant,\n", - " indices,\n", - " s,\n", - " excl_zone,\n", - " )\n", - " \n", - " return P" - ] + "source": "def _get_approx_P(T, m, M_T, Σ_T, T_subseq_isconstant, s):\n \"\"\"\n This function returns the (approximate) matrix profile. \n \n Parameters\n ---------\n T : numpy.ndarray\n The time series or sequence for which the approximate matrix profile is calculated.\n \n m : int\n Window size\n \n M_T : ndarray\n Sliding mean of `T`\n \n Σ_T : ndarray\n Sliding standard deviation of `T`\n \n T_subseq_isconstant : numpy.ndarray, shape (l,)\n A boolean array that indicates whether a subsequence is\n constant (i.e., has zero standard deviation).\n \n s : int\n The sampling interval\n \n Returns\n ---------\n P : numpy.ndarray\n Matrix profile\n \"\"\"\n excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))\n \n k = T.shape[0] - m + 1\n \n indices = np.random.permutation(range(0, k, s)).astype(np.int64)\n P, _ = _prescrump(\n T,\n T,\n m,\n M_T,\n Σ_T,\n M_T,\n Σ_T,\n T_subseq_isconstant,\n T_subseq_isconstant,\n indices,\n s,\n excl_zone,\n )\n \n return P" }, { "cell_type": "code", @@ -651,7 +506,7 @@ "id": "f504fc53", "metadata": {}, "outputs": [], - "source": "def _refine_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, is_cands):\n \"\"\"\n For a time series `T`, this function searches the candidates (i.e. subsequences indicated by `is_cands`) and \n return candidates discords in descending order according to their distance to their nearest neighbor.\n After finding the top-discord among candidates, the discord subsequence and its trivial neighbors will be excluded \n from candidates before finding the next top-discord.\n \n Parameters\n ---------\n T : numpy.ndarray\n The time series or sequence from which the top discord (out of selected candidates) is discovered. \n \n m : int\n Window size\n \n M_T : numpy.ndarray\n Sliding mean of `T`\n \n Σ_T : numpy.ndarray\n Sliding standard deviation of `T`\n \n is_cands : numpy.ndarray\n is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n when `is_cands[i]` is True, a subsequence with start index `i` is a discord candidate.\n \n Returns\n ---------\n out : numpy.ndarray\n is a 2-dim array with three columns. The first column is indices of discords, sorted according to their \n corresponding distances to their nearest neighbor, provided in the second column. \n The third column is the indices of the discords' nearest neighbor. \n \"\"\" \n excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM)) \n k = T.shape[0] - m + 1\n \n P = np.full(k, -np.inf, dtype=np.float64) # matrix profile\n I = np.full(k, -1, dtype=np.int64) # index of Nearest Neighbor \n \n for idx in np.flatnonzero(is_cands): \n Q = T[idx:idx+m]\n QT = core.sliding_dot_product(Q, T)\n D = core._mass(Q, T, QT, M_T[idx], Σ_T[idx], M_T, Σ_T, T_subseq_isconstant[idx], T_subseq_isconstant)\n core.apply_exclusion_zone(D, idx, excl_zone, val=np.inf)\n \n nn_idx = np.argmin(D) \n if D[nn_idx] == np.inf:\n nn_idx = -1\n P[idx] = D[nn_idx]\n I[idx] = nn_idx\n \n discords_idx = []\n discords_dist = []\n discords_nn_idx = [] \n while np.any(P>=0):\n idx = np.argmax(P)\n discords_idx.append(idx)\n discords_dist.append(P[idx])\n discords_nn_idx.append(I[idx]) \n core.apply_exclusion_zone(P, idx, excl_zone, -np.inf)\n \n return discords_idx, discords_dist, discords_nn_idx" + "source": "def _refine_candidates(T, m, M_T, Σ_T, T_subseq_isconstant, is_cands):\n \"\"\"\n For a time series `T`, this function searches the candidates (i.e. subsequences indicated by `is_cands`) and \n return candidates discords in descending order according to their distance to their nearest neighbor.\n After finding the top-discord among candidates, the discord subsequence and its trivial neighbors will be excluded \n from candidates before finding the next top-discord.\n \n Parameters\n ---------\n T : numpy.ndarray\n The time series or sequence from which the top discord (out of selected candidates) is discovered. \n \n m : int\n Window size\n \n M_T : numpy.ndarray\n Sliding mean of `T`\n \n Σ_T : numpy.ndarray\n Sliding standard deviation of `T`\n \n T_subseq_isconstant : numpy.ndarray, shape (l,)\n A boolean array that indicates whether a subsequence is\n constant (i.e., has zero standard deviation).\n \n is_cands : numpy.ndarray\n is a 1-dim boolean array, with shape=(k,) where `k` is the total number of subsquences in the time series. \n when `is_cands[i]` is True, a subsequence with start index `i` is a discord candidate.\n \n Returns\n ---------\n out : numpy.ndarray\n is a 2-dim array with three columns. The first column is indices of discords, sorted according to their \n corresponding distances to their nearest neighbor, provided in the second column. \n The third column is the indices of the discords' nearest neighbor. \n \"\"\" \n excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM)) \n k = T.shape[0] - m + 1\n \n P = np.full(k, -np.inf, dtype=np.float64) # matrix profile\n I = np.full(k, -1, dtype=np.int64) # index of Nearest Neighbor \n \n for idx in np.flatnonzero(is_cands): \n Q = T[idx:idx+m]\n QT = core.sliding_dot_product(Q, T)\n D = core._mass(Q, T, QT, M_T[idx], Σ_T[idx], M_T, Σ_T, T_subseq_isconstant[idx], T_subseq_isconstant)\n core.apply_exclusion_zone(D, idx, excl_zone, val=np.inf)\n \n nn_idx = np.argmin(D) \n if D[nn_idx] == np.inf:\n nn_idx = -1\n P[idx] = D[nn_idx]\n I[idx] = nn_idx\n \n discords_idx = []\n discords_dist = []\n discords_nn_idx = [] \n while np.any(P>=0):\n idx = np.argmax(P)\n discords_idx.append(idx)\n discords_dist.append(P[idx])\n discords_nn_idx.append(I[idx]) \n core.apply_exclusion_zone(P, idx, excl_zone, -np.inf)\n \n return discords_idx, discords_dist, discords_nn_idx" }, { "cell_type": "code",