Skip to content

Multivariate detector#52

Open
abaranov25 wants to merge 7 commits intosintel-dev:masterfrom
abaranov25:Multivariate-Detector
Open

Multivariate detector#52
abaranov25 wants to merge 7 commits intosintel-dev:masterfrom
abaranov25:Multivariate-Detector

Conversation

@abaranov25
Copy link
Collaborator

@abaranov25 abaranov25 commented Dec 10, 2025

Resolve #57
Added a multivariate detector pipeline with various formatting methods.

raw=False,
samples=1,
padding=0,
multivariate_allowed_symbols = [],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add multivariate_allowed_symbols to the docstrings above

@@ -0,0 +1,72 @@
from .multivariate_formatting import MultivariateFormattingMethod
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we rely on absolute imports rather than relative in our packaging:

Suggested change
from .multivariate_formatting import MultivariateFormattingMethod
from sigllm.primitives.formatting.multivariate_formatting import MultivariateFormattingMethod

Comment on lines 1 to 2
from .multivariate_formatting import MultivariateFormattingMethod
import numpy as np
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typically we follow the following structure for imports:

# python inherent libraries (e.g. import os)

# 3rd party libraries (e.g. import numpy)

# this library (e.g. import sigllm)

this is google python style coding, so in your case it will be:

import numpy as np

from sigllm.primitives.formatting.multivariate_formatting import MultivariateFormattingMethod

Comment on lines 66 to 72
if __name__ == "__main__":
method = DigitInterleave(digits_per_timestamp=3)
method.test_multivariate_formatting_validity(verbose=False)
errs, y_hat, y = method.run_pipeline(return_y_hat=True)
print(errs)
print(y_hat)
print(y) No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

after you finish testing, this can be removed.

})


def run_pipeline(self, data=create_test_data(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the purpose of this method? It can be removed or moved to utils since it doesn't belong in formatting

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you remove this file from the PR? I don't think it's related.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename it to multivariate-detector-pipeline

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you make it an end-to-end tutorial of using the pipeline? In addition to the new formatting, you can have a full detection process and show the anomalies.

@abaranov25 abaranov25 requested a review from sarahmish February 17, 2026 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multivariate Detector Pipeline

2 participants