大数跨境
0
0

基于Stasmodel的OLS实现

基于Stasmodel的OLS实现 数据皮皮侠
2019-11-10
0
导读:Statsmodels 是Python中一个强大的统计分析包,包含了回归分析、时间序列、假设检验等功能。


Statsmodels 是Python中一个强大的统计分析包,包含了回归分析、时间序列、假设检验等功能。它可以和Python中的其他任务,如Numpy、Pandas,有效结合,提高工作效率。那么我们以最常用的OLS功能来介绍Statsmodels吧。




Part1 一元线性回归



1. 准备工作

import numpy as npimport matplotlib.pyplot as pltimport statsmodels.api as sm

2.生成100个点,并加上随机干扰项

nsample=100x=np.linspace(0,10,nsample)X=sm.add_constant(x)beta=np.array([1,10])e=np.random.normal(size=nsample)y=np.dot(X,beta)+5*e

3.估计参数,并得到结果

model=sm.OLS(y,X)results=model.fit()print(results.params)

4. 画出图像

y_fitted=results.fittedvaluesfig,ax=plt.subplots(figsize=(8,6))ax.plot(x,y,'*',label='data')ax.plot(x,y_fitted,'y-.',label='OLS')ax.legend(loc='best')

5.给出回归结果




Part2:多元线性回归



1.创建100个数值,并且生成平方生成另一组数,与系数矩阵beta相乘,并且加上随机误差

nsample=100x=np.linspace(0,10,nsample)X=np.column_stack((x,x**2))X=sm.add_constant(X)beta=np.array([1,-3,5])e=np.random.normal(size=nsample)y=np.dot(X,beta)+10*e

2.进行最小二乘拟合

model=sm.OLS(y,X)results=model.fit()

3.得到结果

print(results.params)

4. 画出图像

y_fitted=results.fittedvaluesfig,ax=plt.subplots(figsize=(8,6))ax.plot(x,y,'*',label='data')ax.plot(x,y_fitted,'y-.',label='OLS')ax.legend(loc='best')

5. 打印出结果




小结



线性规划,是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法。

虽然,Statsmodel可以实现很多统计功能,但是还是没有专业的统计软件的傻瓜操作来得方便,不过,与其python其他功能结合可以提高效率。

本期作者 : 罗羽萱

本期编辑校对:张惠宁

▇ 扫码关注数据皮皮侠


【声明】内容源于网络
0
0
数据皮皮侠
社科数据综合服务中心,立志服务百千万社科学者
内容 2137
粉丝 0
数据皮皮侠 社科数据综合服务中心,立志服务百千万社科学者
总阅读615
粉丝0
内容2.1k