数学建模 笔记1:数据处理与拟合模型

数学建模 笔记1:数据处理与拟合模型

本文以datawhale的数学建模教材为课本,文章内容是对应章节的整理。
教材链接:datawhale math-modeling

常见的统计分析模型

回归分析与分类分析

回归分析

回归分析的目的是为了处理多变量间的相关性;
可使用回归分析的前提:自变量为非随机变量,因变量为随机变量;
分类:线性回归分析、逻辑回归分析

线性回归(此处只介绍多元线性回归)

Y = a 1 x 1 + a 2 x 2 + . . . + a n x n + b Y = a_1x_1+a_2x_2+...+a_nx_n+b Y=a1x1+a2x2+...+anxn+b
其中 a 1 , . . . , a n a_1,...,a_n a1,...,an代表回归系数,b代表截距。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
import seaborn as sns
from IPython.display import display
import statsmodels.api as sm

# 加载数据
gpa1=pd.read_stata('./data/gpa1.dta')

# 在数据集中提取自变量(ACT为入学考试成绩、hsGPA为高考成绩)
X1=gpa1.ACT
X2=gpa1[['ACT','hsGPA']]
# 提取因变量
y=gpa1.colGPA

# 为自变量增添截距项
X1=sm.add_constant(X1)
X2=sm.add_constant(X2)
display(X2)


# 拟合两个模型
gpa_lm1=sm.OLS(y,X1).fit()
gpa_lm2=sm.OLS(y,X2).fit()

# 输出两个模型的系数与对应p值
p1=pd.DataFrame(gpa_lm1.pvalues,columns=['pvalue'])
c1=pd.DataFrame(gpa_lm1.params,columns=['params'])
p2=pd.DataFrame(gpa_lm2.pvalues,columns=['pvalue'])
c2=pd.DataFrame(gpa_lm2.params,columns=['params'])
display(c1.join(p1,how='right'))
display(c2.join(p2,how='right'))

根据上述代码,我们可以整理出回归方法的思路:
1.提取数据
2.为自变量添加截距,即sm.add_constant函数
3.sm.OLS:最小二乘回归,达到线性回归的效果
4.获取系数

数据结果如下:
数据结果
此处pvalue提供了系数的P值,用于判断系数的显著性(概统已经快忘光了(汗)),即P<0.05时,可以说明系数对应自变量对于因变量有显著影响,否则不显著。
故根据图像结果可以看出ACT(入学考试成绩)和hsGPA成绩均对GPA会有显著影响。(题目要求可以在教材6.3.1中查询到)
此处需要注意, p v a l u e ( A C T ) > p v a l u e ( h s G P A ) pvalue(ACT)>pvalue(hsGPA) pvalue(ACT)>pvalue(hsGPA)的意义在于hsGPA与GPA的相关度比ACT与GPA的相关度高。

分类分析
Logistic回归

逻辑回归的作用:解决二(多)分类的问题;通过sigmoid函数表示分类概率:
g ( z ) = 1 1 + e − z g(z)= \frac{1}{1+e^{-z}} g(z)=1+ez1

# 加载基础包
import pandas as pd
import numpy as np
import statsmodels.api as sm
from scipy import stats

# 读取数据
ST=pd.read_csv('./data/ST.csv')
ST.head()

st_logit=sm.formula.logit('ST~ARA+ASSET+ATO+ROA+GROWTH+LEV+SHARE',data=ST).fit()
print(st_logit.summary())

对于逻辑回归,可以直接调用python函数进行处理。结果如下:
在这里插入图片描述
同样,根据P值判断显著性,即ARA变量具有显著性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值