Python预测——多元线性回归

这篇具有很好参考价值的文章主要介绍了Python预测——多元线性回归。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

答辩结束了,把论文里有用的东西摘出来。

多元线性回归

多元线性回归模型:
Python预测——多元线性回归
其中 y 为要预测的变量,x 为影响 y 值的变量,b 为回归系数,计算方式为:
Python预测——多元线性回归
计算结果为一个矩阵,分别对应b0,b1,b2,b3。

实例

对猪肉价格进行预测,即猪肉价格作为 y,选择猪肉价格指数,生猪屠宰量,猪粮比作为相关变量,分别为x1,x2,x3。

数据收集

Python预测——多元线性回归
收集了从2020年5月至2022年2月的相关数据,其中price为猪肉价格,index为猪肉价格指数,作x1,kill为生猪屠宰量,作x2,rate为猪粮比,作x3,录入 excel 中,保存为 csv 文件。

代码

import pandas as pd   # 读数据库
import numpy as np    # 矩阵计算库

# 数据处理
def read_check_data():
    data_before = pd.read_csv(r"E:\python\django_p2\PIG_DATA.csv", encoding='gbk')

    total = data_before.isnull().sum().sort_values(ascending=False)
    print("total")
    print(total)
    # 表中若有空值,则舍弃
    data = data_before.drop(data_before[data_before['kill'].isnull()].index)
    x_first = np.array(data['index'])
    x_second = np.array(data['kill'])
    x_third = np.array(data['rate'])
    y_income = np.array(data['price'])
    return x_first, x_second, x_third, y_income


# 多元线性回归
def multiple_regression(x_first, x_second, x_third, y_income):
    x = range(1, len(x_first) + 1)
    print("矩阵:",list(zip(np.ones(len(y_income)), x_first, x_second, x_third)))
    Y = y_income.T                      # 矩阵
    X = np.array([list(x) for x in zip(np.ones(len(y_income)), x_first, x_second, x_third)])
    B = np.matmul(np.matmul(np.linalg.inv(np.matmul(X.T, X)), X.T), Y)   # (X.T * X)-1 * X.T * Y
    print("B = ", B)
    # 多元线性回归模型
    print("回归方程为 y = %f + %fx1 + %fx2 + %fx3" % (B[0], B[1], B[2], B[3]))
    y_predict = B[0] + B[1] * x_first + B[2] * x_second + B[3] * x_third
    return X, B, y_predict

检验

通过计算可决系数进行多元线性回归方程的拟合优度检验,可决系数是用来反映回归模式可靠程度的一个统计指标,可决系数越大,说明模型的预测值和观测值越接近,模型的拟合优度越好。计算方法如下:
Python预测——多元线性回归
Python预测——多元线性回归


# 检验
def check(y_real, y_predict, X, B):
    y1 = np.sum((y_predict - np.mean(y_real)) ** 2)
    y2 = np.sum((y_real - np.mean(y_real)) ** 2)
    R1 = y1 / y2
    print("可决系数R^2=", R1)

结果

if __name__ == '__main__':
    x_first, x_second, x_third, y_income = read_check_data()
    X, B, y_predict = multiple_regression(x_first, x_second, x_third, y_income)
    check(y_income, y_predict, X, B)

运行结果如下:
Python预测——多元线性回归
最终计算的可决系数约为0.93,说明猪肉价格与价格指数、屠宰量、猪粮比应该存在较高的相关性,且该回归模型的拟合度较高。

通过 excel 计算观察
Python预测——多元线性回归
发现有4组数据预测结果与实际结果相差较大,除此之外,平均误差值为1.13。
结果还可以,如果增加更多的相关变量和数据,误差应该会更小,但数据太太太太太难找了!!!!

本次数据来源

国家统计局
中华人民共和国农业农村部
全国重点农产品市场信息平台
全国农产品批发市场价格信息系统文章来源地址https://www.toymoban.com/news/detail-435788.html

