本文整理汇总了Python中scipy.stats.t.sf方法的典型用法代码示例。如果您正苦于以下问题:Python t.sf方法的具体用法?Python t.sf怎么用?Python t.sf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scipy.stats.t
的用法示例。
在下文中一共展示了t.sf方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: pvalues
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def pvalues(self):
#TODO: same for conditional and unconditional?
df_resid = self.df_resid
return t.sf(np.abs(self.tvalues), df_resid) * 2
示例2: test_pvalue
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def test_pvalue(self):
assert_almost_equal(self.Ttest.pvalue, student_t.sf(
np.abs(self.res1.tvalues), self.res1.model.df_resid)*2,
DECIMAL_4)
示例3: _p_value_raw
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def _p_value_raw(self):
"""Returns the raw p values."""
from scipy.stats import t
return 2 * t.sf(np.fabs(self._t_stat_raw),
self._df_resid_raw)
示例4: p_z_norm
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def p_z_norm(est, se):
'''Convert estimate and se to Z-score and P-value.'''
try:
Z = est / se
except (FloatingPointError, ZeroDivisionError):
Z = float('inf')
P = chi2.sf(Z ** 2, 1, loc=0, scale=1) # 0 if Z=inf
return P, Z
示例5: student_t
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def student_t(t_input: Tuple[str, float],
radius: float,
size: float,
ignore: bool) -> float:
"""
Function to calculate the false positive fraction for a given sigma level (Mawet et al. 2014).
Parameters
----------
t_input : tuple(str, float)
Tuple with the input type ('sigma' or 'fpf') and the input value.
radius : float
Aperture radius (in pixels).
size : float
Separation of the aperture center from the center of the frame (in pixels).
ignore : bool
Whether or not to ignore the immediate neighboring apertures of the point source to exclude
potential self-subtraction lobes.
Returns
-------
float
False positive fraction (FPF).
"""
num_ap = int(math.pi * radius / size)
if ignore:
num_ap -= 2
# Note that the number of degrees of freedom is given by nu = n-1 with n the number of samples.
# The number of samples is equal to the number of apertures minus 1 (i.e. the planet aperture).
# See Section 3 of Mawet et al. (2014) for more details on the Student's t distribution.
if t_input[0] == 'sigma':
t_result = t.sf(t_input[1], num_ap-2, loc=0., scale=1.)
elif t_input[0] == 'fpf':
t_result = t.ppf(1. - t_input[1], num_ap-2, loc=0., scale=1.)
else:
raise ValueError('First element of t_input needs to be "sigma" or "fpf"!')
return t_result
示例6: bicor
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def bicor(x, y, c=9):
"""
Biweight midcorrelation.
Parameters
----------
x, y : array_like
First and second set of observations. x and y must be independent.
c : float
Tuning constant for the biweight estimator (default = 9.0).
Returns
-------
r : float
Correlation coefficient.
pval : float
Two-tailed p-value.
Notes
-----
This function will return (np.nan, np.nan) if mad(x) == 0 or mad(y) == 0.
References
----------
https://en.wikipedia.org/wiki/Biweight_midcorrelation
https://docs.astropy.org/en/stable/api/astropy.stats.biweight.biweight_midcovariance.html
Langfelder, P., & Horvath, S. (2012). Fast R Functions for Robust
Correlations and Hierarchical Clustering. Journal of Statistical Software,
46(11). https://www.ncbi.nlm.nih.gov/pubmed/23050260
"""
from scipy.stats import t
# Calculate median
nx = x.size
x_median = np.median(x)
y_median = np.median(y)
# Raw median absolute deviation
x_mad = np.median(np.abs(x - x_median))
y_mad = np.median(np.abs(y - y_median))
if x_mad == 0 or y_mad == 0:
# From Langfelder and Horvath 2012:
# "Strictly speaking, a call to bicor in R should return a missing
# value if mad(x) = 0 or mad(y) = 0." This avoids division by zero.
return np.nan, np.nan
# Calculate weights
u = (x - x_median) / (c * x_mad)
v = (y - y_median) / (c * y_mad)
w_x = (1 - u**2)**2 * ((1 - np.abs(u)) > 0)
w_y = (1 - v**2)**2 * ((1 - np.abs(v)) > 0)
# Normalize x and y by weights
x_norm = (x - x_median) * w_x
y_norm = (y - y_median) * w_y
denom = (np.sqrt((x_norm**2).sum()) * np.sqrt((y_norm**2).sum()))
# Calculate r, t and two-sided p-value
r = (x_norm * y_norm).sum() / denom
tval = r * np.sqrt((nx - 2) / (1 - r**2))
pval = 2 * t.sf(abs(tval), nx - 2)
return r, pval
示例7: _overlap_output
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def _overlap_output(self, category_names, overlap_matrix, M_annot, M_tot, print_coefficients):
'''LD Score regression summary for overlapping categories.'''
overlap_matrix_prop = np.zeros([self.n_annot,self.n_annot])
for i in range(self.n_annot):
overlap_matrix_prop[i, :] = overlap_matrix[i, :] / M_annot
prop_hsq_overlap = np.dot(
overlap_matrix_prop, self.prop.T).reshape((1, self.n_annot))
prop_hsq_overlap_var = np.diag(
np.dot(np.dot(overlap_matrix_prop, self.prop_cov), overlap_matrix_prop.T))
prop_hsq_overlap_se = np.sqrt(
np.maximum(0, prop_hsq_overlap_var)).reshape((1, self.n_annot))
one_d_convert = lambda x: np.array(x).reshape(np.prod(x.shape))
prop_M_overlap = M_annot / M_tot
enrichment = prop_hsq_overlap / prop_M_overlap
enrichment_se = prop_hsq_overlap_se / prop_M_overlap
overlap_matrix_diff = np.zeros([self.n_annot,self.n_annot])
for i in range(self.n_annot):
if not M_tot == M_annot[0,i]:
overlap_matrix_diff[i, :] = overlap_matrix[i,:]/M_annot[0,i] - \
(M_annot - overlap_matrix[i,:]) / (M_tot-M_annot[0,i])
diff_est = np.dot(overlap_matrix_diff,self.coef)
diff_cov = np.dot(np.dot(overlap_matrix_diff,self.coef_cov),overlap_matrix_diff.T)
diff_se = np.sqrt(np.diag(diff_cov))
diff_p = ['NA' if diff_se[i]==0 else 2*tdist.sf(abs(diff_est[i]/diff_se[i]),self.n_blocks) \
for i in range(self.n_annot)]
df = pd.DataFrame({
'Category': category_names,
'Prop._SNPs': one_d_convert(prop_M_overlap),
'Prop._h2': one_d_convert(prop_hsq_overlap),
'Prop._h2_std_error': one_d_convert(prop_hsq_overlap_se),
'Enrichment': one_d_convert(enrichment),
'Enrichment_std_error': one_d_convert(enrichment_se),
'Enrichment_p':diff_p,
'Coefficient': one_d_convert(self.coef),
'Coefficient_std_error': self.coef_se,
'Coefficient_z-score': one_d_convert(self.coef) / one_d_convert(self.coef_se)
})
if print_coefficients:
df = df[['Category', 'Prop._SNPs', 'Prop._h2', 'Prop._h2_std_error',
'Enrichment','Enrichment_std_error', 'Enrichment_p',
'Coefficient', 'Coefficient_std_error','Coefficient_z-score']]
else:
df = df[['Category', 'Prop._SNPs', 'Prop._h2', 'Prop._h2_std_error',
'Enrichment','Enrichment_std_error', 'Enrichment_p']]
return df
示例8: full_glm_results
# 需要导入模块: from scipy.stats import t [as 别名]
# 或者: from scipy.stats.t import sf [as 别名]
def full_glm_results(endog_arr, exog_vars, return_resids = False, only_tvals = False, PCA_whiten = False, ZCA_whiten = False, orthogonalize = True, orthogNear = False, orthog_GramSchmidt = False):
if np.mean(exog_vars[:,0])!=1:
print("Warning: the intercept is not included as the first column in your exogenous variable array")
n, num_depv = endog_arr.shape
k = exog_vars.shape[1]
if orthogonalize:
exog_vars = sm.add_constant(orthog_columns(exog_vars[:,1:]))
elif orthogNear:
exog_vars = sm.add_constant(ortho_neareast(exog_vars[:,1:]))
elif orthog_GramSchmidt: # for when order matters AKA type 2 sum of squares
exog_vars = sm.add_constant(gram_schmidt_orthonorm(exog_vars[:,1:]))
else:
pass
invXX = np.linalg.inv(np.dot(exog_vars.T, exog_vars))
DFbetween = k - 1 # aka df model
DFwithin = n - k # aka df residuals
DFtotal = n - 1
if PCA_whiten:
endog_arr = PCAwhiten(endog_arr)
if ZCA_whiten:
endog_arr = ZCAwhiten(endog_arr)
a = cy_lin_lstsqr_mat(exog_vars, endog_arr)
sigma2 = np.sum((endog_arr - np.dot(exog_vars,a))**2,axis=0) / (n - k)
se = se_of_slope(num_depv,invXX,sigma2,k)
if only_tvals:
return a / se
else:
resids = endog_arr - np.dot(exog_vars,a)
RSS = np.sum(resids**2,axis=0)
TSS = np.sum((endog_arr - np.mean(endog_arr, axis =0))**2, axis = 0)
R2 = 1 - (RSS/TSS)
std_y = np.sqrt(TSS/DFtotal)
R2_adj = 1 - ((1-R2)*DFtotal/(DFwithin))
Fvalues = ((TSS-RSS)/(DFbetween))/(RSS/DFwithin)
Tvalues = a / se
Pvalues = t.sf(np.abs(Tvalues), DFtotal)*2
if return_resids:
fitted = np.dot(exog_vars, a)
return (Fvalues, Tvalues, Pvalues, R2, R2_adj, np.array(resids), np.array(fitted))
else:
return (Fvalues, Tvalues, Pvalues, R2, R2_adj)