多元线性回归算法预测房价

目录

一、前言

(一)多元线性回归模型

(二)表达式和计算模型

二、EXCEL求解回归方程

三、用机器学习库Sklearn库重做上面的多元线性回归。

四、参考文章

一、前言

(一)多元线性回归模型

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测估计 因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。

多元线性回归模型,(multivariable linear regression model )在实际经济问题中,一个变量往往受到多个变量的影响。例如,家庭消费支出,除了受家庭可支配收入的影响外,还受诸如家庭所有的财富、物价水平、金融机构存款利息等多种因素的影响。

(二)表达式和计算模型

多元线性回归模型的一般形式为

Yi=β0+β1X1i+β2X2i+…+βkXki+μi i=1,2,…,n

其中 k为解释变量的数目,βj(j=1,2,…,k)称为回归系数(regression coefficient)。上式也被称为总体回归函数的随机表达式。它的非随机表达式为

E(Y∣X1i,X2i,…Xki,)=β0+β1X1i+β2X2i+…+βkXki

βj也被称为偏回归系数(partial regression coefficient)

一元线性回归是一个主要影响因素作为自变量来解释因变量的变化,在现实问题研究中,因变量的变化往往受几个重要因素的影响,此时就需要用两个或两个以上的影响因素作为自变量来解释因变量的变化,这就是多元回归亦称多重回归。当多个自变量与因变量之间是线性关系时,所进行的回归分析就是多元线性回归。 设y为因变量X1,X2…Xk为自变量,并且自变量与因变量之间为线性关系时,则多元线性回归模型为:

Y=b0+b1x1+…+bkxk+e

其中, _b_0为常数项,b1,b2…bk为回归系数, _b_1为X1,X2…Xk固定时, _x_1每增加一个单位对y的效应,即 _x_1对y的偏回归系数;同理 _b_2为X1,X2…Xk固定时, _x_2每增加一个单位对y的效应,即, _x_2对y的偏回归系数,等等。如果两个自变量 _x_1, _x_2同一个因变量y呈线相关时,可用二元线性回归模型描述为:

y= b_0 + _b_1 _x_1 + _b_2 _x_2 + _e

建立多元线性回归模型时,为了保证回归模型具有优良的解释能力和预测效果,应首先注意自变量的选择,其准则是:

(1)自变量对因变量必须有显著的影响,并呈密切的线性相关

(2)自变量与因变量之间的线性相关必须是真实的,而不是形式上的;

(3) 自变量之间应具有一定的互斥性,即自变量之间的相关程度不应高于自变量与因变量之间的相关程度;

(4)自变量应具有完整的统计数据,其预测值容易确定。

二、EXCEL求解回归方程

导入房价数据集

多元线性回归算法预测房价

选择其中的area,bathroom,bedroom中的20组数据作为x,以对应的20组房价作为y。

可以看到结果如下

多元线性回归算法预测房价

再次选择不同组别的数据进行生成图表

40组:

多元线性回归算法预测房价

全部数据

多元线性回归算法预测房价

三、用机器学习库Sklearn库重做上面的多元线性回归。

直接求解

import pandas as pd
import numpy as np
import math
import matplotlib.pyplot as plt # 画图
from sklearn import linear_model # 线性模型
data = pd.read_csv('E:\FireFoxDownload\house_prices.csv') #读取数据
data.head() #数据展示

结果

多元线性回归算法预测房价
new_data=data.iloc[:,1:] #除掉id这一列
new_data.head()

多元线性回归算法预测房价
new_data.corr()

多元线性回归算法预测房价

然后取area,bedrooms和bathrooms为X轴,price为Y轴进行线性回归求解。

x_data = new_data.iloc[:, 1:4] #are、bedrooms、bathroom对应列
y_data = new_data.iloc[:, -1] #price对应列
print(x_data, y_data, len(x_data))

多元线性回归算法预测房价
应用模型
model = linear_model.LinearRegression()
model.fit(x_data, y_data)
print("回归系数:", model.coef_)
print("截距:", model.intercept_)
print('回归方程: price=',model.coef_[0],'*area +',model.coef_[1],'*bedrooms +',model.coef_[2],'*bathromms +',model.intercept_)

多元线性回归算法预测房价

可以看到在使用sklearn重做之后的线性回归为

price= 345.9110188400239 *area + -2925.8063246667703 *bedrooms + 7345.39171369394 *bathromms + 10072.107046726975

四、参考文章

sklearn多元线性回归预测房价_醉意丶千层梦的博客-CSDN博客

sklearn线性回归实现房价预测模型 – 臭咸鱼 – 博客园

基于多元线性回归的房价预测_最烦起名字嗄的博客-CSDN博客_多元线性回归模型预测房价

Original: https://blog.csdn.net/dedsec0x/article/details/121079096
Author: dedsec0x
Title: 多元线性回归算法预测房价

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/630774/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球