用python进行多元OLS回归

详细解析

使用jupternotebook作为编译软件进行代码实现(当然也可以用Pycharm):

  1. 导入需要使用的包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
# 魔法方法,可以将matplotlib的图表直接嵌入到Notebook之中
%matplotlib inline
  1. 导入数据
data = pd.read_excel('C:/Users/Desktop/Lab_01_data.xlsx')
  1. 数据处理
data=pd.DataFrame(data)
  1. 对总体数据进行描述性统计
data.describe()

描述性统计输出结果

描述性统计输出结果

  1. 绘制受教育年限和工作经验(年限)的直方图
#解决中文字体显示的问题,直接复制运行
plt.rcParams['font.sans-serif']=['simhei']
plt.rcParams['axes.unicode_minus']=False
#x值
newx=[data['SCHOOL'],data['EXPER']]
labels=['SCHOOL','EXPER']
plt.hist(newx,label=labels)
#设置图例
plt.legend(loc='upper left')
#x、y轴标签
plt.xlabel("年限")
plt.ylabel("人数")
#表标题
plt.title('education and experience')

直方图输出结果

直方图

  1. 绘制工资和受教育年限的散点图并添加拟合回归线
x=data['SCHOOL']
y=data['LOGWAGE']
z1 = np.polyfit(x, y, 1) # 1表示用1次多项式拟合
p1 = np.poly1d(z1)#拟合方程
f=p1(x) 
plt.scatter(data['SCHOOL'],data['LOGWAGE'])
plot2=plt.plot(x, f, 'r',label='polyfit values')#画拟合线

散点图输出结果

散点图

  1. 最小二乘回归(OLS
x = data[['BLACK','EXPER','HISP','MAR','SCHOOL','UNION']]
y = data[['LOGWAGE']]
x=sm.add_constant(x) #添加常数项
est=sm.OLS(y,x)
model=est.fit()#建立最小二乘回归模型
print(model.summary())

回归结果

回归结果

说明

回归方程为:
L O G W A G E i = β 1 + β 2 S C H O O L i + β 3 E X P E R i + β 4 U N I O N i + β 5 M A R i + β 6 B L A C K i + β 7 H I S P i + ϵ i LOGWAGE_i = \beta_1 + \beta_2SCHOOL_i +\beta_3EXPER_i + \beta_4UNION_i + \beta_5MAR_i + \beta_6BLACK_i + \beta_7HISP_i +\epsilon_i LOGWAGEi=β1+β2SCHOOLi+β3EXPERi+β4UNIONi+β5MARi+β6BLACKi+β7HISPi+ϵi

  • 18
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Python中,使用`statsmodels`库中的`ols`函数可以进行多元线性回归。下面是一个使用`ols`函数进行多元线性回归的例子: ```python import statsmodels.api as sm import statsmodels.formula.api as smf # 构建多元线性回归模型 model = smf.ols(formula='y ~ x1 + x2 + x3', data=data).fit() # 查看模型结果 model.summary() ``` 在这个例子中,`y`是因变量,`x1`、`x2`和`x3`是自变量。`ols`函数会拟合一个带有截距项的多元线性回归模型,并返回一个结果对象。可以使用结果对象的`summary`方法来查看模型的详细结果,包括显著性检验、拟合优度等指标。 在多元线性回归中,常用的检验指标包括F-statistic、R-squared和P>|t|。 F-statistic用于检验自变量整体对因变量的影响,而R-squared用于衡量模型的拟合优度,取值范围在0到1之间,值越接近1表示拟合效果越好。P>|t|用于对每个自变量进行显著性检验,判断自变量是否对因变量有显著影响。通常,显著性水平阈值为0.05或0.1,如果P>|t|大于阈值,则认为该自变量不显著。 此外,可以使用根据summary得出的图表进行显著性检验和拟合优度检验。还可以使用库克距离来判断强影响点是否为因变量的异常值点。一般来说,当库克距离小于0.5时,认为该点不是异常值点;当库克距离大于0.5时,认为该点是异常值点。 需要注意的是,模型图形诊断也是多元线性回归中的重要步骤,可以使用散点图、残差图等方法对模型进行诊断和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值