|
|
|
\def\sphinxdocclass{report} |
|
\documentclass[letterpaper,10pt,english]{sphinxmanual} |
|
\ifdefined\pdfpxdimen |
|
\let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen |
|
\fi \sphinxpxdimen=.75bp\relax |
|
\ifdefined\pdfimageresolution |
|
\pdfimageresolution= \numexpr \dimexpr1in\relax/\sphinxpxdimen\relax |
|
\fi |
|
|
|
\PassOptionsToPackage{bookmarksdepth=5}{hyperref} |
|
|
|
\PassOptionsToPackage{booktabs}{sphinx} |
|
\PassOptionsToPackage{colorrows}{sphinx} |
|
|
|
\PassOptionsToPackage{warn}{textcomp} |
|
\usepackage[utf8]{inputenc} |
|
\ifdefined\DeclareUnicodeCharacter |
|
|
|
\ifdefined\DeclareUnicodeCharacterAsOptional |
|
\def\sphinxDUC#1{\DeclareUnicodeCharacter{"#1}} |
|
\else |
|
\let\sphinxDUC\DeclareUnicodeCharacter |
|
\fi |
|
\sphinxDUC{00A0}{\nobreakspace} |
|
\sphinxDUC{2500}{\sphinxunichar{2500}} |
|
\sphinxDUC{2502}{\sphinxunichar{2502}} |
|
\sphinxDUC{2514}{\sphinxunichar{2514}} |
|
\sphinxDUC{251C}{\sphinxunichar{251C}} |
|
\sphinxDUC{2572}{\textbackslash} |
|
\fi |
|
\usepackage{cmap} |
|
\usepackage[T1]{fontenc} |
|
\usepackage{amsmath,amssymb,amstext} |
|
\usepackage{babel} |
|
|
|
|
|
|
|
\usepackage{tgtermes} |
|
\usepackage{tgheros} |
|
\renewcommand{\ttdefault}{txtt} |
|
|
|
|
|
|
|
\usepackage[Bjarne]{fncychap} |
|
\usepackage{sphinx} |
|
|
|
\fvset{fontsize=auto} |
|
\usepackage{geometry} |
|
|
|
|
|
|
|
\usepackage{hyperref} |
|
|
|
\usepackage{hypcap} |
|
|
|
\urlstyle{same} |
|
|
|
\addto\captionsenglish{\renewcommand{\contentsname}{Contents:}} |
|
|
|
\usepackage{sphinxmessages} |
|
\setcounter{tocdepth}{1} |
|
|
|
|
|
\DeclareUnicodeCharacter{03BC}{\textmu} |
|
\DeclareUnicodeCharacter{03C3}{\ensuremath{\sigma}} |
|
|
|
|
|
\title{AIM\sphinxhyphen{}CU} |
|
\date{Jan 31, 2025} |
|
\release{1.0.0} |
|
\author{Smriti Prathapan, Berkman Sahiner, Dhaval Kadia, Ravi K.\@{} Samala} |
|
\newcommand{\sphinxlogo}{\vbox{}} |
|
\renewcommand{\releasename}{Release} |
|
\makeindex |
|
\begin{document} |
|
|
|
\ifdefined\shorthandoff |
|
\ifnum\catcode`\=\string=\active\shorthandoff{=}\fi |
|
\ifnum\catcode`\"=\active\shorthandoff{"}\fi |
|
\fi |
|
|
|
\pagestyle{empty} |
|
\sphinxmaketitle |
|
\pagestyle{plain} |
|
\sphinxtableofcontents |
|
\pagestyle{normal} |
|
\phantomsection\label{\detokenize{index::doc}} |
|
|
|
|
|
\sphinxAtStartPar |
|
A CUSUM\sphinxhyphen{}based tool for AI Monitoring |
|
|
|
\sphinxAtStartPar |
|
AIM\sphinxhyphen{}CU is a statistical tool for AI monitoring using cumulative sum (AIM\sphinxhyphen{}CU). AIM\sphinxhyphen{}CU computes: |
|
\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
The parameter choices for change\sphinxhyphen{}point detection based on an acceptable false alarm rate |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
Detection delay estimates for a given displacement of the performance metric from the target for those parameter choices. |
|
|
|
\end{itemize} |
|
|
|
|
|
\chapter{Code execution} |
|
\label{\detokenize{index:code-execution}} |
|
\sphinxAtStartPar |
|
Clone AIM\sphinxhyphen{}CU repository. |
|
|
|
\begin{sphinxVerbatim}[commandchars=\\\{\}] |
|
git\PYG{+w}{ }clone\PYG{+w}{ }https://github.com/DIDSR/AIM\PYGZhy{}CU.git |
|
\end{sphinxVerbatim} |
|
|
|
\sphinxAtStartPar |
|
Run the following commands to install required dependencies (Python = 3.10 is used). |
|
|
|
\begin{sphinxVerbatim}[commandchars=\\\{\}] |
|
apt\PYGZhy{}get\PYG{+w}{ }\PYGZhy{}y\PYG{+w}{ }install\PYG{+w}{ }python3 |
|
apt\PYGZhy{}get\PYG{+w}{ }\PYGZhy{}y\PYG{+w}{ }install\PYG{+w}{ }pip |
|
\PYG{n+nb}{cd}\PYG{+w}{ }AIM\PYGZhy{}CU |
|
pip\PYG{+w}{ }install\PYG{+w}{ }\PYGZhy{}r\PYG{+w}{ }requirements.txt |
|
\end{sphinxVerbatim} |
|
|
|
\sphinxAtStartPar |
|
Run AIM\sphinxhyphen{}CU. |
|
|
|
\begin{sphinxVerbatim}[commandchars=\\\{\}] |
|
python3\PYG{+w}{ }app.py |
|
\end{sphinxVerbatim} |
|
|
|
\sphinxAtStartPar |
|
Open the URL \sphinxurl{http://0.0.0.0:7860} that is running the AIM\sphinxhyphen{}CU locally. |
|
|
|
|
|
\chapter{Demo} |
|
\label{\detokenize{index:demo}} |
|
\sphinxAtStartPar |
|
AIM\sphinxhyphen{}CU can also be run through the demo available at \sphinxurl{https://huggingface.co/spaces/didsr/AIM-CU}. If Space is paused, click on Restart button. |
|
|
|
\sphinxstepscope |
|
|
|
|
|
\section{Methods} |
|
\label{\detokenize{ref_method:methods}}\label{\detokenize{ref_method::doc}} |
|
|
|
\subsection{CUSUM parameters} |
|
\label{\detokenize{ref_method:cusum-parameters}} |
|
|
|
\begin{savenotes}\sphinxattablestart |
|
\sphinxthistablewithglobalstyle |
|
\centering |
|
\sphinxcapstartof{table} |
|
\sphinxthecaptionisattop |
|
\sphinxcaption{CUSUM parameters}\label{\detokenize{ref_method:id1}} |
|
\sphinxaftertopcaption |
|
\begin{tabulary}{\linewidth}[t]{TT} |
|
\sphinxtoprule |
|
\sphinxstyletheadfamily |
|
\sphinxAtStartPar |
|
Parameter |
|
&\sphinxstyletheadfamily |
|
\sphinxAtStartPar |
|
Description |
|
\\ |
|
\sphinxmidrule |
|
\sphinxtableatstartofbodyhook |
|
\sphinxAtStartPar |
|
μ\_in |
|
& |
|
\sphinxAtStartPar |
|
The mean of the performance metric when the process is in\sphinxhyphen{}control, i.e., when there is no performance drift |
|
\\ |
|
\sphinxhline |
|
\sphinxAtStartPar |
|
ARL\_0 |
|
& |
|
\sphinxAtStartPar |
|
Number of observations before the control chart signals a false detection |
|
\\ |
|
\sphinxhline |
|
\sphinxAtStartPar |
|
σ\_in |
|
& |
|
\sphinxAtStartPar |
|
The in\sphinxhyphen{}control standard deviation of the metric |
|
\\ |
|
\sphinxhline |
|
\sphinxAtStartPar |
|
ARL\_1 |
|
& |
|
\sphinxAtStartPar |
|
Number of observations before the control chart signals a true detection |
|
\\ |
|
\sphinxhline |
|
\sphinxAtStartPar |
|
k |
|
& |
|
\sphinxAtStartPar |
|
The normalized reference value, which is related to the magnitude of change that one is interested in detecting. k = 0.5 is the default choice for detecting a unit standard deviation change |
|
\\ |
|
\sphinxhline |
|
\sphinxAtStartPar |
|
S\_hi |
|
& |
|
\sphinxAtStartPar |
|
Cumulative sum of positive changes in the metric |
|
\\ |
|
\sphinxhline |
|
\sphinxAtStartPar |
|
h |
|
& |
|
\sphinxAtStartPar |
|
The normalized threshold or control limit (default =4). This threshold determines when the control chart signals a detection |
|
\\ |
|
\sphinxhline |
|
\sphinxAtStartPar |
|
S\_lo |
|
& |
|
\sphinxAtStartPar |
|
Cumulative sum of negative changes in the metric |
|
\\ |
|
\sphinxbottomrule |
|
\end{tabulary} |
|
\sphinxtableafterendhook\par |
|
\sphinxattableend\end{savenotes} |
|
|
|
|
|
\subsection{CUSUM chart} |
|
\label{\detokenize{ref_method:cusum-chart}} |
|
\sphinxAtStartPar |
|
A two\sphinxhyphen{}sided CUSUM control chart computes the cumulative differences or |
|
deviations of individual observations from the target mean (or |
|
in\sphinxhyphen{}control mean, \(\mu_{in}\)). The positive and negative cumulative |
|
sums are calculated: |
|
\begin{equation*} |
|
\begin{split}\\ S_{hi}(d) = max(0, S_{hi}(d-1) + x_d - \hat{\mu}_{in} - K) |
|
\\ S_{lo}(d) = max(0, S_{lo}(d-1) - x_d + \hat{\mu}_{in} - K)\end{split} |
|
\end{equation*} |
|
\sphinxAtStartPar |
|
where \sphinxstyleemphasis{d} denotes a unit of time, \(x_d\) is the value of quantity |
|
being monitored at time \(d\), \(\hat{\mu}_{in}\) is the |
|
in\sphinxhyphen{}control mean of \(x_d\), and \(K\) is a “reference value” |
|
related to the magnitude of change that one is interested in detecting. |
|
\(S_{hi}\) and \(S_{lo}\) are the cumulative sum of positive and |
|
negative changes. To detect a change in the observed values from the |
|
in\sphinxhyphen{}control mean, the CUSUM scheme accumulates deviations that are |
|
\(K\) units away from the in\sphinxhyphen{}control mean. Let \(\sigma_{in}\) |
|
denote the in\sphinxhyphen{}control standard deviation of \(x_d\). |
|
|
|
\sphinxstepscope |
|
|
|
|
|
\section{CUSUM} |
|
\label{\detokenize{ref_cusum:module-package.cusum}}\label{\detokenize{ref_cusum:cusum}}\label{\detokenize{ref_cusum::doc}}\index{module@\spxentry{module}!package.cusum@\spxentry{package.cusum}}\index{package.cusum@\spxentry{package.cusum}!module@\spxentry{module}} |
|
\sphinxAtStartPar |
|
Cumulative Sum (CUSUM) |
|
|
|
\sphinxAtStartPar |
|
@author: smriti.prathapan |
|
\index{CUSUM (class in package.cusum)@\spxentry{CUSUM}\spxextra{class in package.cusum}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM}} |
|
\pysigstartsignatures |
|
\pysigline |
|
{\sphinxbfcode{\sphinxupquote{class\DUrole{w}{ }}}\sphinxcode{\sphinxupquote{package.cusum.}}\sphinxbfcode{\sphinxupquote{CUSUM}}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
CUSUM class and its functionalities. |
|
\index{change\_detection() (package.cusum.CUSUM method)@\spxentry{change\_detection()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.change_detection}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{change\_detection}}} |
|
{\sphinxparam{\DUrole{n}{normalized\_ref\_value}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}\DUrole{w}{ }\DUrole{o}{=}\DUrole{w}{ }\DUrole{default_value}{0.5}}\sphinxparamcomma \sphinxparam{\DUrole{n}{normalized\_threshold}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}\DUrole{w}{ }\DUrole{o}{=}\DUrole{w}{ }\DUrole{default_value}{4}}} |
|
{{ $\rightarrow$ None}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Detects a change in the process. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{pre\_change\_days}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}) \textendash{} Number of days for in\sphinxhyphen{}control phase. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{normalized\_ref\_value}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}\sphinxstyleliteralemphasis{\sphinxupquote{, }}\sphinxstyleliteralemphasis{\sphinxupquote{optional}}) \textendash{} Normalized reference value for detecting a unit standard deviation change in mean of the process. Defaults to 0.5. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{normalized\_threshold}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}\sphinxstyleliteralemphasis{\sphinxupquote{, }}\sphinxstyleliteralemphasis{\sphinxupquote{optional}}) \textendash{} Normalized threshold. Defaults to 4. |
|
|
|
\end{itemize} |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{compute\_cusum() (package.cusum.CUSUM method)@\spxentry{compute\_cusum()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.compute_cusum}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{compute\_cusum}}} |
|
{\sphinxparam{\DUrole{n}{x}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{list\DUrole{p}{{[}}float\DUrole{p}{{]}}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{mu\_0}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}\sphinxparamcomma \sphinxparam{\DUrole{n}{k}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}} |
|
{{ $\rightarrow$ tuple\DUrole{p}{{[}}list\DUrole{p}{{[}}float\DUrole{p}{{]}}\DUrole{p}{,}\DUrole{w}{ }list\DUrole{p}{{[}}float\DUrole{p}{{]}}\DUrole{p}{,}\DUrole{w}{ }list\DUrole{p}{{[}}float\DUrole{p}{{]}}\DUrole{p}{{]}}}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Compute CUSUM for the observations in x |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{x}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}\sphinxstyleliteralemphasis{\sphinxupquote{{[}}}\sphinxstyleliteralemphasis{\sphinxupquote{float}}\sphinxstyleliteralemphasis{\sphinxupquote{{]}}}) \textendash{} Performance metric to be monitored |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{mu\_0}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} In\sphinxhyphen{}control mean of the observations/performance metric |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{k}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Reference value related to the magnitude of change that one is interested in detecting |
|
|
|
\end{itemize} |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Positive cumulative sum, negative cumulative sum, and CUSUM |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
tuple{[}list{[}float{]}, list{[}float{]}, list{[}float{]}{]} |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{initialize() (package.cusum.CUSUM method)@\spxentry{initialize()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.initialize}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{initialize}}} |
|
{} |
|
{{ $\rightarrow$ None}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Initialize with the configuration file. |
|
|
|
\end{fulllineitems} |
|
|
|
\index{plot\_cusum\_plotly() (package.cusum.CUSUM method)@\spxentry{plot\_cusum\_plotly()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.plot_cusum_plotly}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{plot\_cusum\_plotly}}} |
|
{} |
|
{{ $\rightarrow$ Figure}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Plot CUSUM value using Plotly |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
CUSUM plot using Plotly graph object. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
go.Figure |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{plot\_input\_metric\_plotly() (package.cusum.CUSUM method)@\spxentry{plot\_input\_metric\_plotly()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.plot_input_metric_plotly}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{plot\_input\_metric\_plotly}}} |
|
{} |
|
{{ $\rightarrow$ Figure}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Plot the input metric using Plotly. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Scatter plot as Plotly graph object. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
go.Figure |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{plot\_input\_metric\_plotly\_raw() (package.cusum.CUSUM method)@\spxentry{plot\_input\_metric\_plotly\_raw()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.plot_input_metric_plotly_raw}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{plot\_input\_metric\_plotly\_raw}}} |
|
{} |
|
{{ $\rightarrow$ Figure}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Plot AI output using Plotly. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Scatter plot as Plotly graph object. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
go.Figure |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{set\_df\_metric\_csv() (package.cusum.CUSUM method)@\spxentry{set\_df\_metric\_csv()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.set_df_metric_csv}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{set\_df\_metric\_csv}}} |
|
{\sphinxparam{\DUrole{n}{data\_csv}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{DataFrame}}} |
|
{{ $\rightarrow$ None}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Assign the performance metric data to be used for CUSUM. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{data\_csv}} (\sphinxstyleliteralemphasis{\sphinxupquote{DataFrame}}\sphinxstyleliteralemphasis{\sphinxupquote{ or }}\sphinxstyleliteralemphasis{\sphinxupquote{TextFileReader}}) \textendash{} A comma\sphinxhyphen{}separated values (csv) file is returned as two\sphinxhyphen{}dimensional data structure with labeled axes. |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{set\_df\_metric\_default() (package.cusum.CUSUM method)@\spxentry{set\_df\_metric\_default()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.set_df_metric_default}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{set\_df\_metric\_default}}} |
|
{} |
|
{{ $\rightarrow$ None}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Read the provided performance metric data to be used for CUSUM for an example. |
|
|
|
\end{fulllineitems} |
|
|
|
\index{set\_init\_stats() (package.cusum.CUSUM method)@\spxentry{set\_init\_stats()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.set_init_stats}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{set\_init\_stats}}} |
|
{\sphinxparam{\DUrole{n}{init\_days}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{int}}} |
|
{{ $\rightarrow$ None}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Use initial days to calculate in\sphinxhyphen{}control mean and standard deviation. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{init\_days}} (\sphinxstyleliteralemphasis{\sphinxupquote{int}}\sphinxstyleliteralemphasis{\sphinxupquote{, }}\sphinxstyleliteralemphasis{\sphinxupquote{optional}}) \textendash{} Initial days when observations are considered stable. Defaults to 30. |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{set\_timeline() (package.cusum.CUSUM method)@\spxentry{set\_timeline()}\spxextra{package.cusum.CUSUM method}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_cusum:package.cusum.CUSUM.set_timeline}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxbfcode{\sphinxupquote{set\_timeline}}} |
|
{\sphinxparam{\DUrole{n}{data}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{ndarray}}} |
|
{{ $\rightarrow$ None}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Set the timeline of observations. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{data}} (\sphinxstyleliteralemphasis{\sphinxupquote{np.ndarray}}) \textendash{} Data of the metric values across the observations. |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
|
|
\end{fulllineitems} |
|
|
|
|
|
\sphinxstepscope |
|
|
|
|
|
\section{ARLTheoretical} |
|
\label{\detokenize{ref_theoretical:module-package.ARLTheoretical}}\label{\detokenize{ref_theoretical:arltheoretical}}\label{\detokenize{ref_theoretical::doc}}\index{module@\spxentry{module}!package.ARLTheoretical@\spxentry{package.ARLTheoretical}}\index{package.ARLTheoretical@\spxentry{package.ARLTheoretical}!module@\spxentry{module}} |
|
\sphinxAtStartPar |
|
ARLTheoretical |
|
|
|
\sphinxAtStartPar |
|
@author: smriti.prathapan |
|
\index{get\_ARL\_1() (in module package.ARLTheoretical)@\spxentry{get\_ARL\_1()}\spxextra{in module package.ARLTheoretical}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_theoretical:package.ARLTheoretical.get_ARL_1}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxcode{\sphinxupquote{package.ARLTheoretical.}}\sphinxbfcode{\sphinxupquote{get\_ARL\_1}}} |
|
{\sphinxparam{\DUrole{n}{h}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}\sphinxparamcomma \sphinxparam{\DUrole{n}{shift\_in\_mean}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{list\DUrole{p}{{[}}float\DUrole{p}{{]}}}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dict\_ARL0\_k}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{OrderedDict}}} |
|
{{ $\rightarrow$ DataFrame}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Get the ARL1 along with k values. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{h}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Normalized threshold. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{shift\_in\_mean}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}\sphinxstyleliteralemphasis{\sphinxupquote{{[}}}\sphinxstyleliteralemphasis{\sphinxupquote{float}}\sphinxstyleliteralemphasis{\sphinxupquote{{]}}}) \textendash{} List of the values of shift in mean. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{dict\_ARL0\_k}} (\sphinxstyleliteralemphasis{\sphinxupquote{OrderedDict}}) \textendash{} Data dictionary of ARL0 and k |
|
|
|
\end{itemize} |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Table for ARL1 and k values. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
pd.DataFrame |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{get\_ARL\_1\_h\_mu1\_k() (in module package.ARLTheoretical)@\spxentry{get\_ARL\_1\_h\_mu1\_k()}\spxextra{in module package.ARLTheoretical}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_theoretical:package.ARLTheoretical.get_ARL_1_h_mu1_k}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxcode{\sphinxupquote{package.ARLTheoretical.}}\sphinxbfcode{\sphinxupquote{get\_ARL\_1\_h\_mu1\_k}}} |
|
{\sphinxparam{\DUrole{n}{h}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}\sphinxparamcomma \sphinxparam{\DUrole{n}{k}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}\sphinxparamcomma \sphinxparam{\DUrole{n}{mu1}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}} |
|
{{ $\rightarrow$ float}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Calculate ARL\_1 with given Shift in Mean (mu1) and k. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{h}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Normalized threshold. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{k}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Normalized reference value. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{mu1}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Intended shift in mean. |
|
|
|
\end{itemize} |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Detection delay (ARL1). |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
float |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{get\_ref\_value() (in module package.ARLTheoretical)@\spxentry{get\_ref\_value()}\spxextra{in module package.ARLTheoretical}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_theoretical:package.ARLTheoretical.get_ref_value}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxcode{\sphinxupquote{package.ARLTheoretical.}}\sphinxbfcode{\sphinxupquote{get\_ref\_value}}} |
|
{\sphinxparam{\DUrole{n}{h}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}\sphinxparamcomma \sphinxparam{\DUrole{n}{list\_ARL\_0}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{list\DUrole{p}{{[}}float\DUrole{p}{{]}}}}} |
|
{{ $\rightarrow$ tuple\DUrole{p}{{[}}DataFrame\DUrole{p}{,}\DUrole{w}{ }OrderedDict\DUrole{p}{{]}}}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
provides normalized reference values k for provided list of ARL0, given the value of normalized threshold h. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{h}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Normalized threshold. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{list\_ARL\_0}} (\sphinxstyleliteralemphasis{\sphinxupquote{list}}) \textendash{} List of ARL0 values. |
|
|
|
\end{itemize} |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Dataframe of ARL0 and k, Data dictionary of ARL0 and k; where k is normalized reference value. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
tuple{[}pd.Dataframe, OrderedDict{]} |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{get\_ref\_value\_k() (in module package.ARLTheoretical)@\spxentry{get\_ref\_value\_k()}\spxextra{in module package.ARLTheoretical}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_theoretical:package.ARLTheoretical.get_ref_value_k}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxcode{\sphinxupquote{package.ARLTheoretical.}}\sphinxbfcode{\sphinxupquote{get\_ref\_value\_k}}} |
|
{\sphinxparam{\DUrole{n}{h}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}\sphinxparamcomma \sphinxparam{\DUrole{n}{ARL\_0}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{float}}} |
|
{{ $\rightarrow$ float}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Calculation for the reference value for given h and ARL\_0. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{h}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Normalized threshold. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{ARL\_0}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} ARL0 value. |
|
|
|
\end{itemize} |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Normalized reference value k. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
float |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
|
|
\sphinxstepscope |
|
|
|
|
|
\section{Utils} |
|
\label{\detokenize{ref_utils:module-package.utils}}\label{\detokenize{ref_utils:utils}}\label{\detokenize{ref_utils::doc}}\index{module@\spxentry{module}!package.utils@\spxentry{package.utils}}\index{package.utils@\spxentry{package.utils}!module@\spxentry{module}} |
|
\sphinxAtStartPar |
|
Utilities to handle different operations |
|
\index{get\_greattable\_as\_html() (in module package.utils)@\spxentry{get\_greattable\_as\_html()}\spxextra{in module package.utils}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_utils:package.utils.get_greattable_as_html}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxcode{\sphinxupquote{package.utils.}}\sphinxbfcode{\sphinxupquote{get\_greattable\_as\_html}}} |
|
{\sphinxparam{\DUrole{n}{df}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{DataFrame}}} |
|
{{ $\rightarrow$ GT}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Get the great\_table as HTML from Pandas dataframe. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{df}} (\sphinxstyleliteralemphasis{\sphinxupquote{pd.DataFrame}}) \textendash{} Dataframe to rendera as a table. |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Table in HTML format. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
gt.GT |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{populate\_summary\_table\_ARL0\_k() (in module package.utils)@\spxentry{populate\_summary\_table\_ARL0\_k()}\spxextra{in module package.utils}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_utils:package.utils.populate_summary_table_ARL0_k}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxcode{\sphinxupquote{package.utils.}}\sphinxbfcode{\sphinxupquote{populate\_summary\_table\_ARL0\_k}}} |
|
{\sphinxparam{\DUrole{n}{summary\_table\_df\_ARL0\_k}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{DataFrame}}\sphinxparamcomma \sphinxparam{\DUrole{n}{h}}} |
|
{{ $\rightarrow$ GT}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Populate ARLTheoretical.summary\_table\_df\_ARL0\_k. |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{summary\_table\_df\_ARL0\_k}} (\sphinxstyleliteralemphasis{\sphinxupquote{pd.DataFrame}}) \textendash{} Dataframe of ARL0 and its respective values of k. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{h}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Normalized threshold. |
|
|
|
\end{itemize} |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Table of ARL0 and k in HTML format. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
gt.GT |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
\index{populate\_summary\_table\_ARL1\_k() (in module package.utils)@\spxentry{populate\_summary\_table\_ARL1\_k()}\spxextra{in module package.utils}} |
|
|
|
\begin{fulllineitems} |
|
\phantomsection\label{\detokenize{ref_utils:package.utils.populate_summary_table_ARL1_k}} |
|
\pysigstartsignatures |
|
\pysiglinewithargsret |
|
{\sphinxcode{\sphinxupquote{package.utils.}}\sphinxbfcode{\sphinxupquote{populate\_summary\_table\_ARL1\_k}}} |
|
{\sphinxparam{\DUrole{n}{summary\_table\_df\_ARL1\_k}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{DataFrame}}\sphinxparamcomma \sphinxparam{\DUrole{n}{dict\_ARL0\_k}\DUrole{p}{:}\DUrole{w}{ }\DUrole{n}{OrderedDict}}\sphinxparamcomma \sphinxparam{\DUrole{n}{h}}} |
|
{{ $\rightarrow$ GT}} |
|
\pysigstopsignatures |
|
\sphinxAtStartPar |
|
Populate Multiindex table specific for ARLTheoretical.summary\_table\_df\_ARL1\_k |
|
\begin{quote}\begin{description} |
|
\sphinxlineitem{Parameters}\begin{itemize} |
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{summary\_table\_df\_ARL1\_k}} (\sphinxstyleliteralemphasis{\sphinxupquote{pd.DataFrame}}) \textendash{} Dataframe with ARL1 and k values. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{dict\_ARL0\_k}} (\sphinxstyleliteralemphasis{\sphinxupquote{OrderedDict}}) \textendash{} Data Dictionary with the mapping between ARL0 and k. |
|
|
|
\item {} |
|
\sphinxAtStartPar |
|
\sphinxstyleliteralstrong{\sphinxupquote{h}} (\sphinxstyleliteralemphasis{\sphinxupquote{float}}) \textendash{} Normalized threshold. |
|
|
|
\end{itemize} |
|
|
|
\sphinxlineitem{Returns} |
|
\sphinxAtStartPar |
|
Table for ARL1 and k in HTML format. |
|
|
|
\sphinxlineitem{Return type} |
|
\sphinxAtStartPar |
|
gt.GT |
|
|
|
\end{description}\end{quote} |
|
|
|
\end{fulllineitems} |
|
|
|
|
|
|
|
\renewcommand{\indexname}{Python Module Index} |
|
\begin{sphinxtheindex} |
|
\let\bigletter\sphinxstyleindexlettergroup |
|
\bigletter{p} |
|
\item\relax\sphinxstyleindexentry{package.ARLTheoretical}\sphinxstyleindexpageref{ref_theoretical:\detokenize{module-package.ARLTheoretical}} |
|
\item\relax\sphinxstyleindexentry{package.cusum}\sphinxstyleindexpageref{ref_cusum:\detokenize{module-package.cusum}} |
|
\item\relax\sphinxstyleindexentry{package.utils}\sphinxstyleindexpageref{ref_utils:\detokenize{module-package.utils}} |
|
\end{sphinxtheindex} |
|
|
|
\renewcommand{\indexname}{Index} |
|
\printindex |
|
\end{document} |