class_docstr: This component attempts to fit various distributions for further plotting via
  :py:class:`~autogluon.eda.visualization.interaction.FeatureInteractionVisualization`.
  
  The data specified in `columns` must be numeric to be considered for fitting (categorical variables are not supported).
  
  Only the distributions with statistical significance above `pvalue_min` threshold will be included in the results.
  
  Note: this analysis is an augmentation for :py:class:`~autogluon.eda.analysis.interaction.FeatureInteraction` and should be used in pair
  to be visualized via :py:class:`~autogluon.eda.visualization.interaction.FeatureInteractionVisualization`.
  
  Parameters
  ----------
  columns: Union[str, List[str]]
      column to be included into analysis. Can be passed as a string or a list of strings.
  pvalue_min: float = 0.01,
      min pvalue to consider including distribution fit in the results.
  keep_top_n: Optional[int] = None,
      how many distributions exceeding `pvalue_min` to include in the results. I.e. if `keep_top_n=3`,
      but 10 distributions satisfied `pvalue_min`, only top 3 will be included.
      If not specified and `distributions_to_fit` is not provided, then only top 3 will be included in the results.
  distributions_to_fit: Optional[Union[str, List[str]]] = None,
      list of distributions to fit. See `DistributionFit.AVAILABLE_DISTRIBUTIONS` for the list of supported values.
      See `scipy <https://docs.scipy.org/doc/scipy/reference/stats.html>`_ documentation for each distribution details.
      If not specified, then all supported distributions will be attempted to fit.
  parent: Optional[AbstractAnalysis], default = None
      parent Analysis
  children: Optional[List[AbstractAnalysis]], default None
      wrapped analyses; these will receive sampled `args` during `fit` call
  kwargs
  
  Examples
  --------
  >>> import autogluon.eda.analysis as eda
  >>> import autogluon.eda.visualization as viz
  >>> import autogluon.eda.auto as auto
  >>> import pandas as pd
  >>> import numpy as np
  >>>
  >>> df_train = pd.DataFrame(...)
  >>>
  >>> auto.analyze(
  >>>     train_data=df_train, label=target_col,
  >>>     anlz_facets=[
  >>>         eda.dataset.RawTypesAnalysis(),
  >>>         eda.interaction.DistributionFit(columns=['Fare', 'Age'], distributions_to_fit=['lognorm', 'beta', 'gamma', 'fisk']),
  >>>         eda.interaction.FeatureInteraction(key='age-chart', x='Age'),
  >>>
  >>>     ],
  >>>     viz_facets=[
  >>>         viz.interaction.FeatureInteractionVisualization(key='age-chart', headers=True),
  >>>     ]
  >>> )
  
  See Also
  --------
  :py:class:`~autogluon.eda.analysis.interaction.FeatureInteraction`
  :py:class:`~autogluon.eda.visualization.interaction.FeatureInteractionVisualization`
