基于多元线性回归空气质量预测

处理过后的数据

 

 

import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from sklearn.model_selection import learning_curve
from sklearn.model_selection import ShuffleSplit
from sklearn.naive_bayes import GaussianNB
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
# # 设置字体
plt.rcParams["font.sans-serif"] = ["SimHei"]
# 解决图像中的 - 负号乱码的问题
plt.rcParams["axes.unicode_minus"] = False

这里用的data.iloc[:,:]区分训练集和测试集,实际上可以用 train_test_split进行数据分割,后续学习中会改进

data = pd.read_csv('DataSet.csv')
# 提取自变量
x_data = data[['CO','NO2','O3','PM10','PM2.5','SO2']].reset_index(drop = True)

# 提取因变量
y_data = data['AQI'].reset_index(drop=True)

# 添加常量x0
x_data['x0'] = 1

# 分割训练集和测试集
# data1 是训练集 data2 是测试集
data1= data.iloc[653:3265,:]
data2 = data.iloc[0:653,:]
print(data2)
print(data1)

这里的数学公式是根据下图得到的,实际上在sklearn机器学习模型中,应该有相应的Regression算法

# 计算x与x的转置的乘积
xTx = xmatrix.T*xmatrix
print(xTx.shape)

# 求解逆矩阵
if np.linalg.det(xTx) == 0:
    print("对称矩阵非奇异")
else:
    print("矩阵可逆")

# 计算xTx的逆矩阵
xTx1 = xTx.I

# 求解相关系数
A = xTx1 * xmatrix.T * ymatrix

# 测试集data2
data_test = data2[['CO','NO2','O3','PM10','PM2.5','SO2']].reset_index(drop = True)
data_test['x0'] = 1
xtest_narray = np.array(data_test)
xtest_matrix = np.mat(xtest_narray)

# 模型预测 使用参数A 计算预测y值
ytest_predict = xtest_matrix * A

相关系数

画图 

# 绘制预测真实值和误差值 653条数据
# 首先将矩阵转换为数组 data2['date'] ytest_predict data2['AQI']
y_predict = ytest_predict.tolist();
y_value = data2['AQI'].tolist()
x_value = data2.index.tolist()
plt.title("基于多重线性回归空气质量指数预测")
plt.xlabel('样本点')
plt.ylabel('真实之和预测值')
plt.scatter(x_value,y_predict,color = 'y',label='预测值',s=10)
plt.scatter(x_value,y_value,color = 'g',label='真实值',s=2)
plt.legend()
plt.show()

 求解r2_score

from sklearn.metrics import r2_score
R2 = r2_score(y_predict,y_value)
R2

r2_score 的概念

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
基于多元线性回归的股票分析与预测是使用Python进行的一种股票分析方法。在这种方法中,我们使用多个变量作为自变量,来预测股票价格作为因变量。通过分析和建模这些变量之间的关系,可以预测股票价格的走势。 首先,我们需要收集相关的数据,如股票价格、交易量、市场指数、公司财务数据等,作为自变量。然后,我们可以使用Python中的数据处理库(如pandas)来对数据进行清洗、整理和处理,以使其适用于建模。 接下来,我们使用Python中的机器学习库(如scikit-learn)来构建多元线性回归模型。通过拟合这个模型,我们可以获得各个自变量对因变量的权重系数,从而判断它们对股票价格的影响程度。 在建模之后,我们可以使用模型来进行预测。首先,我们需要提供新的自变量数据,如最近一段时间的市场指数、交易量等。然后,通过将这些数据输入到模型中,可以预测股票价格的变化趋势。 最后,我们可以使用Python中的可视化库(如matplotlib)来绘制预测结果和实际数据的对比图。通过观察这些图表,可以评估模型的准确性和可靠性。 总的来说,基于多元线性回归的股票分析与预测是一种使用Python进行股票分析的方法。它能够帮助我们理解各个变量之间的关系,并通过构建一个模型来预测股票价格的变化趋势。这种方法是基于大量历史数据和统计方法的,只能提供一种预测的参考,不能保证100%准确性。因此,在进行实际投资决策时,还需要综合考虑其他因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值