美文网首页
Python3.0 Statsmodels库 简单线性回归

Python3.0 Statsmodels库 简单线性回归

作者: wangsb_2020 | 来源:发表于2020-03-13 17:50 被阅读0次

    Statsmodels库是Python中一个强大的统计分析库,包括假设检验、回归分析、时间序列分析等功能

    import statsmodels.formula.api as smf
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 生产数据集X,Y进行回归分析
    data = pd.DataFrame({'X':np.arange(10, 20, 0.25)})
    data['Y'] = 2 * data['X'] +1 + np.random.randn(40)
    
    # 上面程序生成的数据为 y=2*x+1 并加上随机数,接下来使用smf.ols()函数来拟合线性回归方程
    mod = smf.ols("Y ~ X", data).fit()
    #表示针对数据集data,使用Y作为因变量,X作为自变量,拟合回归方程,然后使用smf.ols的fit()方法拟合模型
    #使用mod的summary()属性输出模型的结果。
    print(mod.summary())
    
    image.png
    # 从结果中发现拟合模型为 y= x  ,并且R-squared = ,说明此模型拟合得非常好。
    # 画出模型原始数据的散点图和回归方程的直线图,以观察拟合效果。
    data.plot(x='X', y='Y', kind='scatter', figsize=(8,5))
    plt.plot(data['X'], mod.params[0]+mod.params[1]*data['X'], 'r')
    plt.text(10,38,'y='+str(round(mod.params[1],4))+' * x + ' + str(round(mod.params[0], 4)))
    plt.title('simple linear regression')
    plt.show()
    
    image.png

    相关文章

      网友评论

          本文标题:Python3.0 Statsmodels库 简单线性回归

          本文链接:https://www.haomeiwen.com/subject/mwxsshtx.html