有谁知道标准偏差的置信区间是如何用Matlab中的范数拟合函数计算的吗?我需要一个python代码来计算这样的参数。在MATLAB中,范数拟合返回均值的均值、标准差的置信区间(muCI)和标准差的置信区间(sigmaCI) 4个参数。
[muHat,sigmaHat,muCI,sigmaCI] = normfit(x)
下面的python代码提供了三个参数,muHat、sigmaHat和muCI。但是我需要std (sigmaCI)在Python中的置信区间。
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]
发布于 2019-06-04 09:43:25
下面是Python中的normfit函数。
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]
https://stackoverflow.com/questions/56440249
复制相似问题