Statistics:Python OLS简单一元线性回归之Scipy包(一)

Statistics

Python OLS简单一元线性回归之Scipy包(一)

写在前面 使用 python 做线性回归分析有好几种方式,常要的分别是 scipy 包,statsmodels 包,以及 sklearn 包。在这里会依次更新这几种方式的简单一元线性回归。并附上之间的区别与评价。

Excel数据结构
Statistics:Python OLS简单一元线性回归之Scipy包(一)_第1张图片
这里我们通过Excel中第四列和第五列的数据通过OLS计算顺丰CAPM的β系数。

代码

import scipy.stats as st
import pandas as pd
import matplotlib.pyplot as plt

datas = pd.read_excel('D:\\vscode\\第八章\\顺丰β系数.xlsx',sheet_name='Sheet1',header=2,index_col=0,usecols=4,skip_footer=5) 
datas.head()
datas=datas.dropna()
y = datas.iloc[:, 2] # 因变量为第 4 列数据(注意index_col=0的操作)
x = datas.iloc[:, 3] # 自变量为第 5 列数据

# 线性拟合,可以返回斜率,截距,r 值,p 值,标准误差
slope, intercept, r_value, p_value, std_err = st.linregress(x, y)

print(slope)# 输出斜率
print(intercept) # 输出截距
print(r_value**2) # 输出 r^2

效果图
Statistics:Python OLS简单一元线性回归之Scipy包(一)_第2张图片

评价
scipy 中scipy.stats linregress 函数的回归分析比较简单,目前只能做一元线性回归,也不能用来做预测。

你可能感兴趣的:(Python,OLS,一元线性回归,计量经济学,Scipy)