经验分位数比较效应

2024-05-19 00:41:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用经验数据重建以下积分:

enter image description here

其中F,G是cdf,它们的逆是分位数函数。在

我的代码是:

def eqces(u,v):
    import numpy as np
    import statsmodels.api as sm
    from scipy.stats.mstats import mquantiles

    ecdfu = sm.distributions.ECDF(u)
    ecdfv = sm.distributions.ECDF(v)
    p = np.concatenate([ecdfu.y, ecdfv.y])
    p = np.unique(p) 
    p.sort()

    qfu = mquantiles(u, p)
    qfv = mquantiles(v, p)

    uvinv = ecdfu(qfv)
    vuinv = ecdfv(qfu)

    result = abs(uvinv - p) + abs(vuinv - p)
    return np.dot(result, np.ones(p.size))

有了这一点,我希望eqces(u,u) = 0u = np.random.uniform(0,1,50),但通常情况并非如此。有人能告诉我是不是做错了什么或者提出替代方案吗?在

Edit

此代码在某些分析结果下似乎能更好地工作:

^{pr2}$

Tags: 代码importasnpdistributionssmecdfecdfv
1条回答
网友
1楼 · 发布于 2024-05-19 00:41:03

我的猜测是ECDFmquantiles没有使用相同的绘图位置

mquantiles有可选关键字alphap=0.4, betap=0.4。在

在这种情况下,p和{}不会往返。在

然而,在大样本中,差异应该很小。在

scipy.stats.ks_2samp正在执行类似的操作,但是直接使用numpy而不使用helper函数。在

顺便问一下:这两个分布之间的距离度量有名字吗?在

相关问题 更多 >

    热门问题