【问题标题】:equivalent of "ksdensity" MATLAB built-in function in Python相当于 Python 中的“ksdensity”MATLAB 内置函数
【发布时间】:2021-05-04 11:51:50
【问题描述】:

我需要以下 MATLAB 代码的 python 等效代码:

[f,xi] = ksdensity(data,'Support','positive','Function','cdf');

我找到了下面的 python 代码,但我不知道如何提供它的cdf。如果您能指导我,我将不胜感激。

from scipy import stats
kde = stats.gaussian_kde(data)

【问题讨论】:

  • 您能描述一下ksdensity 的作用吗?还是我们必须查一下?您可能比我们大多数人更详细地研究了 MATLAB 和 scipy 的文档。

标签: python matlab scipy scipy.stats


【解决方案1】:

试试这个,link

def insert_size(insert_size_distribution):
    """Calculate cumulative distribution function from the raw insert size
    distributin. Uses 1D kernel density estimation.

    Args:
        insert_size_distribution (list): list of insert sizes from aligned
        read pairs

    Returns:
        1darray: a cumulative density function
    """
    kde = stats.gaussian_kde(
        insert_size_distribution,
        bw_method=0.2 / np.std(insert_size_distribution, ddof=1))
    x_grid = np.linspace(
        min(insert_size_distribution),
        max(insert_size_distribution), 1000)
    kde = kde.evaluate(x_grid)
    cdf = np.cumsum(kde)
    cdf = cdf / cdf[-1]
    return cdf 

【讨论】:

    【解决方案2】:

    以下代码适用于我:

    import scipy
    kde = scipy.stats.gaussian_kde(data)
    my_cdf = scipy.stats.norm.cdf(kde)
    

    【讨论】:

      猜你喜欢
      • 2021-04-22
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多