Python关于如何进行简单线性回归拟合以及出图 |
您所在的位置:网站首页 › excel数据拟合公式导出 › Python关于如何进行简单线性回归拟合以及出图 |
1.首先 需要准备第三方库statsmodels(数学模型),pandas(读取excel文件),matplotlib(出图)
import statsmodels.api as sm
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
2.读取需要进行线性回归的Excel文件,利用pandas自带的read方法(此处以研究GDP与price的关系为例 具体代码如下)
data=pd.read_excel('SJ.xls',index_col='t')
print (data)
y=data['price']
x=data['GDP']
此实例(“SJ.xls”)中Excel表格共有两列数据,分别是price和GDP,其中index_col是索引列,用以标注方便查看。y因变量为price列所有数据,x自变量为GDP列的所有数据。如下图所示: 会得到一张统计表格,拟合度以及参数。 4.出图 #以下用于出图 plt.figure() plt.rcParams['font.sans-serif'] = ['Kaiti'] # 指定默认字体 plt.title(u"线性回归预测GDP和价格") plt.xlabel(u"x") plt.ylabel(u"price") plt.axis([0, 15000, 0, 1000000]) plt.scatter(x, y, marker="o",color="b", s=50) plt.plot(x_n, y, linewidth=3, color="r") plt.show() 5.完整代码 # -*- coding: utf-8 -*- import numpy as np import statsmodels.api as sm import pandas as pd import statsmodels.api as sm import matplotlib.pyplot as plt data=pd.read_excel('SJ.xls',index_col='t') print (data) y=data['price'] x=data['GDP'] # 线性回归拟合 x_n = sm.add_constant(x) #statsmodels进行回归时,一定要添加此常数项 model = sm.OLS(y, x_n) #model是回归分析模型 results = model.fit() #results是回归分析后的结果 #输出回归分析的结果 print(results.summary()) print('Parameters: ', results.params) print('R2: ', results.rsquared) #以下用于出图 plt.figure() plt.rcParams['font.sans-serif'] = ['Kaiti'] # 指定默认字体 plt.title(u"线性回归预测GDP和价格") plt.xlabel(u"x") plt.ylabel(u"price") plt.axis([0, 15000, 0, 1000000]) plt.scatter(x, y, marker="o",color="b", s=50) plt.plot(x_n, y, linewidth=3, color="r") plt.show()
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |