henrikingo commented on code in PR #154:
URL: https://github.com/apache/otava/pull/154#discussion_r3197425993


##########
otava/main.py:
##########
@@ -425,14 +425,28 @@ def setup_analysis_options_parser(parser: 
argparse.ArgumentParser):
         "as noise so it is best to keep it short enough to include not more "
         "than a few change points (optimally at most 1)",
     )
-    parser.add_argument(
+    ediv_group = parser.add_mutually_exclusive_group()
+    ediv_group.add_argument(
         "--orig-edivisive",
         action="store_true",
-        default=False,
         dest="orig_edivisive",
         help="use the original edivisive algorithm with no windowing "
         "and weak change points analysis improvements",
     )
+    ediv_group.add_argument(
+        "--deterministic-edivisive",
+        action="store_true",
+        dest="deterministic_edivisive",
+        help="EXPERIMENTAL: use the original edivisive algorithm, but using "
+        "Student T for significance test. (TBD: May include weak change points 
later.)",
+    )
+    ediv_group.add_argument(
+        "--split-edivisive",
+        action="store_true",
+        dest="split_edivisive",
+        help="use 'hunter' version of this algorithm, from 2023, featuring "
+        "split of data into smaller windows, weak change points and Student T 
test. (Default)",
+    )

Review Comment:
   Could also have used the argparse `choices` type. Did this for backward 
compatibility.
   
   Also one could argue that creating different variations like this is the 
wrong direction and we should instead just expose all of the sub-features as 
options the user can use to compose their own combination. My argument against 
this is that most users want one authoritative solution. And half of our users 
are not capable of understanding what the math is doing anyway, and the other 
half don't want to understand. (I'm myself in the latter group, if not the 
former, even :- )



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to