【问题标题】:scipy.stats.linregress - get p-value of interceptscipy.stats.linregress - 获取截距的 p 值
【发布时间】:2015-04-29 11:34:28
【问题描述】:

scipy.stats.linregress 返回与斜率对应的 p 值,但没有截距的 p 值。考虑文档中的以下示例:

>>> from scipy import stats
>>> import numpy as np
>>> x = np.random.random(10)
>>> y = np.random.random(10)
>>> slope, intercept, r_value, p_value, std_err = stats.linregress(x,y)
>>> p_value
0.40795314163864016

根据文档,p-value 是“假设检验的双边 p 值,其零假设是斜率为零。”我想获得相同的统计数据,但是对于截距而不是斜率。

statsmodels.regression.linear_model.OLS 立即返回两个系数的 p 值:

>>> import numpy as np

>>> import statsmodels.api as sm

>>> X = sm.add_constant(x)
>>> model = sm.OLS(y,X)
>>> results = model.fit()
>>> results.pvalues
array([ 0.00297559,  0.40795314])    

仅使用 scipy,如何获得截距的 p 值 (0.40795314163864016)?

【问题讨论】:

    标签: python statistics scipy statsmodels


    【解决方案1】:

    来自 SciPy.org 文档: https://docs.scipy.org/doc/scipy-.14.0/reference/generated/scipy.stats.linregress.html

    in: print "r-squared:", r_value**2

    输出:r 平方:0.15286643777

    其他参数试试:

    print ('Intercept is: ', (intercept))
    print ('Slope is: ', (slope))
    print ('R-Value is: ', (r_value))
    print ('Std Error is: ', (std_err))
    print ('p-value is: ', (p_value))
    

    【讨论】:

    • 截距的 p 值问题。这不是答案。
    猜你喜欢
    • 2018-05-29
    • 1970-01-01
    • 2020-01-31
    • 2014-06-30
    • 2019-01-02
    • 2022-01-07
    • 2019-08-14
    • 2013-10-12
    • 1970-01-01
    相关资源
    最近更新 更多