首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matlab中“规范”的等效python代码

Matlab中“规范”的等效python代码
EN

Stack Overflow用户
提问于 2019-06-04 08:37:19
回答 1查看 489关注 0票数 0

有谁知道标准偏差的置信区间是如何用Matlab中的范数拟合函数计算的吗?我需要一个python代码来计算这样的参数。在MATLAB中,范数拟合返回均值的均值、标准差的置信区间(muCI)和标准差的置信区间(sigmaCI) 4个参数。

代码语言:javascript
运行
复制
[muHat,sigmaHat,muCI,sigmaCI] = normfit(x)

下面的python代码提供了三个参数,muHat、sigmaHat和muCI。但是我需要std (sigmaCI)在Python中的置信区间。

代码语言:javascript
运行
复制
def function(data, confidence= 0.95):
    a = 1.0 * np.array(data)
    n = len(a)
    m ,se =  np.mean(a), scipy.stats.sem(a)
    h = se * scipy.stats.t.ppf((1 + confidence) / 2., n - 1)
    sigma = np.std(data, ddof=1)
    return m, sigma, [m - h, m + h]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-04 09:43:25

下面是Python中的normfit函数。

代码语言:javascript
运行
复制
 def normfit(self, data, confidence=0.95):
        a = 1.0 * np.array(data)
        n = len(a)
        m, se = np.mean(a), scipy.stats.sem(a)
        h = se * scipy.stats.t.ppf((1 + confidence) / 2., n - 1)
        var = np.var(data, ddof=1)
        varCI_upper = var * (n - 1) / (scipy.stats.chi2.ppf((1-confidence) / 2, n - 1))
        varCI_lower = var * (n - 1) / (scipy.stats.chi2.ppf(1-(1-confidence) / 2, n - 1))
        sigma = np.sqrt(var)
        sigmaCI_lower = np.sqrt(varCI_lower)
        sigmaCI_upper = np.sqrt(varCI_upper)

        return m, sigma, [m - h, m + h], [sigmaCI_lower, sigmaCI_upper]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56440249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档