到了这里,关于Python预测——多元线性回归的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Python的多元线性回归分析

    一、多元线性回归分析(Multiple regression) 1.与简单线性回归相比较,具有多个自变量x 2.多元回归模型 其中是误差值,与简单线性回归分析中的要求特点相一致。其余的系数和截距为参数。 3.多元回归方程 4.估计多元回归方程(点估计) 5.估计方法 使方差和最小,即 从而得到一

    2024年02月06日
    浏览(39)
  • 学习记录2-多元线性回归模型(附上python代码)

    研究货运总量 y (万吨)与工业总产值 x1(亿元)、农业总产值 x2(亿元),居民非商品支出 X3 (亿元)的关系。数据见表3-9。 (1)计算出 y , x1 ,x2, x3 的相关系数矩阵。 (2)求 y 关于 x1 ,x2, x3 的三元线性回归方程。 (3)对所求得的方程做拟合优度检验。 (4)对回归方程做

    2024年02月03日
    浏览(43)
  • 多元线性回归(OLS+稳健误)python代码实现

    多元线性回归主要适用于应变量和自变量具有较强的线性关系,且主要研究 因变量(被解释变量) 和 自变量(解释变量) 之间的 相关关系 ,从而达到解释或者预测的作用。而且一般用于处理 横截面数据 ,横截面数据一般为同一时间段的不同对象的数据,比如同一年中的

    2024年02月03日
    浏览(40)
  • 【数学建模】多元线性回归(Python&Matlab代码实现)

    目录 1 概述 2 算例1 2.1 算例 2.2 Python代码实现  2.3 结果 3 算例2  3.1 算例 3.2 Python代码 3.3 结果 4 算例3 4.1 算例 4.2 Python代码 4.3 结果 5 算例4——Matlab代码实现 5.1 算例 5.2 Matlab代码实现 5.3 结果  6 写在最后 一元线性回归模型研究的是一个因变量与一个自变量之间呈直线趋势的

    2023年04月15日
    浏览(48)
  • 【人工智能】多元线性回归模型举例及python实现方式

    比如你做了一个企业想要招人,但是不知道月薪应该定在多少,你做了一个月薪和收入的调研,包括年限、学历、地区和月薪 做一个月薪=w1 年限+w2 学历+w3*城市+…+b的工作年限和薪资的多元线性模型,然后找出最适合线性模型的直线-成本函数、梯度下降方式,来预估你可以

    2024年02月19日
    浏览(56)
  • 多元线性回归的python代码实现(基于sklearn的波士顿房价boston数据集为例)

    基于sklearn自带数据集波士顿房价数据集进行多元线性回归算法代码实现,其数据集包括13个特征向量,共计506个样本集。 本文代码实现步骤如下: 1. 获取数据集 2. 数据集切分,老规矩,80%训练,20%测试 3. 数据预处理(本用例尝试过归一化处理,但发现效果不好,不是每一个

    2024年02月06日
    浏览(50)
  • 机器学习~从入门到精通(二)线性回归算法和多元线性回归

    SimpleLinearRegression.py moduel_selection.py draft.py lin_fit(x,y) lin_fit2(x,y) x.shape y.shape MSE mean squared error 均方误差 R squared error

    2024年02月01日
    浏览(71)
  • Matlab 多元线性回归

    使用matlab对tif格式的遥感影像进行多元线性回归,建立用NDVI、EVI、VV、VH等数据反演地上森林生物量(AGB)的方程。 Y = a 0 + a 1 ∗ X 1 + a 2 ∗ X 2 + ⋅ ⋅ ⋅ + a n ∗ X n Y=a_0+a_1*X_1+a_2*X_2+···+a_n*X_n Y = a 0 ​ + a 1 ​ ∗ X 1 ​ + a 2 ​ ∗ X 2 ​ + ⋅ ⋅ ⋅ + a n ​ ∗ X n ​ 其中 Y Y Y 是

    2024年02月07日
    浏览(39)
  • 多元线性回归算法(matlab)

    b:回归系数点估计 bint:回归系数区间估计 r:残差 rint:置信区间 stats:用于检验的统计量,有三个数值,相关系数r^2,F值,与F对应的概率p alpha:显著性水平(缺省时为0.05) 说明:相关系数r^2越接近1,说明回归方程越显著; F越大,说明回归方程越显著 与F对应的概率pa(显著性水

    2024年02月07日
    浏览(44)
  • GEE:多元线性回归

    作者:CSDN @ _养乐多_ 本文记录了在NDVI、EVI和LAI作为自变量,precipitation作为因变量的条件下,使用linearRegression函数进行线性回归分析的代码,代码在Google Earth Engine(GEE)平台上实现。具体而言,该函数可以计算NDVI、EVI和LAI对precipitation的影响关系。通过线性回归分析,可以了

    2024年02月16日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包