GaussianHMM
GaussianHMM
- class GaussianHMM(n_components: int = 1, covariance_type: str = 'diag', min_covar: float = 0.001, startprob_prior: float = 1.0, transmat_prior: float = 1.0, means_prior: float = 0, means_weight: float = 0, covars_prior: float = 0.01, covars_weight: float = 1, algorithm: str = 'viterbi', random_state: float = None, n_iter: int = 10, tol: float = 0.01, verbose: bool = False, params: str = 'stmc', init_params: str = 'stmc', implementation: str = 'log')[source]
Hidden Markov Model with Gaussian emissions.
- Parameters:
- n_componentsint
Number of states
- covariance_type{“spherical”, “diag”, “full”, “tied”}, optional
The type of covariance parameters to use:
- “spherical” — each state uses a single variance value that
applies to all features.
- “diag” — each state uses a diagonal covariance matrix
(default).
- “full” — each state uses a full (i.e. unrestricted)
covariance matrix.
- “tied” — all mixture components of each state use the same
full covariance matrix (note that this is not the same as for
GaussianHMM).
- min_covarfloat, optional
Floor on the diagonal of the covariance matrix to prevent overfitting. Defaults to 1e-3.
- means_prior, means_weightarray, shape (n_mix, ), optional
Mean and precision of the Normal prior distribution for
means_.- covars_prior, covars_weightarray, shape (n_mix, ), optional
Parameters of the prior distribution for the covariance matrix
covars_. Ifcovariance_typeis “spherical” or “diag” the prior is the inverse gamma distribution, otherwise — the inverse Wishart distribution.- startprob_priorarray, shape (n_components, ), optional
Parameters of the Dirichlet prior distribution for
startprob_.- transmat_priorarray, shape (n_components, n_components), optional
Parameters of the Dirichlet prior distribution for each row of the transition probabilities
transmat_.- algorithm{“viterbi”, “map”}, optional
Decoder algorithm.
- random_state: RandomState or an int seed, optional
A random number generator instance.
- n_iterint, optional
Maximum number of iterations to perform.
- tolfloat, optional
Convergence threshold. EM will stop if the gain in log-likelihood is below this value.
- verbosebool, optional
Whether per-iteration convergence reports are printed to
sys.stderr. Convergence can also be diagnosed using themonitor_attribute.- params, init_paramsstring, optional
The parameters that get updated during (
params) or initialized before (init_params) the training. Can contain any combination of ‘s’ for startprob, ‘t’ for transmat, ‘m’ for means and ‘c’ for covars. Defaults to all parameters.- implementation: string, optional
Determines if the forward-backward algorithm is implemented with logarithms (“log”), or using scaling (“scaling”). The default is to use logarithms for backwards compatibility.
- Attributes:
- n_featuresint
Dimensionality of the Gaussian emissions.
- monitor_ConvergenceMonitor
Monitor object used to check the convergence of EM.
- startprob_array, shape (n_components, )
Initial state occupation distribution.
- transmat_array, shape (n_components, n_components)
Matrix of transition probabilities between states.
- means_array, shape (n_components, n_features)
Mean parameters for each state.
- covars_array
Covariance parameters for each state. The shape depends on
covariance_type:(n_components, ) if “spherical”,
(n_components, n_features) if “diag”,
(n_components, n_features, n_features) if “full”,
(n_features, n_features) if “tied”.
Examples
>>> from sktime.detection.hmm_learn import GaussianHMM >>> from sktime.detection.datagen import piecewise_normal >>> data = piecewise_normal( ... means=[2, 4, 1], lengths=[10, 35, 40], random_state=7 ... ).reshape((-1, 1)) >>> model = GaussianHMM(algorithm='viterbi', n_components=2) >>> model = model.fit(data) >>> labeled_data = model.predict(data)
Methods
change_points_to_segments(y_sparse[, start, end])Convert an series of change point indexes to segments.
check_is_fitted([method_name])Check if the estimator has been fitted.
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
dense_to_sparse(y_dense)Convert the dense output from an detector to a sparse format.
fit(X[, y])Fit to training data.
fit_predict(X[, y])Fit to data, then predict it.
fit_transform(X[, y])Fit to data, then transform it.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_fitted_params([deep])Get fitted parameters.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get a dict of parameters values for this object.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the estimator.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
predict(X)Create labels on test/deployment data.
predict_points(X)Predict changepoints/anomalies on test/deployment data.
predict_scores(X)Return scores for predicted labels on test/deployment data.
predict_segments(X)Predict segments on test/deployment data.
reset()Reset the object to a clean post-init state.
sample([n_samples, random_state, currstate])Interface class which allows users to sample from their HMM.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
segments_to_change_points(y_sparse)Convert segments to change points.
set_config(**config_dict)Set config flags to given values.
set_params(**params)Set the parameters of this object.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.
sparse_to_dense(y_sparse, index)Convert the sparse output from an detector to a dense format.
transform(X)Create labels on test/deployment data.
transform_scores(X)Return scores for predicted labels on test/deployment data.
update(X[, y])Update model with new data and optional ground truth labels.
update_predict(X[, y])Update model with new data and create labels for it.

