多元线性回归模型计算公式,简单线性回归模型参数估计公式

首页 > 影视动漫 > 作者:YD1662023-11-06 03:45:31

1 问题概述

数据集data.xlsx中包含238行的深度、岩性描述、水饱和度、油饱和度、岩心和毛管等相关参数信息,挑取有较好线性相关性的信息用以拟合水平渗透率。

多元线性回归模型计算公式,简单线性回归模型参数估计公式(1)

图1 数据集信息

任务要求:

1. 将所给数据集进行预处理,优选特征后切分成训练集和测试集(建议按4:1切分);

2. 使用Python或自己熟知的语言对训练数据建模(模型不限);

3. 使用建立的模型对测试集的渗透率进行预测,将预测渗透率值作为最后一列合并到测试集数据表中,并计算平均误差。

下面结合任务要求展开本次回归分析实验的介绍。

2 数据预处理

首先加载数据集,将'岩性描述'一列剔除(汉字无法被拟合),'油饱和度,%','水饱和度,%'残缺数据过多,故剔除;'孔隙度,%'和'水平渗透率,10-3μm2'中含有空余数据,将空数据所在行整体剔除,实现代码如下:

data = pd.read_excel(r'G:\Loong_2021\bd_fhw\data.xlsx') #加载数据集 data = data.dropna(subset=['孔隙度,%', '水平渗透率,10-3μm2']) #剔除无效行数据 data = data.drop(['岩性描述','水饱和度,%','油饱和度,%']) #剔除无效列数据2 数据分析及选取

利用seaborn包进行数据的可视化呈现。

seaborn是基于Matplotlib的Python数据可视化库。它提供了一个高级界面,用于绘制引人入胜且内容丰富的统计图形,同时对Matplotlib进行了更高级的API封装,从而使作图更加容易;
seaborn是针对统计绘图的,能满足数据分析90%的绘图需求,需要复杂的自定义图形还需要使用到Matplotlib。

seaborn中的相关性热点图,初步发现数据中包含的线性关系。corr(x,y)是相关系数,用来刻画二维随机变量两个分量间相互关联程度。

corr(x,y) 在-1到1之间,也就是说相关系数介于-1到1之间,并可以对它作一下几个说明明:corr(x,y) =0则称X,Y不相关,不相关是指X,Y没有线性关系,但也有可能有其他关系,比如平方关系,立方关系等 。corr(x,y) =1,则称X与Y完全正相关,corr(x,y) =-1,则称X,Y完全负相关。

下面展示相关性热点图实现代码及展示效果解读:

import seaborn as sns plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False #汉字编码 sns.heatmap(data.corr()) #相关性热点图,corr()判断相关性

OUTPUT:

多元线性回归模型计算公式,简单线性回归模型参数估计公式(2)

图2 相关性热点图

上图中横纵坐标对称,颜色越淡代表相关性(正)越强,越深则代表负相关性越强。根据相关性热点图可初步选定正负相关性较好的数据,如孔隙度、总进汞量、最大进汞饱和度、残留汞饱和度、最大饱和度增量、峰态和最大增量对应直径具有较好的正相关性,而退汞效率具有较好的负相关性。故首先选择如上数据进行训练拟合,并划分训练集和测试集。

X

OUTPUT:

多元线性回归模型计算公式,简单线性回归模型参数估计公式(3)

from sklearn.model_selection import train_test_split

#sklearn中包含数据集切分的函数train_test_split,直接调取使用 x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2) #random_state #测试集参数设0.2,及1:4切分3 线性回归模型

sklearn库中有很多线性回归的模型,本次作业选取其中的LinearRegression, Lasso以及最小二乘法进行数据测试。

线性回归算法模型很简单,每条数据有n个特征,每个特征对应着一个自己的权重值,与权重的乘积再加上一个偏置值,这个就是线性回归模型,公式如下(n代表特征数目,m代表样本数目):

y=w1∗x1 w2∗x2 ... wnxn b

假设有m个样本,写成矩阵的形式就是:

多元线性回归模型计算公式,简单线性回归模型参数估计公式(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.