ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用python进行数据清洗及ols回归分析

2021-03-02 22:00:35  阅读:298  来源: 互联网

标签:python df ols 托宾 pd estimator 套期 import 清洗


本文使用jupyter平台进行回归分析,相比pycharm而言,jupyter可分布查看各个步骤结果,能及时发现问题

import pandas as pd
from matplotlib import pyplot as plt
from sklearn.linear_model import LinearRegression
import statsmodels.api as sm
import numpy as np
# 1、读取数据
df = pd.read_csv("2021-2-7all_year.csv")
df.head()
df.shape

# 2、数据预处理
# 2.1 缺失值处理
df['是否套期(年报)'] = df['是否套期(年报)'].fillna(value=0)  # 缺失值用0填充
df = df.dropna(subset=["托宾q","是否套期(年报)",'是否套期(公告)','ln_资产总计','资产负债率','营业收入增长率A','速动比率','股权集中度'])  # 删除缺失数据速动比率

# 2.2数值变换
df['ln_资产总计'] =np.log(df['资产总计'].values+1) # 变换log类型
df['股权集中度'] = df['股权集中指标4(%)']*0.01 #将百分数变为小数
df.describe()  # 做描述统计
df.info()    # 统计数据类型及个数

# 2.3数值类型变换
# df = pd.DataFrame(df,dtype=np.float)
df['托宾q']=pd.to_numeric(df['托宾q'],errors='coerce')  # 2.4.1转换数值类型为float
df['托宾q'].dtype
df['风险因子_流通市值加权_Beta_TMV']=pd.to_numeric(df['风险因子_流通市值加权_Beta_TMV'],errors='coerce')
df['风险因子_流通市值加权_Beta_TMV'].dtype
df.describe()

# 2.4 异常值处理
# 绘制箱线图(1.5倍的四分位差,如需绘制3倍的四分位差,只需调整whis参数)
plt.boxplot(x=df['托宾q'])
plt.show()
df.info()

# 3.模型搭建 
x = df[['是否套期(年报)','ln_资产总计','资产负债率','营业收入增长率A','速动比率','股权集中度']]
y = df['托宾q']
estimator = LinearRegression().fit(x,y)
y_pre = estimator.predict(x)

# 4.线性回归方程的构造
print('系数a:'+str(estimator.coef_))
print('系数b:'+str(estimator.intercept_))

# 5模型评估-ols
X = sm.add_constant(x)
est = sm.OLS(y,X).fit()
# result = est.fit()
est.summary()

回归分析的关键在于数据处理,要充分利用df.info()以及df.describe()函数,观察数据类型、异常值、缺失值等,进一步做处理

标签:python,df,ols,托宾,pd,estimator,套期,import,清洗
来源: https://blog.csdn.net/feinisite/article/details/114294950

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有