class_docstr_tok: ["This","component","attempts","to","fit","various","distributions","for","further","plotting","via",":","py",":","class",":","`","~autogluon.eda.visualization.interaction.FeatureInteractionVisualization","`",".","The","data","specified","in","`","columns","`","must","be","numeric","to","be","considered","for","fitting","(","categorical","variables","are","not","supported",")",".","Only","the","distributions","with","statistical","significance","above","`","pvalue_min","`","threshold","will","be","included","in","the","results",".","Note",":","this","analysis","is","an","augmentation","for",":","py",":","class",":","`","~autogluon.eda.analysis.interaction.FeatureInteraction","`","and","should","be","used","in","pair","to","be","visualized","via",":","py",":","class",":","`","~autogluon.eda.visualization.interaction.FeatureInteractionVisualization","`",".","Parameters","--","--","--","--","--","columns",":","Union","[","str",",","List","[","str","]","]","column","to","be","included","into","analysis",".","Can","be","passed","as","a","string","or","a","list","of","strings",".","pvalue_min",":","float","=","0.01",",","min","pvalue","to","consider","including","distribution","fit","in","the","results",".","keep_top_n",":","Optional","[","int","]","=","None",",","how","many","distributions","exceeding","`","pvalue_min","`","to","include","in","the","results",".","I.e",".","if","`","keep_top_n=3","`",",","but","10","distributions","satisfied","`","pvalue_min","`",",","only","top","3","will","be","included",".","If","not","specified","and","`","distributions_to_fit","`","is","not","provided",",","then","only","top","3","will","be","included","in","the","results",".","distributions_to_fit",":","Optional","[","Union","[","str",",","List","[","str","]","]","]","=","None",",","list","of","distributions","to","fit",".","See","`","DistributionFit.AVAILABLE_DISTRIBUTIONS","`","for","the","list","of","supported","values",".","See","`","scipy","<","https",":","\/\/docs.scipy.org\/doc\/scipy\/reference\/stats.html",">","`","_","documentation","for","each","distribution","details",".","If","not","specified",",","then","all","supported","distributions","will","be","attempted","to","fit",".","parent",":","Optional","[","AbstractAnalysis","]",",","default","=","None","parent","Analysis","children",":","Optional","[","List","[","AbstractAnalysis","]","]",",","default","None","wrapped","analyses",";","these","will","receive","sampled","`","args","`","during","`","fit","`","call","kwargs","Examples","--","--","--","--",">",">",">","import","autogluon.eda.analysis","as","eda",">",">",">","import","autogluon.eda.visualization","as","viz",">",">",">","import","autogluon.eda.auto","as","auto",">",">",">","import","pandas","as","pd",">",">",">","import","numpy","as","np",">",">",">",">",">",">","df_train","=","pd.DataFrame","(","...",")",">",">",">",">",">",">","auto.analyze","(",">",">",">","train_data=df_train",",","label=target_col",",",">",">",">","anlz_facets=","[",">",">",">","eda.dataset.RawTypesAnalysis","(",")",",",">",">",">","eda.interaction.DistributionFit","(","columns=","[","'Fare","'",",","'Age","'","]",",","distributions_to_fit=","[","'lognorm","'",",","'beta","'",",","'gamma","'",",","'fisk","'","]",")",",",">",">",">","eda.interaction.FeatureInteraction","(","key='age-chart","'",",","x='Age","'",")",",",">",">",">",">",">",">","]",",",">",">",">","viz_facets=","[",">",">",">","viz.interaction.FeatureInteractionVisualization","(","key='age-chart","'",",","headers=True",")",",",">",">",">","]",">",">",">",")","See","Also","--","--","--","--",":","py",":","class",":","`","~autogluon.eda.analysis.interaction.FeatureInteraction","`",":","py",":","class",":","`","~autogluon.eda.visualization.interaction.FeatureInteractionVisualization","`"]
docstr: List parameters for scipy.stats.distribution.
  # Arguments
      distribution: a string or scipy.stats distribution object.
  # Returns
      A list of distribution parameter strings.
docstr_tok: ["List","parameters","for","scipy.stats.distribution",".","#","Arguments","distribution",":","a","string","or","scipy.stats","distribution","object",".","#","Returns","A","list","of","distribution","parameter","strings","."]
code: def _list_parameters(self, distribution):
      """List parameters for scipy.stats.distribution.
      # Arguments
          distribution: a string or scipy.stats distribution object.
      # Returns
          A list of distribution parameter strings.
      """
      if isinstance(distribution, str):
          distribution = getattr(stats, distribution)
      if distribution.shapes:
          parameters = [
              name.strip() for name in distribution.shapes.split(",")
          ]
      else:
          parameters = []
      if distribution.name in stats._discrete_distns._distn_names:
          parameters += ["loc"]
      elif distribution.name in stats._continuous_distns._distn_names:
          parameters += ["loc", "scale"]
      return parameters
  
imports: import warnings
  from typing import Any, Dict, List, Optional, Union
  import numpy
  import pandas
  import phik
  from pandas.core.dtypes.common import is_numeric_dtype
  from scipy import stats
  from scipy.cluster import hierarchy
  from scipy.stats import spearmanr
  from ..None import AnalysisState
  from .base import AbstractAnalysis
  from autogluon.common.features.types import R_FLOAT, R_INT
label_desc: Use image node_id 5 for calling the DistributionFit obj's underlying member method code with example usage: obj._list_parameters(distribution) and returns: parameters